1import{c as u,r,f as c,u as g,g as b,j as t,h as w,m as d,L as f,F as j}from"./index-gWaPCeHm.js";import{B as v,C as N}from"./Breadcrumbs-CPj3nVu0.js";import{C as y}from"./calendar-BWlR86DE.js";import{C as A}from"./clock-qUTUfC15.js";/** 2 * @license lucide-react v0.562.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const C=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],I=u("search",C),k=s=>{const l=new Date(s);return isNaN(l.getTime())?s:l.toISOString().slice(0,10)},L=()=>{const[s,l]=r.useState("all"),[o,m]=r.useState(""),i=r.useMemo(()=>c.flatMap(e=>e.blogPosts.map(a=>({...a,app:e}))).sort((e,a)=>new Date(a.date).getTime()-new Date(e.date).getTime()),[]),h=r.useMemo(()=>c.filter(e=>e.blogPosts.length>0),[]),n=r.useMemo(()=>{const e=o.trim().toLowerCase();return i.filter(a=>{const x=s==="all"||a.app.id===s,p=e===""||a.title.toLowerCase().includes(e)||a.excerpt.toLowerCase().includes(e)||a.app.name.toLowerCase().includes(e);return x&&p})},[i,s,o]);return g({title:"Blog â AI App Guides, Tutorials & Deep Dives | AIFlowApps",description:"Every article from the AIFlowApps studio in one place: AI calorie tracking, video generation, ASO, habit building, content creation, and more. Tutorials and deep dives across all our apps.",ogUrl:"https://aiflowapps.com/blog",ogType:"website",canonicalUrl:"https://aiflowapps.com/blog"}),b({"@context":"https://schema.org","@type":"Blog",name:"AIFlowApps Blog",description:"Guides, tutorials, and deep dives across all AIFlowApps products â nutrition, video, ASO, habits, photo, audio, geology, and content creation.",url:"https://aiflowapps.com/blog",publisher:{"@type":"Organization",name:"AIFlowApps",url:"https://aiflowapps.com",logo:{"@type":"ImageObject",url:"https://aiflowapps.com/aiflow-logo.png"}},blogPost:i.slice(0,50).map(e=>({"@type":"BlogPosting",headline:e.title,description:e.excerpt,url:`https://aiflowapps.com${e.app.path}/blog/${e.id}`,datePublished:k(e.date),author:{"@type":"Person",name:e.author||"Ãmit Kar"},...e.image?{image:e.image}:{}}))}),t.jsxs("div",{className:"min-h-screen bg-background text-white",children:[t.jsx(w,{}),t.jsx("section",{className:"relative pt-32 pb-12 px-6 overflow-hidden",children:t.jsxs("div",{className:"max-w-5xl mx-auto relative z-10",children:[t.jsx(v,{items:[{name:"Home",path:"/"},{name:"Blog"}]}),t.jsxs(d.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.6,ease:"easeOut"},children:[t.jsx("h1",{className:"text-4xl md:text-6xl font-bold mb-4 tracking-tight",children:"The AIFlowApps Blog"}),t.jsxs("p",{className:"text-xl text-slate-400 font-light max-w-2xl",children:["Guides, tutorials, and deep dives from across all our AI apps â ",i.length," articles and counting."]})]})]})}),t.jsx("section",{className:"px-6",children:t.jsxs("div",{className:"max-w-5xl mx-auto",children:[t.jsxs("div",{className:"relative mb-6 max-w-md",children:[t.jsx(I,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-500"}),t.jsx("input",{type:"text",value:o,onChange:e=>m(e.target.value),placeholder:"Search articles...","aria-label":"Search articles",className:"w-full bg-white/5 border border-white/10 rounded-full pl-11 pr-4 py-2.5 text-sm text-white placeholder:text-slate-500 focus:outline-none focus:border-white/25 transition-colors"})]}),t.jsxs("div",{className:"flex flex-wrap gap-2 mb-10",children:[t.jsxs("button",{onClick:()=>l("all"),className:`px-4 py-1.5 rounded-full text-sm font-medium transition-all border ${s==="all"?"bg-white text-black border-white":"bg-white/5 text-slate-300 border-white/10 hover:border-white/25"}`,children:["All (",i.length,")"]}),h.map(e=>t.jsxs("button",{onClick:()=>l(e.id),className:`px-4 py-1.5 rounded-full text-sm font-medium transition-all border ${s===e.id?"bg-white text-black border-white":"bg-white/5 text-slate-300 border-white/10 hover:border-white/25"}`,children:[e.name," (",e.blogPosts.length,")"]},e.id))]})]})}),t.jsx("section",{className:"pb-32 px-6",children:t.jsx("div",{className:"max-w-5xl mx-auto",children:n.length===0?t.jsx("div",{className:"text-center py-20 bg-white/5 rounded-2xl",children:t.jsx("p",{className:"text-slate-400",children:"No articles match your search."})}):t.jsx("div",{className:"grid gap-6 sm:grid-cols-2",children:n.map((e,a)=>t.jsx(d.article,{initial:{opacity:0,y:16}
6,animate:{opacity:1,y:0},transition:{delay:Math.min(a*.04,.4),duration:.4},className:"group relative bg-white/5 border border-white/10 rounded-2xl overflow-hidden hover:border-white/20 transition-all flex flex-col",children:t.jsxs(f,{to:`${e.app.path}/blog/${e.id}`,className:"flex flex-col h-full",children:[e.image&&t.jsx("div",{className:"h-44 overflow-hidden",children:t.jsx("img",{src:e.image,alt:e.title,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500",loading:"lazy"})}),t.jsxs("div",{className:"p-6 flex flex-col flex-1",children:[t.jsxs("div",{className:"flex items-center gap-3 text-xs font-medium text-slate-500 mb-3 uppercase tracking-wider",children:[t.jsx("span",{className:"text-primary",children:e.app.name}),t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx(y,{className:"w-3 h-3"})," ",e.date]}),t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx(A,{className:"w-3 h-3"})," ",e.readTime]})]}),t.jsx("h2",{className:"text-lg font-bold text-white mb-2 group-hover:text-primary transition-colors leading-snug",children:e.title}),t.jsx("p",{className:"text-sm text-slate-400 mb-4 leading-relaxed line-clamp-3",children:e.excerpt}),t.jsxs("span",{className:"mt-auto inline-flex items-center text-white text-sm font-medium group-hover:underline",children:["Read Article ",t.jsx(N,{className:"w-4 h-4 ml-1"})]})]})]})},`${e.app.id}-${e.id}`))})})}),t.jsx(j,{})]})};export{L as default};
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.