biohazard-vfx/.next/static/chunks/app/page-3043a2b4592f9427.js
Nicholai 0d1f6012ec
Some checks are pending
Build and Push to Docker Hub / Push Docker image to Docker Hub (push) Waiting to run
Build and Push Docker Image / build-and-push (push) Waiting to run
delinted and successfully builds
2025-08-16 06:37:34 -06:00

1 line
8.1 KiB
JavaScript

(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{32941:(e,t,s)=>{"use strict";s.d(t,{mc:()=>r,wn:()=>c,xA:()=>n,zY:()=>l});var a=s(95155);function l(e){let{title:t,subtitle:s,actions:l}=e;return(0,a.jsx)("div",{className:"mb-8",children:(0,a.jsxs)("div",{className:"flex items-start justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-4xl font-display tracking-tight text-white mb-2",children:t}),s&&(0,a.jsx)("p",{className:"text-text-muted text-lg",children:s})]}),l&&(0,a.jsx)("div",{className:"flex items-center gap-3",children:l})]})})}function c(e){let{children:t,className:s=""}=e;return(0,a.jsx)("section",{className:"section-spacing ".concat(s),children:t})}function r(e){let{children:t,className:s=""}=e;return(0,a.jsx)("div",{className:"container-custom ".concat(s),children:t})}function n(e){let{children:t,cols:s=3,gap:l="md",className:c=""}=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-4",md:"gap-6",lg:"gap-8"}[l]," ").concat(c),children:t})}s(12115)},49903:(e,t,s)=>{"use strict";s.d(t,{$n:()=>r,z9:()=>n});var a=s(95155),l=s(6874),c=s.n(l);function r(e){let{variant:t="primary",size:s="md",isLoading:l=!1,children:c,className:r="",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-3 py-1.5 text-sm",md:"px-4 py-2",lg:"px-6 py-3 text-lg"}[s]," ").concat(r," ").concat(l?"opacity-75 cursor-wait":""),disabled:n||l,...i,children:l?(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"spinner w-4 h-4"}),"Loading..."]}):c})}function n(e){let{variant:t="primary",size:s="md",children:l,className:r="",href:n="#",...i}=e;return(0,a.jsx)(c(),{href:n,className:"".concat({primary:"btn-primary",secondary:"btn-secondary",ghost:"btn-ghost"}[t]," ").concat({sm:"px-3 py-1.5 text-sm",md:"px-4 py-2",lg:"px-6 py-3 text-lg"}[s]," ").concat(r),...i,children:l})}s(12115)},50316:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,6874,23)),Promise.resolve().then(s.t.bind(s,33063,23)),Promise.resolve().then(s.bind(s,82045)),Promise.resolve().then(s.bind(s,58914))},58914:(e,t,s)=>{"use strict";s.d(t,{default:()=>d});var a=s(95155),l=s(12115),c=s(6874),r=s.n(c),n=s(66766),i=s(32941),o=s(49903);function d(){let[e,t]=(0,l.useState)([]),[s,c]=(0,l.useState)(!0),[d,m]=(0,l.useState)(null),[x,h]=(0,l.useState)(null),[p,u]=(0,l.useState)("All");(0,l.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let s=await e.json();t(s)}catch(e){console.error("Error fetching projects:",e),m("Failed to load projects")}finally{c(!1)}})()},[]);let f=["All",...Array.from(new Set(e.map(e=>e.category).filter(Boolean)))],g="All"===p?e:e.filter(e=>e.category===p);return s?(0,a.jsx)(i.wn,{className:"bg-surface-900",children:(0,a.jsxs)(i.mc,{children:[(0,a.jsx)("div",{className:"flex flex-col md:flex-row justify-between items-start md:items-center mb-12",children:(0,a.jsx)("h2",{className:"text-4xl font-display tracking-tight text-white mb-6 md:mb-0",children:"Our Work"})}),(0,a.jsx)("div",{className:"text-center py-12",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)("div",{className:"flex flex-col md:flex-row justify-between items-start md:items-center mb-12",children:(0,a.jsx)("h2",{className:"text-4xl font-display tracking-tight text-white mb-6 md:mb-0",children:"Our Work"})}),(0,a.jsx)("div",{className:"text-center py-12",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.jsxs)("div",{className:"flex flex-col md:flex-row justify-between items-start md:items-center mb-12",children:[(0,a.jsx)("h2",{className:"text-4xl font-display tracking-tight text-white mb-6 md:mb-0",children:"Our Work"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:f.map(e=>(0,a.jsx)("button",{onClick:()=>u(e),className:"px-4 py-2 rounded-lg text-sm font-medium transition-all duration-300 ".concat(p===e?"bg-accent text-surface-900":"bg-surface-700 text-text-muted hover:bg-surface-600 hover:text-white"),children:e},e))})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{className:"hidden md:grid md:grid-cols-12 md:grid-rows-[repeat(3,300px)] gap-6",children:g.map((e,t)=>{let s=["col-span-7 row-span-2","col-span-5 row-span-1","col-span-5 row-span-1","col-span-4 row-span-1","col-span-4 row-span-1","col-span-4 row-span-1","col-span-6 row-span-1","col-span-6 row-span-1"],l=s[t%s.length],c=new Date(e.createdAt).getFullYear().toString();return(0,a.jsxs)(r(),{href:"/projects/".concat(e.id),className:"group relative overflow-hidden rounded-lg ".concat(l),onMouseEnter:()=>h(e.id),onMouseLeave:()=>h(null),children:[(0,a.jsxs)("div",{className:"absolute inset-0",children:[(0,a.jsx)(n.default,{src:e.thumbnail,alt:e.title,fill:!0,className:"object-cover transition-transform duration-700 group-hover:scale-110"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent opacity-60 group-hover:opacity-80 transition-opacity duration-300"})]}),(0,a.jsx)("div",{className:"relative h-full flex flex-col justify-end p-6",children:(0,a.jsxs)("div",{className:"transform transition-all duration-500 ".concat(x===e.id?"translate-y-0":"translate-y-4"),children:[(0,a.jsxs)("p",{className:"text-accent text-sm font-medium mb-2",children:[e.category||"Project"," • ",c]}),(0,a.jsx)("h3",{className:"text-white text-xl font-bold mb-2",children:e.title}),(0,a.jsx)("div",{className:"overflow-hidden transition-all duration-500 ".concat(x===e.id?"max-h-20 opacity-100":"max-h-0 opacity-0"),children:(0,a.jsx)("p",{className:"text-text-muted text-sm",children:"View Project →"})})]})}),e.featured&&(0,a.jsx)("div",{className:"absolute top-4 left-4",children:(0,a.jsx)("span",{className:"badge badge-accent",children:"FEATURED"})})]},e.id)})}),(0,a.jsx)("div",{className:"grid md:hidden grid-cols-1 gap-4",children:g.map(e=>{let t=new Date(e.createdAt).getFullYear().toString();return(0,a.jsxs)(r(),{href:"/projects/".concat(e.id),className:"group relative h-64 overflow-hidden rounded-lg",children:[(0,a.jsx)(n.default,{src:e.thumbnail,alt:e.title,fill:!0,className:"object-cover"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"}),(0,a.jsxs)("div",{className:"absolute bottom-0 left-0 right-0 p-6",children:[(0,a.jsxs)("p",{className:"text-accent text-sm mb-2",children:[e.category||"Project"," • ",t]}),(0,a.jsx)("h3",{className:"text-white text-lg font-bold",children:e.title})]})]},e.id)})})]}),(0,a.jsx)("div",{className:"text-center mt-12",children:(0,a.jsx)(o.z9,{href:"/projects",variant:"ghost",children:"View All Projects"})})]})})}},82045:(e,t,s)=>{"use strict";s.d(t,{default:()=>i});var a=s(95155),l=s(12115),c=s(62720),r=s(52681),n=s(72005);function i(){let e=(0,l.useRef)(null),{scrollYProgress:t}=(0,c.L)(),s=(0,r.G)(t,[0,.2],[1,0]),i=(0,r.G)(t,[0,.2],[1,.9]);return(0,a.jsxs)("section",{className:"relative h-screen overflow-hidden",children:[(0,a.jsxs)(n.P.div,{style:{opacity:s,scale:i},className:"absolute inset-0 z-10 flex flex-col items-center justify-center text-center",children:[(0,a.jsx)("h1",{className:"text-6xl md:text-8xl lg:text-9xl text-white tracking-tight mb-6 font-display font-black uppercase",children:"BIOHAZARD"}),(0,a.jsx)("h2",{className:"text-2xl md:text-3xl lg:text-4xl text-text-muted tracking-wide font-display font-light uppercase",children:"VISUAL EFFECTS"})]}),(0,a.jsx)("video",{ref:e,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:"absolute inset-0 w-full h-full object-cover",children:(0,a.jsx)("source",{src:"/videos/reel.mp4",type:"video/mp4"})}),(0,a.jsx)("div",{className:"absolute inset-0 bg-black/40 z-0"})]})}}},e=>{e.O(0,[874,63,875,441,964,120],()=>e(e.s=50316)),_N_E=e.O()}]);