biohazard-vfx/.next/static/chunks/app/projects/page-24cec7052254ca96.js
Nicholai 98a4c8f7db
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
Fixed uploading and database integration, slightly updated NAV and made admin functionality live
2025-08-16 11:46:04 -06:00

1 line
5.0 KiB
JavaScript

(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[893],{24700:(e,t,s)=>{"use strict";s.d(t,{default:()=>o});var a=s(95155),l=s(12115),r=s(6874),n=s.n(r),i=s(66766),c=s(32941);function o(e){let{projects:t}=e,[s,r]=(0,l.useState)("All"),o=["All",...Array.from(new Set(t.map(e=>e.category).filter(Boolean)))],d="All"===s?t:t.filter(e=>e.category===s);return(0,a.jsxs)(c.mc,{children:[(0,a.jsx)("div",{className:"flex flex-wrap gap-2 mb-12 justify-center",children:o.map(e=>(0,a.jsx)("button",{onClick:()=>r(e),className:"px-4 py-2 rounded-lg text-sm font-medium transition-all duration-300 ".concat(s===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:d.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],r=new Date(e.createdAt).getFullYear().toString();return(0,a.jsxs)(n(),{href:"/projects/".concat(e.id),className:"group relative overflow-hidden rounded-lg ".concat(l),children:[(0,a.jsxs)("div",{className:"absolute inset-0",children:[(0,a.jsx)(i.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 translate-y-0",children:[(0,a.jsxs)("p",{className:"text-accent text-sm font-medium mb-2",children:[e.category||"Project"," • ",r]}),(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 max-h-20 opacity-100",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:d.map(e=>{let t=new Date(e.createdAt).getFullYear().toString();return(0,a.jsxs)(n(),{href:"/projects/".concat(e.id),className:"group relative h-64 overflow-hidden rounded-lg",children:[(0,a.jsx)(i.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)})})]})]})}},32941:(e,t,s)=>{"use strict";s.d(t,{mc:()=>n,wn:()=>r,xA:()=>i,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 max-w-3xl",children:s})]}),l&&(0,a.jsx)("div",{className:"flex items-center gap-3",children:l})]})})}function r(e){let{children:t,className:s=""}=e;return(0,a.jsx)("section",{className:"section-spacing ".concat(s),children:t})}function n(e){let{children:t,className:s=""}=e;return(0,a.jsx)("div",{className:"container-custom ".concat(s),children:t})}function i(e){let{children:t,cols:s=3,gap:l="md",className:r=""}=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(r),children:t})}s(12115)},66766:(e,t,s)=>{"use strict";s.d(t,{default:()=>l.a});var a=s(71469),l=s.n(a)},69003:(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,24700))},71469:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var s in t)Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}(t,{default:function(){return c},getImageProps:function(){return i}});let a=s(88229),l=s(38883),r=s(33063),n=a._(s(51193));function i(e){let{props:t}=(0,l.getImgProps)(e,{defaultLoader:n.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,s]of Object.entries(t))void 0===s&&delete t[e];return{props:t}}let c=r.Image}},e=>{e.O(0,[6874,3063,8441,5964,7358],()=>e(e.s=69003)),_N_E=e.O()}]);