PageSourceSearch

https://thiagovibesp.com/assets/TagPage-C8AO6sM7.js

js thiagovibesp.com collected 2026-10-02 00:57:33 UTC 6,708 bytes, 6 lines download raw bytes

1import{c as L,n as T,r as n,s as u,j as e,N as b,e as _,L as x}from"./index-Gd3ICOax.js";import{S}from"./SEOHead-C7dcErS8.js";import{B as C}from"./Breadcrumbs-Ciz11APc.js";import{F}from"./Footer-wwnpDw4k.js";import{P}from"./package-BVY8ODIx.js";import{F as E}from"./file-text-dqqQ4iPO.js";/**
2 * @license lucide-react v0.462.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 A=L("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]),R=a=>a.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-"),U=a=>a.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" "),p=(a,t)=>a?a.split(",").map(r=>R(r)).includes(t):!1,Q=()=>{const{slug:a}=T(),t=(a||"").toLowerCase(),r=n.useMemo(()=>U(t),[t]),[m,h]=n.useState(!0),[o,y]=n.useState([]),[i,j]=n.useState([]),[c,w]=n.useState([]);if(n.useEffect(()=>{if(!t)return;let s=!1;return h(!0),(async()=>{const l=`%${t.replace(/-/g," ")}%`,g=`%${t}%`,[k,v,$]=await Promise.all([u.from("digital_products").select("id,slug,name,description,image_url,price,keywords").eq("is_active",!0).or(`keywords.ilike.${l},keywords.ilike.${g}`).limit(200),u.from("blog_posts").select("slug,title,excerpt,image_url,published_at,keywords").or(`keywords.ilike.${l},keywords.ilike.${g}`).order("published_at",{ascending:!1}).limit(200),u.from("forum_posts").select("slug,question,answer,keywords,created_at").not("slug","is",null).or(`keywords.ilike.${l},keywords.ilike.${g}`).order("created_at",{ascending:!1}).limit(200)]);s||(y((k.data||[]).filter(d=>p(d.keywords,t))),j((v.data||[]).filter(d=>p(d.keywords,t))),w(($.data||[]).filter(d=>p(d.keywords,t))),h(!1))})(),()=>{s=!0}},[t]),!t)return e.jsx(b,{to:"/about-me",replace:!0});const f=o.length+i.length+c.length;if(!m&&f===0)return e.jsx(b,{to:"/about-me",replace:!0});const N={"@context":"https://schema.org","@type":"CollectionPage",name:`${r} — LUTs, Tutorials & Q&A`,description:`Discover all cinema LUTs, color grading tutorials and forum answers tagged with "${r}".`,url:`https://thiagovibesp.com/tag/${t}`,mainEntity:{"@type":"ItemList",numberOfItems:f,itemListElement:[...o.slice(0,20).map((s,l)=>({"@type":"ListItem",position:l+1,url:`https://thiagovibesp.com/product/${s.slug}`,name:s.name})),...i.slice(0,20).map((s,l)=>({"@type":"ListItem",position:o.length+l+1,url:`https://thiagovibesp.com/blog/${s.slug}`,name:s.title}))]}};return e.jsxs(e.Fragment,{children:[e.jsx(S,{title:`${r} LUTs, Guides & Q&A — ThiagoVibesp`,description:`Browse cinema LUTs, color grading tutorials and forum answers tagged "${r}". Curated for filmmakers using BMPCC, Sony, ARRI, RED, Canon and more.`,path:`/tag/${t}`,keywords:`${r}, ${r} LUTs, ${r} color grading, ${r} tutorial`,breadcrumbs:[{name:"Home",path:"/"},{name:"Tags",path:"/tag"},{name:r}],children:e.jsx("script",{type:"application/ld+json",children:JSON.stringify(N)})}),e.jsxs("div",{className:"min-h-screen bg-background pt-20",children:[e.jsxs("div",{className:"max-w-6xl mx-auto px-4 py-10",children:[e.jsx(C,{items:[{name:"Home",path:"/"},{name:"Tags",path:"/tag"},{name:r}]}),e.jsxs("header",{className:"mb-10 mt-4",children:[e.jsx("p",{className:"text-primary text-xs uppercase tracking-[0.3em] mb-2 font-body",children:"Topic"}),e.jsx("h1",{className:"text-5xl md:text-7xl font-display tracking-wider text-foreground leading-none mb-4",children:r}),e.jsxs("p",{className:"text-muted-foreground text-base md:text-lg max-w-3xl",children:["Everything tagged with ",e.jsx("span",{className:"text-foreground font-semibold",children:r})," — cinema LUTs, color grading tutorials and filmmaker Q&A from the ThiagoVibesp library."]}),!m&&e.jsxs("p",{className:"text-sm text-muted-foreground mt-3",children:[o.length," product",o.length!==1&&"s"," ·"," ",i.length," article",i.length!==1&&"s"," ·"," ",c.length," forum thread",c.length!==1&&"s"]})]}),m?e.jsx("div",{className:"flex justify-center py-20",children:e.jsx(_,{className:"h-8 w-8 animate-spin text-primary"})}):e.jsxs("div",{className:"space-y-14",children:[o.length>0&&e.jsxs("section",{"aria-labelledby":"tag-products",children:[e.jsxs("h2",{id:"tag-products",className:"flex items-center gap-2 text-2xl md:text-3xl font-display tracking-wider text-foreground mb-5",children:[e.jsx(P,{className:"h-6 w-6 text-primary"})," Products"]}),e.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:o.map(s=>e.jsxs(x,{to:`/product/${s.slug}`,className:"group block rounded-xl border border-border bg-card/70 overflow-hidden hover:border-primary/60 transition-colors",children:[s.image_url&&e.jsx("img",{src:s.image_url,alt:s.name,loading:"lazy",className:"w-full aspect-video object-cover"}),e.jsxs("div",{className:"p-4",children:[e.jsx("h3",{className:"text-base font-semibold text-foreground line-clamp-2 group-hover:text-primary transition-colors",children:s.name}),s.price!=null&&e.jsxs("p",{className:"text-primary mt-1 text-sm",children:["$",Number(s.price).toFixed(2)]})]})]},s.id))})]}),i.length>0&&e.jsxs("section",{"aria-labelledby":"tag-blogs",children:[e.jsxs("h2",{id:"tag-blogs",className:"flex items-center gap-2 text-2xl md:text-3xl font-display tracking-wider text-foreground mb-5",children:[e.jsx(E,{className:"h-6 w-6 text-primary"})," Articles"]}),e.jsx("ul",{className:"space-y-3",children:i.map(s=>e.jsx("li",{children:e.jsxs(x,{to:`/blog/${s.slug}`,className:"block rounded-lg border border-border bg-card/70 p-4 hover:border-primary/60 transition-colors",children:[e.jsx("h3",{className:"text-base md:text-lg font-semibold text-foreground hover:text-primary transition-colors",children:s.title}),s.excerpt&&e.jsx("p",{className:"text-sm text-muted-foreground mt-1 line-clamp-2",children:s.excerpt})]})},s.slug))})]}),c.length>0&&e.jsxs("section",{"aria-labelledby":"tag-forums",children:[e.jsxs("h2",{id:"tag-forums",className:"flex items-center gap-2 text-2xl md:text-3xl font-display tracking-wider text-foreground mb-5",children:[e.jsx(A,{className:"h-6 w-6 text-primary"})," Forum Q&A"]}),e.jsx("ul",{className:"space-y-3",children:c.map(s=>e.jsx("li",{children:e.jsxs(x,{to:`/forum/${s.slug}`,className:"block rounded-lg border border-border bg-card/70 p-4 hover:border-primary/60 transition-colors",children:[e.jsx("h3",{className:"text-base md:text-lg font-semibold text-foreground hover:text-primary transition-colors",children:s.question}),s.answer&&e.jsx("p",{className:"text-sm text-muted-foreground mt-1 line-clamp-2",children:s.answer})]})},s.slug))})]})]})]}),e.jsx(F,{})]})]})};export{Q 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.