biohazard-vfx/.next/static/chunks/app/page-fda58306735a80b9.js
Nicholai 7ed45d15da
Some checks failed
Build and Push to Docker Hub / Push Docker image to Docker Hub (push) Has been cancelled
Build and Push Docker Image / build-and-push (push) Has been cancelled
Dockerized baby
2025-08-19 05:35:01 -06:00

1 line
11 KiB
JavaScript

(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{16876:(e,t,s)=>{"use strict";s.d(t,{R:()=>l});var a=s(12115),r=s(49509);async function l(e){let t=await fetch("/api/assets?key=".concat(encodeURIComponent(e)));return t.ok?t.json():null}(0,a.cache)(async e=>{try{let t=r.env.NEXT_PUBLIC_APP_URL||"",s=await fetch("".concat(t,"/api/assets?key=").concat(encodeURIComponent(e)),{next:{revalidate:300}});if(!s.ok)return null;return s.json()}catch(e){return null}})},25228:(e,t,s)=>{"use strict";s.d(t,{default:()=>d});var a=s(95155),r=s(12115),l=s(6874),c=s.n(l),n=s(29706),i=s(32941),o=s(49903);function d(){let[e,t]=(0,r.useState)([]),[s,l]=(0,r.useState)(!0),[d,x]=(0,r.useState)(null);return((0,r.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/blog?limit=3");if(!e.ok)throw Error("Failed to fetch blog posts");let s=await e.json();t(s)}catch(e){console.error("Error fetching blog posts:",e),x("Failed to load blog posts")}finally{l(!1)}})()},[]),s)?(0,a.jsx)(i.wn,{className:"bg-surface-900",children:(0,a.jsxs)(i.mc,{children:[(0,a.jsx)("h2",{className:"text-3xl font-display tracking-tight text-white mb-8 text-center",children:"Latest from the Blog"}),(0,a.jsx)("div",{className:"text-center py-8",children:(0,a.jsx)("p",{className:"text-text-muted",children:"Loading posts..."})})]})}):d?(0,a.jsx)(i.wn,{className:"bg-surface-900",children:(0,a.jsxs)(i.mc,{children:[(0,a.jsx)("h2",{className:"text-3xl font-display tracking-tight text-white mb-8 text-center",children:"Latest from the Blog"}),(0,a.jsx)("div",{className:"text-center py-8",children:(0,a.jsx)("p",{className:"text-red-500",children:d})})]})}):(0,a.jsx)(i.wn,{className:"bg-surface-900",children:(0,a.jsxs)(i.mc,{children:[(0,a.jsx)("h2",{className:"text-3xl font-display tracking-tight text-white mb-8 text-center",children:"Latest from the Blog"}),(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:e.map(e=>{let t=new Date(e.publishedAt).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"});return(0,a.jsxs)(c(),{href:"/blog/".concat(e.slug),className:"group card transition-colors duration-200 hover:border-accent/30",style:{border:"1px solid transparent"},children:[(0,a.jsx)("div",{className:"relative aspect-photo rounded overflow-hidden mb-4",children:(0,a.jsx)(n.default,{src:e.coverImage||"",alt:e.title,fill:!0,className:"object-cover transition-transform duration-500 group-hover:scale-105",placeholderText:"Blog Cover"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-accent text-xs font-medium mb-2",children:t}),(0,a.jsx)("h3",{className:"text-white text-lg font-bold mb-2",children:e.title}),(0,a.jsx)("p",{className:"text-text-muted text-sm line-clamp-3",children:e.excerpt||"Read more about our latest work and insights."})]})]},e.id)})}),(0,a.jsx)("div",{className:"text-center mt-10",children:(0,a.jsx)(o.z9,{href:"/blog",variant:"ghost",children:"Read All Posts"})})]})})}},29706:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>c});var a=s(95155),r=s(66766),l=s(12115);function c(e){let{src:t,alt:s="Image",placeholderText:c="Image Coming Soon",placeholderSize:n,...i}=e,[o,d]=(0,l.useState)(!1),{width:x,height:m,fill:h}=i,u=(0,l.useMemo)(()=>{let e="number"==typeof x?x:(null==n?void 0:n.width)||1200,t="number"==typeof m?m:(null==n?void 0:n.height)||(h?675:800),s=encodeURIComponent(c);return"https://placehold.co/".concat(e,"x").concat(t,"/111113/CCCCCC?text=").concat(s)},[x,m,h,n,c]),p=!t||""===t.trim()||o?u:t;return(0,a.jsx)(r.default,{...i,src:p,alt:s,onError:()=>d(!0)})}},32941:(e,t,s)=>{"use strict";s.d(t,{mc:()=>c,wn:()=>l,xA:()=>n,zY:()=>r});var a=s(95155);function r(e){let{title:t,subtitle:s,actions:r}=e;return(0,a.jsx)("div",{className:"mb-6",children:(0,a.jsxs)("div",{className:"flex items-start justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-3xl font-display tracking-tight text-white mb-2",children:t}),s&&(0,a.jsx)("p",{className:"text-text-muted text-base max-w-3xl",children:s})]}),r&&(0,a.jsx)("div",{className:"flex items-center gap-2",children:r})]})})}function l(e){let{children:t,className:s=""}=e;return(0,a.jsx)("section",{className:"section-spacing ".concat(s),children:t})}function c(e){let{children:t,className:s=""}=e;return(0,a.jsx)("div",{className:"w-full px-4 sm:px-6 lg:px-8 ".concat(s),children:t})}function n(e){let{children:t,cols:s=3,gap:r="md",className:l=""}=e;return(0,a.jsx)("div",{className:"grid ".concat({1:"grid-cols-1",2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4"}[s]," ").concat({sm:"gap-3",md:"gap-4",lg:"gap-6"}[r]," ").concat(l),children:t})}s(12115)},49903:(e,t,s)=>{"use strict";s.d(t,{$n:()=>c,z9:()=>n});var a=s(95155),r=s(6874),l=s.n(r);function c(e){let{variant:t="primary",size:s="md",isLoading:r=!1,children:l,className:c="",disabled:n,...i}=e;return(0,a.jsx)("button",{className:"".concat({primary:"btn-primary",secondary:"btn-secondary",ghost:"btn-ghost",danger:"btn bg-red-500 hover:bg-red-600 text-white"}[t]," ").concat({sm:"px-2 py-1 text-xs",md:"px-3 py-1.5 text-sm",lg:"px-4 py-2 text-base"}[s]," ").concat(c," ").concat(r?"opacity-75 cursor-wait":""),disabled:n||r,...i,children:r?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)("span",{className:"spinner w-3 h-3"}),"Loading..."]}):l})}function n(e){let{variant:t="primary",size:s="md",children:r,className:c="",href:n="#",...i}=e;return(0,a.jsx)(l(),{href:n,className:"".concat({primary:"btn-primary",secondary:"btn-secondary",ghost:"btn-ghost"}[t]," ").concat({sm:"px-2 py-1 text-xs",md:"px-3 py-1.5 text-sm",lg:"px-4 py-2 text-base"}[s]," ").concat(c),...i,children:r})}s(12115)},58914:(e,t,s)=>{"use strict";s.d(t,{default:()=>d});var a=s(95155),r=s(12115),l=s(6874),c=s.n(l),n=s(29706),i=s(32941),o=s(49903);function d(){let[e,t]=(0,r.useState)([]),[s,l]=(0,r.useState)(!0),[d,x]=(0,r.useState)(null);return((0,r.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let s=(await e.json()).filter(e=>!0===e.featured);t(s)}catch(e){console.error("Error fetching projects:",e),x("Failed to load projects")}finally{l(!1)}})()},[]),s)?(0,a.jsx)(i.wn,{className:"bg-surface-900",children:(0,a.jsxs)(i.mc,{children:[(0,a.jsx)("h2",{className:"text-3xl font-display tracking-tight text-white mb-8 text-center",children:"Selected Projects"}),(0,a.jsx)("div",{className:"text-center py-8",children:(0,a.jsx)("p",{className:"text-text-muted",children:"Loading projects..."})})]})}):d?(0,a.jsx)(i.wn,{className:"bg-surface-900",children:(0,a.jsxs)(i.mc,{children:[(0,a.jsx)("h2",{className:"text-3xl font-display tracking-tight text-white mb-8 text-center",children:"Selected Projects"}),(0,a.jsx)("div",{className:"text-center py-8",children:(0,a.jsx)("p",{className:"text-red-500",children:d})})]})}):(0,a.jsx)(i.wn,{className:"bg-surface-900",children:(0,a.jsxs)(i.mc,{children:[(0,a.jsx)("h2",{className:"text-3xl font-display tracking-tight text-white mb-8 text-center",children:"Selected Projects"}),(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:e.map(e=>{let t=new Date(e.createdAt).getFullYear().toString();return(0,a.jsxs)(c(),{href:"/projects/".concat(e.id),className:"group relative overflow-hidden rounded-lg transition-colors duration-200 hover:border-accent/30",style:{border:"1px solid transparent"},children:[(0,a.jsxs)("div",{className:"aspect-cinema relative overflow-hidden",children:[(0,a.jsx)(n.default,{src:e.thumbnail,alt:e.title,fill:!0,className:"object-cover transition-transform duration-500 group-hover:scale-105",placeholderText:"Project Thumbnail"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent opacity-70"})]}),(0,a.jsxs)("div",{className:"absolute bottom-0 left-0 right-0 p-5",children:[(0,a.jsxs)("p",{className:"text-accent text-xs font-medium mb-1",children:[e.category||"Project"," • ",t]}),(0,a.jsx)("h3",{className:"text-white text-xl font-bold mb-1",children:e.title}),(0,a.jsx)("p",{className:"text-text-muted text-sm line-clamp-2",children:e.description||"A showcase of our visual effects work."})]}),e.featured&&(0,a.jsx)("div",{className:"absolute top-3 left-3",children:(0,a.jsx)("span",{className:"badge badge-accent text-xs",children:"FEATURED"})})]},e.id)})}),(0,a.jsx)("div",{className:"text-center mt-10",children:(0,a.jsx)(o.z9,{href:"/projects",variant:"primary",children:"View All Projects"})})]})})}},82045:(e,t,s)=>{"use strict";s.d(t,{default:()=>i});var a=s(95155),r=s(12115),l=s(16876),c=s(32941),n=s(49903);function i(){let e=(0,r.useRef)(null),[t,s]=(0,r.useState)("/videos/reel.mp4");return(0,r.useEffect)(()=>{(0,l.R)("home.showreel.video").then(e=>{(null==e?void 0:e.url)&&s(e.url)})},[]),(0,a.jsxs)("section",{className:"relative h-screen overflow-hidden",children:[(0,a.jsxs)("div",{className:"absolute inset-0",children:[(0,a.jsx)("video",{ref:e,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:"w-full h-full object-cover",children:(0,a.jsx)("source",{src:t,type:"video/mp4"})}),(0,a.jsx)("div",{className:"absolute inset-0 bg-black/50"})]}),(0,a.jsx)(c.mc,{className:"relative h-full flex items-center",children:(0,a.jsxs)("div",{className:"max-w-2xl",children:[(0,a.jsx)("h1",{className:"text-5xl md:text-6xl lg:text-7xl text-white tracking-tight font-brand font-black uppercase mb-4",children:"BIOHAZARD"}),(0,a.jsx)("p",{className:"text-lg md:text-xl text-text-muted tracking-wide font-brand font-light mb-8",children:"Visual Effects Studio"}),(0,a.jsx)(n.z9,{href:"/projects",variant:"primary",children:"View Our Work"})]})})]})}},86578:(e,t,s)=>{"use strict";s.d(t,{default:()=>i});var a=s(95155),r=s(12115),l=s(32941),c=s(29706),n=s(16876);function i(e){let{clientAssetKeys:t}=e,[s,i]=(0,r.useState)([]);return(0,r.useEffect)(()=>{(async()=>{i((await Promise.all(t.map(async e=>{let t=await (0,n.R)(e);return t?{name:t.label||t.key,logoUrl:t.url}:null}))).filter(Boolean))})()},[t]),(0,a.jsx)(l.wn,{className:"bg-surface-900 py-8",children:(0,a.jsx)(l.mc,{children:(0,a.jsx)("div",{className:"flex flex-wrap justify-center gap-8 md:gap-12",children:s.map((e,t)=>(0,a.jsx)("div",{className:"flex items-center justify-center opacity-60 hover:opacity-100 transition-opacity",children:(0,a.jsx)(c.default,{src:e.logoUrl,alt:"".concat(e.name," logo"),width:200,height:72,className:"h-8 md:h-10 w-auto object-contain",placeholderText:e.name,placeholderSize:{width:200,height:72}})},t))})})})}},94186:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,6874,23)),Promise.resolve().then(s.bind(s,25228)),Promise.resolve().then(s.bind(s,86578)),Promise.resolve().then(s.bind(s,82045)),Promise.resolve().then(s.bind(s,58914)),Promise.resolve().then(s.bind(s,29706))}},e=>{e.O(0,[6874,6766,8441,5964,7358],()=>e(e.s=94186)),_N_E=e.O()}]);