nicholai 2e476d7f34
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
1.1.design-tokens-and-typography in progress
2025-09-24 11:38:27 -06:00

3 lines
28 KiB
JavaScript

try{!function(){var a="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},b=(new a.Error).stack;b&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[b]="98ce6ec3-d45e-4c63-84c3-56badfc5f6c1",a._sentryDebugIdIdentifier="sentry-dbid-98ce6ec3-d45e-4c63-84c3-56badfc5f6c1")}()}catch(a){}(()=>{var a={};a.id=3831,a.ids=[3831],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8086:a=>{"use strict";a.exports=require("module")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},15342:(a,b,c)=>{"use strict";c.d(b,{default:()=>g});var d=c(49431),e=c(22114),f=c(27490);function g({src:a,alt:b="Image",placeholderText:c="Image Coming Soon",placeholderSize:g,...h}){let[i,j]=(0,f.useState)(!1),{width:k,height:l,fill:m,sizes:n}=h,o=(0,f.useMemo)(()=>{let a="number"==typeof k?k:g?.width||1200,b="number"==typeof l?l:g?.height||(m?675:800),d=encodeURIComponent(c);return`https://placehold.co/${a}x${b}/111113/CCCCCC.png?text=${d}`},[k,l,m,g,c]),p=!a||""===a.trim()||i?o:a,q="string"==typeof p&&p.includes("placehold.co"),r="string"==typeof p&&p.startsWith("/images/");return(0,d.jsx)(e.default,{...h,src:p,alt:b,sizes:n??(m?"(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw":void 0),unoptimized:q||r,onError:()=>j(!0)})}},19063:a=>{"use strict";a.exports=require("require-in-the-middle")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},19796:(a,b,c)=>{let{createProxy:d}=c(46384);a.exports=d("/home/Nicholai/Documents/Dev/biohazard-vfx-2/node_modules/next/dist/client/app-dir/link.js")},21820:a=>{"use strict";a.exports=require("os")},22443:(a,b,c)=>{"use strict";c.d(b,{z:()=>e});var d=c(96330);let e=globalThis.prisma??new d.PrismaClient},25434:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(13725).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/FeaturedPost.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/FeaturedPost.tsx","default")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},36686:a=>{"use strict";a.exports=require("diagnostics_channel")},37067:a=>{"use strict";a.exports=require("node:http")},37360:(a,b,c)=>{"use strict";c.d(b,{default:()=>i});var d=c(49431),e=c(29950),f=c.n(e),g=c(15342),h=c(42520);function i({post:a}){return a?(0,d.jsx)(h.P.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"mb-16",children:(0,d.jsx)(f(),{href:`/blog/${a.slug}`,className:"group",children:(0,d.jsxs)("article",{className:"grid md:grid-cols-2 gap-8 items-center",children:[(0,d.jsxs)("div",{className:"relative aspect-[16/10] overflow-hidden rounded-lg bg-surface-700",children:[(0,d.jsx)(g.default,{src:a.featuredImage||"",alt:a.title,fill:!0,className:"object-cover group-hover:scale-105 transition-transform duration-700",placeholderText:"Featured Post"}),(0,d.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500"})]}),(0,d.jsxs)("div",{className:"py-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 text-xs text-text-muted mb-3",children:[(0,d.jsx)("span",{className:"text-accent font-medium",children:"LATEST POST"}),(0,d.jsx)("span",{className:"opacity-50",children:"•"}),(0,d.jsx)("time",{children:a.publishedAt?new Date(a.publishedAt).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}):"Unknown date"})]}),(0,d.jsx)("h2",{className:"text-3xl font-medium text-white mb-3 group-hover:text-accent transition-colors",children:a.title}),(0,d.jsx)("p",{className:"text-text-secondary mb-4 leading-relaxed",children:a.excerpt}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-text-muted",children:a.author?.name||"Unknown Author"}),(0,d.jsxs)("span",{className:"text-sm text-accent group-hover:translate-x-1 transition-transform inline-flex items-center gap-1",children:["Read article",(0,d.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})]})]})]})})}):null}c(27490)},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},44708:a=>{"use strict";a.exports=require("node:https")},48161:a=>{"use strict";a.exports=require("node:os")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},56801:a=>{"use strict";a.exports=require("import-in-the-middle")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},60642:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,29950,23)),Promise.resolve().then(c.bind(c,88302)),Promise.resolve().then(c.bind(c,37360)),Promise.resolve().then(c.bind(c,15342))},60964:(a,b,c)=>{"use strict";c.d(b,{BlogCard:()=>d});let d=(0,c(13725).registerClientReference)(function(){throw Error("Attempted to call BlogCard() from the server but BlogCard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/BlogCard.tsx","BlogCard")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64118:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>B.default,__next_app__:()=>H,handler:()=>J,pages:()=>G,routeModule:()=>I,tree:()=>F});var d=c(72787),e=c(35964),f=c(21688),g=c(71389),h=c(47291),i=c(80763),j=c(96914),k=c(58031),l=c(11909),m=c(96145),n=c(84166),o=c(59016),p=c(30769),q=c(261),r=c(88664),s=c(72189),t=c(26713),u=c(90849),v=c(94314),w=c(50094),x=c(81523),y=c(76013),z=c(10799),A=c(86439),B=c(2197),C=c(38441),D=c(16960),E={};for(let a in C)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(E[a]=()=>C[a]);c.d(b,E);let F={children:["",{children:["blog",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,71253)),"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/blog/page.tsx"]}]},{metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,12401))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}}]},{layout:[()=>Promise.resolve().then(c.bind(c,51241)),"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,2197)),"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,2197)),"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,90069,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,77720,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,99179,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,12401))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}}]}.children,G=["/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/blog/page.tsx"],H={require:c,loadChunk:()=>Promise.resolve()},I=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/blog/page",pathname:"/blog",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:F},distDir:".next",projectDir:""});async function J(a,b,c){var d;let E="/blog/page";"/index"===E&&(E="/");let K="false",L=(0,h.getRequestMeta)(a,"postponed"),M=(0,h.getRequestMeta)(a,"minimalMode"),N=await I.prepare(a,b,{srcPage:E,multiZoneDraftMode:K});if(!N)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:O,query:P,params:Q,parsedUrl:R,pageIsDynamic:S,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,serverActionsManifest:W,clientReferenceManifest:X,subresourceIntegrityManifest:Y,prerenderManifest:Z,isDraftMode:$,resolvedPathname:_,revalidateOnlyGenerated:aa,routerServerContext:ab,nextConfig:ac}=N,ad=R.pathname||"/",ae=(0,q.normalizeAppPath)(E),{isOnDemandRevalidate:af}=N,ag=Z.dynamicRoutes[ae],ah=Z.routes[_],ai=!!(ag||ah||Z.routes[ae]),aj=a.headers["user-agent"]||"",ak=(0,t.getBotType)(aj),al=(0,o.isHtmlBotRequest)(a),am=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??!!a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],an=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],ao=(0,r.getIsPossibleServerAction)(a),ap=(0,l.checkIsAppPPREnabled)(ac.experimental.ppr)&&(null==(d=Z.routes[ae]??Z.dynamicRoutes[ae])?void 0:d.renderingMode)==="PARTIALLY_STATIC",aq=!1,ar=!1,as=ap?L:void 0,at=ap&&an&&!am,au=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),av=!aj||(0,o.shouldServeStreamingMetadata)(aj,ac.htmlLimitedBots);al&&ap&&(ai=!1,av=!1);let aw=!0===I.isDev||!ai||"string"==typeof L||at,ax=al&&ap,ay=null;$||!ai||aw||ao||as||at||(ay=_);let az=ay;!az&&I.isDev&&(az=_);let aA={...C,tree:F,pages:G,GlobalError:B.default,handler:J,routeModule:I,__next_app__:H};W&&X&&(0,n.setReferenceManifestsSingleton)({page:E,clientReferenceManifest:X,serverActionsManifest:W,serverModuleMap:(0,p.createServerModuleMap)({serverActionsManifest:W})});let aB=a.method||"GET",aC=(0,g.getTracer)(),aD=aC.getActiveScopeSpan();try{let d=async(c,d)=>{let e=new k.NodeNextRequest(a),f=new k.NodeNextResponse(b);return I.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aC.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aB} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aB} ${a.url}`)})},f=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:P,params:Q,page:ae,sharedContext:{buildId:O},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aA,Component:(0,j.T)(aA),params:Q,routeModule:I,page:E,postponed:f,shouldWaitOnAllReady:ax,serveStreamingMetadata:av,supportsDynamicResponse:"string"==typeof f||aw,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,subresourceIntegrityManifest:Y,serverActionsManifest:W,clientReferenceManifest:X,setIsrStatus:null==ab?void 0:ab.setIsrStatus,dir:I.projectDir,isDraftMode:$,isRevalidate:ai&&!f&&!at,botType:ak,isOnDemandRevalidate:af,isPossibleServerAction:ao,assetPrefix:ac.assetPrefix,nextConfigOutput:ac.output,crossOrigin:ac.crossOrigin,trailingSlash:ac.trailingSlash,previewProps:Z.preview,deploymentId:ac.deploymentId,enableTainting:ac.experimental.taint,htmlLimitedBots:ac.htmlLimitedBots,devtoolSegmentExplorer:ac.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ac.reactMaxHeadersLength,multiZoneDraftMode:K,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ac.experimental.cacheLife,basePath:ac.basePath,serverActions:ac.experimental.serverActions,...aq?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:aq}:{},experimental:{isRoutePPREnabled:ap,expireTime:ac.expireTime,staleTimes:ac.experimental.staleTimes,dynamicIO:!!ac.experimental.dynamicIO,clientSegmentCache:!!ac.experimental.clientSegmentCache,dynamicOnHover:!!ac.experimental.dynamicOnHover,inlineCss:!!ac.experimental.inlineCss,authInterrupts:!!ac.experimental.authInterrupts,clientTraceMetadata:ac.experimental.clientTraceMetadata||[]},waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>I.onRequestError(a,b,d,ab),err:(0,h.getRequestMeta)(a,"invokeError"),dev:I.isDev}},k=await d(e,i),{metadata:l}=k,{cacheControl:m,headers:n={},fetchTags:o}=l;if(o&&(n[x.NEXT_CACHE_TAGS_HEADER]=o),a.fetchMetrics=l.fetchMetrics,ai&&(null==m?void 0:m.revalidate)===0&&!I.isDev&&!ap){let a=l.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${_}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:k,headers:n,rscData:l.flightData,postponed:l.postponed,status:l.statusCode,segmentData:l.segmentData},cacheControl:m}},l=async({hasResolved:d,previousCacheEntry:g,isRevalidating:i,span:j})=>{let k,l=!1===I.isDev,n=d||b.writableEnded;if(af&&aa&&!g&&!M)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ag&&(k=(0,v.parseFallbackField)(ag.fallback)),k===v.FallbackMode.PRERENDER&&(0,t.isBot)(aj)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(af=!0),af&&(k!==v.FallbackMode.NOT_FOUND||g)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),!M&&k!==v.FallbackMode.BLOCKING_STATIC_RENDER&&az&&!n&&!$&&S&&(l||!ah)){let b;if((l||ag)&&k===v.FallbackMode.NOT_FOUND)throw new A.NoFallbackError;if(ap&&!an){if(b=await I.handleResponse({cacheKey:l?ae:null,req:a,nextConfig:ac,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ap,responseGenerator:async()=>f({span:j,postponed:void 0,fallbackRouteParams:l||ar?(0,m.u)(ae):null}),waitUntil:c.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=af||i||!as?void 0:as;if(aq&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.fromStatic(""),pageData:{},headers:void 0,status:void 0}};let p=S&&ap&&((0,h.getRequestMeta)(a,"renderFallbackShell")||ar)?(0,m.u)(ad):null;return f({span:j,postponed:o,fallbackRouteParams:p})},n=async d=>{var g,i,j,k,m;let n,o=await I.handleResponse({cacheKey:ay,responseGenerator:a=>l({span:d,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:af,isRoutePPREnabled:ap,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:c.waitUntil});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),I.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(ay)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(g=o.value)?void 0:g.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(j=o.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;ai&&!at&&(!p||am)&&(M||b.setHeader("x-nextjs-cache",af?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(as)n={revalidate:0,expire:void 0};else if(M&&an&&!am&&ap)n={revalidate:0,expire:void 0};else if(!I.isDev)if($)n={revalidate:0,expire:void 0};else if(ai){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});n={revalidate:o.cacheControl.revalidate,expire:(null==(k=o.cacheControl)?void 0:k.expire)??ac.expireTime}}else n={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(n={revalidate:0,expire:void 0});if(o.cacheControl=n,"string"==typeof au&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(m=q.headers)?void 0:m[x.NEXT_CACHE_TAGS_HEADER];M&&ai&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(au);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,type:"rsc",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(d),cacheControl:o.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,type:"rsc",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(""),cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&as)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(M&&ai||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(i=q.headers)?void 0:i[x.NEXT_CACHE_TAGS_HEADER];if(M&&ai&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||an&&ap||(b.statusCode=q.status),!M&&q.status&&D.RedirectStatusCode[q.status]&&an&&(b.statusCode=200),p&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),an&&!$){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,type:"rsc",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:q.html,cacheControl:at?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,type:"rsc",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(q.rscData),cacheControl:o.cacheControl})}let v=q.html;if(!p||M)return(0,z.sendRenderResult)({req:a,res:b,type:"html",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:o.cacheControl});if(aq)return v.chain(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,type:"html",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.chain(A.readable),f({span:d,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,type:"html",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aD)return await aC.withPropagatedContext(a.headers,()=>aC.trace(i.BaseServerSpan.handleRequest,{spanName:`${aB} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aB,"http.target":a.url}},n));await n(aD)}catch(b){throw aD||b instanceof A.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ai,isOnDemandRevalidate:af})},ab),b}}},71253:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>w,generateImageMetadata:()=>u,generateMetadata:()=>t,generateViewport:()=>v,metadata:()=>p});var e=c(63033),f=c(69929),g=c(19796),h=c.n(g),i=c(73092),j=c(45386),k=c(78333),l=c(60964),m=c(22443),n=c(25434),o=c(68575);let p=(0,j._i)({title:"Blog",description:"Insights, techniques, and stories from the world of visual effects",keywords:["VFX Blog","Visual Effects Insights","Creative Techniques"]});async function q(){let a=(await m.z.blogPost.findMany({where:{published:!0},orderBy:{publishedAt:"desc"},select:{id:!0,title:!0,slug:!0,content:!0,excerpt:!0,featuredImage:!0,category:!0,tags:!0,published:!0,publishedAt:!0,authorId:!0,author:{select:{name:!0}},createdAt:!0,updatedAt:!0}})).map(a=>({...a,tags:a.tags?Array.isArray(a.tags)?a.tags:"string"==typeof a.tags?JSON.parse(a.tags):[]:[],publishedAt:a.publishedAt?a.publishedAt.toISOString():null,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()})),b=a[0],c=a.slice(1);return(0,f.jsxs)("div",{className:"min-h-screen",children:[(0,f.jsxs)("div",{className:"relative h-80 md:h-96 rounded-b-xl overflow-hidden",children:[(0,f.jsx)(i.default,{src:"/images/blog-header.jpg",alt:"Biohazard VFX Blog",fill:!0,className:"object-cover",placeholderText:"Blog Header"}),(0,f.jsx)("div",{className:"absolute inset-0 bg-gradient-to-r from-black/80 to-black/40 flex items-center",children:(0,f.jsx)(k.mc,{children:(0,f.jsxs)("div",{className:"max-w-2xl",children:[(0,f.jsx)("h1",{className:"text-4xl md:text-5xl font-display font-bold text-white mb-4",children:"VFX Insights & News"}),(0,f.jsx)("p",{className:"text-xl text-text-secondary",children:"Behind the scenes looks, industry insights, and creative breakdowns from our team"})]})})})]}),(0,f.jsx)(k.wn,{children:(0,f.jsxs)(k.mc,{children:[b&&(0,f.jsx)(n.default,{post:b}),(0,f.jsx)("div",{className:"divider"}),(0,f.jsxs)("div",{children:[(0,f.jsx)("h2",{className:"text-lg font-medium text-white mb-8",children:"Recent Articles"}),(0,f.jsx)("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-10",children:c.map(a=>(0,f.jsx)(l.BlogCard,{post:{id:a.id,title:a.title,excerpt:a.excerpt||"",featuredImage:a.featuredImage||"",date:a.publishedAt||a.createdAt,author:a.author.name,tags:a.tags||[]}},a.id))})]}),(0,f.jsxs)("div",{className:"mt-16 pt-12 border-t border-surface-500/50",children:[(0,f.jsx)("h3",{className:"text-sm font-medium text-white mb-4",children:"Browse by Category"}),(0,f.jsx)("div",{className:"flex flex-wrap gap-2",children:Array.from(new Set(a.flatMap(a=>Array.isArray(a.tags)?a.tags:[]))).map(a=>(0,f.jsx)(h(),{href:`/blog/tag/${encodeURIComponent(a.toLowerCase().replace(/\s+/g,"-"))}`,className:"badge hover:badge-accent transition-all",children:a},a))})]})]})})]})}let r={...e},s="workUnitAsyncStorage"in r?r.workUnitAsyncStorage:"requestAsyncStorage"in r?r.requestAsyncStorage:void 0;d=new Proxy(q,{apply:(a,b,c)=>{let d,e,f;try{let a=s?.getStore();d=a?.headers.get("sentry-trace")??void 0,e=a?.headers.get("baggage")??void 0,f=a?.headers}catch{}return o.wrapServerComponentWithSentry(a,{componentRoute:"/blog",componentType:"Page",sentryTraceHeader:d,baggageHeader:e,headers:f}).apply(b,c)}});let t=void 0,u=void 0,v=void 0,w=d},73024:a=>{"use strict";a.exports=require("node:fs")},73092:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(13725).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/ImageWithFallback.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/components/ui/ImageWithFallback.tsx","default")},73566:a=>{"use strict";a.exports=require("worker_threads")},74998:a=>{"use strict";a.exports=require("perf_hooks")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},78333:(a,b,c)=>{"use strict";c.d(b,{mc:()=>g,wn:()=>f,zY:()=>e});var d=c(69929);function e({title:a,subtitle:b,actions:c}){return(0,d.jsx)("div",{className:"mb-6",children:(0,d.jsxs)("div",{className:"flex items-start justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-3xl font-display tracking-tight text-white mb-2",children:a}),b&&(0,d.jsx)("p",{className:"text-text-muted text-base max-w-3xl",children:b})]}),c&&(0,d.jsx)("div",{className:"flex items-center gap-2",children:c})]})})}function f({children:a,className:b=""}){return(0,d.jsx)("section",{className:`section-spacing ${b}`,children:a})}function g({children:a,className:b=""}){return(0,d.jsx)("div",{className:`w-full px-4 sm:px-6 lg:px-8 ${b}`,children:a})}c(58988)},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},80481:a=>{"use strict";a.exports=require("node:readline")},83997:a=>{"use strict";a.exports=require("tty")},84297:a=>{"use strict";a.exports=require("async_hooks")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86592:a=>{"use strict";a.exports=require("node:inspector")},88302:(a,b,c)=>{"use strict";c.d(b,{BlogCard:()=>i});var d=c(49431),e=c(29950),f=c.n(e),g=c(15342),h=c(42520);function i({post:a,delay:b=0}){return(0,d.jsx)(h.P.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:b},whileHover:{y:-4},className:"group",children:(0,d.jsx)(f(),{href:`/blog/${a.id}`,className:"block h-full",children:(0,d.jsxs)("article",{className:"card h-full transition-all duration-300 hover:border-surface-400 hover:shadow-lg hover:shadow-surface-900/20",children:[(0,d.jsxs)("div",{className:"aspect-photo relative overflow-hidden rounded-lg mb-4",children:[(0,d.jsx)(g.default,{src:a.featuredImage||"",alt:a.title,fill:!0,className:"object-cover transition-transform duration-700 group-hover:scale-105",placeholderText:"Blog Cover"}),(0,d.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-surface-900/60 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300"})]}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[(0,d.jsx)("time",{className:"font-medium",children:new Date(a.date).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}),(0,d.jsx)("span",{children:"•"}),(0,d.jsx)("span",{className:"font-medium",children:a.author})]}),(0,d.jsx)("h3",{className:"text-xl font-semibold text-white group-hover:text-accent transition-colors duration-300 line-clamp-2",children:a.title}),(0,d.jsx)("p",{className:"text-text-secondary text-sm line-clamp-3 leading-relaxed",children:a.excerpt}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.tags.slice(0,3).map(a=>(0,d.jsx)("span",{className:"inline-flex items-center px-2 py-1 text-xs font-medium rounded-full bg-surface-600/50 text-text-muted border border-surface-500 group-hover:border-accent/30 transition-colors",children:a},a))})]})]})})})}},94735:a=>{"use strict";a.exports=require("events")},96330:a=>{"use strict";a.exports=require("@prisma/client")},98093:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,19796,23)),Promise.resolve().then(c.bind(c,60964)),Promise.resolve().then(c.bind(c,25434)),Promise.resolve().then(c.bind(c,73092))}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[1793,8575,229,2114,8251],()=>b(b.s=64118));module.exports=c})();
//# sourceMappingURL=page.js.map