1import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./utils-B31ffWAb.js";import{t as r}from"./arrow-right-d8QtdWnf.js";import{t as i}from"./UnifiedNavbar-DKNVSa2L.js";import{F as a,Q as o,i as s}from"./index-5HjMTCY1.js";import{t as c}from"./Footer-CRYRMyT7.js";import{t as l}from"./format-Ilt5-1Z9.js";var u=e(t(),1),d=n(),f=e=>e.toLowerCase().replace(/[^a-z0-9\s-]/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).trim(),p=()=>{let[e,t]=(0,u.useState)([]),[n,p]=(0,u.useState)([]),[m,h]=(0,u.useState)(!0),[g,_]=(0,u.useState)(`All`),[v,y]=(0,u.useState)([`All`]),b=async()=>{h(!0);try{let{data:e,error:n}=await o.from(`blog_posts`).select(`*`).eq(`is_published`,!0).order(`publish_date`,{ascending:!1});if(n){console.error(`Error fetching blog posts:`,n);return}if(t(e||[]),p(e||[]),e&&e.length>0){let t=new Set;e.forEach(e=>{e.tags&&Array.isArray(e.tags)&&e.tags.forEach(e=>{e&&e.trim()&&t.add(e.trim())})}),y([`All`,...Array.from(t).sort()])}}catch(e){console.error(`Error fetching blog posts:`,e)}finally{h(!1)}};(0,u.useEffect)(()=>{b()},[]),(0,u.useEffect)(()=>{if(g===`All`)p(e);else{let t=e.filter(e=>e.tags&&Array.isArray(e.tags)&&e.tags.some(e=>e.trim()===g));p(t)}},[g,e]);let x=`/lovable-uploads/5eb71ed3-ed62-487f-877e-88d474bc850f.png`;return(0,d.jsxs)(`div`,{className:`min-h-screen bg-background font-poppins`,children:[(0,d.jsxs)(a,{children:[(0,d.jsx)(`title`,{children:`AI Storyteller & UGC Marketing Blog | SushiLab`}),(0,d.jsx)(`meta`,{name:`description`,content:`Guides on AI spokespersons, AI influencers, UGC ads, and brand storytelling â how to plan, produce, and scale AI video content that converts.`}),(0,d.jsx)(`link`,{rel:`canonical`,href:`https://sushilab.ai/blog`}),(0,d.jsx)(`meta`,{property:`og:url`,content:`https://sushilab.ai/blog`}),(0,d.jsx)(`meta`,{property:`og:title`,content:`AI Storyteller & UGC Marketing Blog | SushiLab`}),(0,d.jsx)(`meta`,{property:`og:description`,content:`Read our latest blog posts featuring insights, stories, and updates on AI content creation.`}),(0,d.jsx)(`meta`,{property:`og:type`,content:`website`}),(0,d.jsx)(`meta`,{property:`og:image`,content:x}),(0,d.jsx)(`meta`,{name:`twitter:card`,content:`summary_large_image`}),(0,d.jsx)(`meta`,{name:`twitter:title`,content:`Blog - SushiLab.ai Insights & Updates`}),(0,d.jsx)(`meta`,{name:`twitter:image`,content:x}),e.length>0&&(0,d.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`Blog`,name:`SushiLab.ai Blog`,url:window.location.href,blogPost:e.map(e=>({"@type":`BlogPosting`,headline:e.title,author:{"@type":`Person`,name:e.author_name},datePublished:e.publish_date,url:`https://sushilab.ai/blog/${f(e.title)}`}))})})]}),(0,d.jsx)(i,{}),(0,d.jsx)(`nav`,{"aria-label":`Breadcrumb`,className:`hidden md:block w-full px-4 md:px-10 pt-6 mt-20`,children:(0,d.jsxs)(`ol`,{className:`flex items-center space-x-2 text-sm text-muted-foreground`,children:[(0,d.jsx)(`li`,{children:(0,d.jsx)(s,{to:`/`,className:`hover:text-primary`,children:`Home`})}),(0,d.jsx)(`li`,{className:`before:content-['/'] before:mx-2`,"aria-current":`page`,children:(0,d.jsx)(`span`,{className:`text-foreground font-medium`,children:`Blog`})})]})}),(0,d.jsxs)(`main`,{className:`container mx-auto px-4 py-8 md:py-16 max-w-7xl mt-12 md:mt-8`,role:`main`,children:[(0,d.jsxs)(`header`,{className:`text-center mb-12 md:mb-16 mt-8 md:mt-0`,children:[(0,d.jsx)(`div`,{className:`w-20 h-2 bg-blue-500 rounded-full mx-auto mb-6`,"aria-hidden":`true`}),(0,d.jsx)(`h1`,{className:`text-3xl md:text-5xl font-medium text-foreground leading-tight mb-6 font-poppins`,children:`Insights & Updates`}),(0,d.jsx)(`p`,{className:`text-lg md:text-xl text-muted-foreground max-w-3xl mx-auto font-poppins`,children:`Stories, guides, and ideas on AI content creation, digital storytelling, and growing your brand with video.`})]}),v.length>1&&(0,d.jsx)(`section`,{className:`mb-8`,"aria-label":`Tag filters`,children:(0,d.jsx)(`div`,{className:`flex flex-wrap justify-center gap-3 mb-8`,children:v.map(e=>(0,d.jsx)(`button`,{onClick:()=>_(e),className:`px-4 py-2 rounded-full text-sm font-medium transition-all duration-200 ${g===e?`bg-[#516
1FF7] text-white shadow-lg`:`bg-gray-100 text-gray-700 hover:bg-gray-200`}`,children:e},e))})}),(0,d.jsx)(`section`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-6 gap-y-12`,"aria-label":`Blog posts`,children:m?(0,d.jsx)(`div`,{className:`col-span-full flex justify-center items-center py-12`,children:(0,d.jsx)(`div`,{className:`text-muted-foreground font-poppins`,children:`Loading postsâ¦`})}):n.length===0?(0,d.jsxs)(`div`,{className:`col-span-full text-center py-24`,children:[(0,d.jsx)(`p`,{className:`text-muted-foreground text-lg mb-2`,children:`No blog posts found`}),(0,d.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Check back soon for our latest content!`})]}):(g===`All`?[...n].sort((e,t)=>Number(!!t.is_featured)-Number(!!e.is_featured)):n).map(e=>{let t=e.cover_image_url||e.cover_image_thumb_url||x,n=e.tags&&e.tags.length>0?e.tags[0]:`Article`,i=!!e.is_featured&&g===`All`;return(0,d.jsxs)(s,{to:`/blog/${f(e.title)}`,className:`group block h-full ${i?`md:col-span-2 lg:col-span-3`:``}`,children:[i?(0,d.jsxs)(`article`,{className:`hidden md:flex bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 group-hover:shadow-xl h-[320px] flex-row`,children:[(0,d.jsxs)(`div`,{className:`relative h-full w-1/2 bg-white p-3 flex-shrink-0`,children:[(0,d.jsxs)(`div`,{className:`absolute top-6 left-6 z-10 px-3 py-1.5 bg-yellow-400 text-yellow-900 rounded-full flex items-center gap-1.5 text-xs font-semibold shadow-xs`,children:[(0,d.jsx)(r,{className:`w-3.5 h-3.5`}),`Featured`]}),(0,d.jsxs)(`div`,{className:`relative w-full h-full rounded-xl overflow-hidden`,children:[(0,d.jsx)(`img`,{src:t,alt:e.title,className:`w-full h-full object-cover`,loading:`lazy`}),(0,d.jsx)(`div`,{className:`absolute inset-0 bg-black/10 group-hover:bg-black/30 flex items-center justify-center transition-all duration-300`,children:(0,d.jsxs)(`div`,{className:`px-4 py-2 bg-[#516FF7] rounded-full flex items-center gap-2 opacity-0 group-hover:opacity-100 group-hover:scale-110 transition-all duration-300`,children:[(0,d.jsx)(`span`,{className:`text-sm font-medium text-white`,children:`Read`}),(0,d.jsx)(r,{className:`w-4 h-4 text-white`})]})})]})]}),(0,d.jsxs)(`div`,{className:`p-6 md:p-10 md:w-1/2 flex-1 flex flex-col justify-center`,children:[(0,d.jsx)(`div`,{className:`mb-3`,children:(0,d.jsx)(`span`,{className:`inline-block px-3 py-1 rounded-full text-xs font-medium bg-blue-100 text-blue-700`,children:n})}),(0,d.jsx)(`h3`,{className:`text-3xl md:text-4xl font-semibold text-foreground mb-3 font-poppins group-hover:text-[#516FF7] transition-colors leading-tight`,children:e.title}),(0,d.jsxs)(`p`,{className:`text-muted-foreground text-base md:text-lg font-poppins`,children:[`By `,e.author_name,` ⢠`,l(new Date(e.publish_date),`MMM dd, yyyy`)]})]})]}):null,i?(0,d.jsxs)(`article`,{className:`md:hidden bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 group-hover:shadow-xl group-hover:scale-105 h-full flex flex-col`,children:[(0,d.jsx)(`div`,{className:`relative aspect-video bg-white p-3 flex-shrink-0`,children:(0,d.jsxs)(`div`,{className:`relative w-full h-full rounded-xl overflow-hidden`,children:[(0,d.jsx)(`img`,{src:t,alt:e.title,className:`w-full h-full object-cover`,loading:`lazy`}),(0,d.jsx)(`div`,{className:`absolute inset-0 bg-black/10 group-hover:bg-black/30 flex items-center justify-center transition-all duration-300`,children:(0,d.jsxs)(`div`,{className:`px-4 py-2 bg-[#516FF7] rounded-full flex items-center gap-2 opacity-0 group-hover:opacity-100 group-hover:scale-110 transition-all duration-300`,children:[(0,d.jsx)(`span`,{className:`text-sm font-medium text-white`,children:`Read`}),(0,d.jsx)(r,{className:`w-4 h-4 text-white`})]})})]})}),(0,d.jsxs)(`div`,{className:`p-6 flex-1 flex flex-col`,children:[(0,d.jsx)(`div`,{className:`mb-3`,children:(0,d.jsx)(`span`,{className:`inline-block px-3 py-1 rounded-full text-xs font-medium bg-blue-100 text-blue-700`,children:n})}),(0,d.jsx)(`h3`,{className:`text-xl font-semibold text-foreground mb-2 font-poppins group-hover:text-[#516FF7] transition-colors flex-1 leading-tight`,children:e.title}),(0,d.jsxs)(`p`,{className:`text-muted-foreground text-sm font-poppins mt-auto`,children:[`By `,e.author_name,` ⢠`,l(new Date(e.publish_date),`MM
1M dd, yyyy`)]})]})]}):(0,d.jsxs)(`article`,{className:`bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 group-hover:shadow-xl group-hover:scale-105 h-full flex flex-col`,children:[(0,d.jsx)(`div`,{className:`relative aspect-video bg-white p-3 flex-shrink-0`,children:(0,d.jsxs)(`div`,{className:`relative w-full h-full rounded-xl overflow-hidden`,children:[(0,d.jsx)(`img`,{src:t,alt:e.title,className:`w-full h-full object-cover`,loading:`lazy`}),(0,d.jsx)(`div`,{className:`absolute inset-0 bg-black/10 group-hover:bg-black/30 flex items-center justify-center transition-all duration-300`,children:(0,d.jsxs)(`div`,{className:`px-4 py-2 bg-[#516FF7] rounded-full flex items-center gap-2 opacity-0 group-hover:opacity-100 group-hover:scale-110 transition-all duration-300`,children:[(0,d.jsx)(`span`,{className:`text-sm font-medium text-white`,children:`Read`}),(0,d.jsx)(r,{className:`w-4 h-4 text-white`})]})})]})}),(0,d.jsxs)(`div`,{className:`p-6 flex-1 flex flex-col`,children:[(0,d.jsx)(`div`,{className:`mb-3`,children:(0,d.jsx)(`span`,{className:`inline-block px-3 py-1 rounded-full text-xs font-medium bg-blue-100 text-blue-700`,children:n})}),(0,d.jsx)(`h3`,{className:`text-xl font-semibold text-foreground mb-2 font-poppins group-hover:text-[#516FF7] transition-colors flex-1 leading-tight`,children:e.title}),(0,d.jsxs)(`p`,{className:`text-muted-foreground text-sm font-poppins mt-auto`,children:[`By `,e.author_name,` ⢠`,l(new Date(e.publish_date),`MMM dd, yyyy`)]})]})]})]},e.id)})})]}),(0,d.jsx)(c,{})]})};export{p as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.