-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchunk-B1wiv2i6.js
More file actions
5 lines (5 loc) · 13.4 KB
/
Copy pathchunk-B1wiv2i6.js
File metadata and controls
5 lines (5 loc) · 13.4 KB
1
2
3
4
5
import{h as P,c3 as D,r as m,j as t,L as u,m as w,R}from"../entries/pages.BZkyDMuN.js";import{S as M}from"./chunk-D8YfSULr.js";import{as as W}from"./chunk-TXUbdm-T.js";import{I as _}from"./chunk-BENuYty9.js";import{o as A}from"./chunk-BriRn6MT.js";import{i as E}from"./chunk-D-DDtzw4.js";import"./chunk-BXl3LOEh.js";/* empty css */import"./chunk-CTVhs4zQ.js";import"./chunk-pA04IuM2.js";import"./chunk-DZOcISe9.js";import"./chunk-Dy64sI8m.js";import"./chunk-DHHx9tvU.js";import"./chunk-DZ3G3RW6.js";import"./chunk-N45wCFfU.js";import"./chunk-CZP1mgpy.js";import"./chunk-Dg4t_C-U.js";import"./chunk-BeA51Tvn.js";import"./chunk-DExgAf_Y.js";import"./chunk-C0GYHe6O.js";import"./chunk-DbY495hc.js";import"./chunk-Dsh3Wnmp.js";import"./chunk-tjQS1ofy.js";import"./chunk-CsxZDPNz.js";import"./chunk-BPjJwd6d.js";import"./chunk-BlCXjT-S.js";import"./chunk-BEHd7Shl.js";import"./chunk-bCyyFZ_t.js";import"./chunk-DKHr3qSJ.js";import"./chunk-Coqiz_hM.js";import"./chunk-CtbKXtbX.js";import"./chunk-BeY3bTmB.js";import"./chunk-C_eH8Bpa.js";import"./chunk-RytmjqOX.js";import"./chunk-BGRbpz1L.js";import"./chunk-D40gnYZg.js";import"./chunk-mk2fvQJb.js";import"./chunk-TvZHq4pv.js";import"./chunk-L0vvDMcm.js";import"./chunk-DAB4c-9q.js";import"./chunk-CNa8ID-3.js";import"./chunk-DGjmjid6.js";import"./chunk-BassnvpC.js";import"./chunk-BV5gZXWk.js";import"./chunk-xkf-bONq.js";import"./chunk-CGbdY3X1.js";import"./chunk-D6oOlvud.js";import"./chunk-D5wtt-dG.js";import"./chunk-B6Qupbu-.js";import"./chunk-DPK_ul2B.js";import"./chunk-yAc9TOLg.js";import"./chunk-CGuUhYlO.js";import"./chunk-Bq-Va7cm.js";import"./chunk-B6oPna8Q.js";import"./chunk-B9dAXnk9.js";import"./chunk-C_TewP-b.js";import"./chunk-B0-9_1b9.js";import"./chunk-Bv86NaxU.js";import"./chunk-4LyBBfFF.js";import"./chunk-CTgNHUcF.js";import"./chunk-DsTGO7Ku.js";import"./chunk-76Va4lLX.js";import"./chunk-C0XvR7Hn.js";import"./chunk-C190bTZ8.js";import"./chunk-BNXjKCP-.js";import"./chunk-B1EIeR-U.js";import"./chunk-Celj7jOV.js";import"./chunk-B8QphnbJ.js";import"./chunk-C2ArE4Er.js";import"./chunk-yzuX92yf.js";import"./chunk-CP-U7BEi.js";import"./chunk-DzZYmnMT.js";import"./chunk-DlK4IyHO.js";import"./chunk-BqmtzT3A.js";import"./chunk-DXjUogrw.js";import"./chunk-8nl3XeAZ.js";import"./chunk-DjJ_Wicf.js";import"./chunk-C5leZeON.js";import"./chunk-McoqAe7b.js";import"./chunk-Ss4PH89x.js";import"./chunk-Cuzo4U-C.js";import"./chunk-pjlzN46X.js";import"./chunk-BZmsYV54.js";import"./chunk-C1UD0DEC.js";import"./chunk-CknUJHtv.js";import"./chunk-MunxizUA.js";import"./chunk-C6xFqfC2.js";import"./chunk-CsvJ1e4_.js";import"./chunk-CP2uNI97.js";import"./chunk-FQlSTc_5.js";import"./chunk-CaPeg6R8.js";import"./chunk-zP1DvYGW.js";import"./chunk-Bow5CTAl.js";import"./chunk-W2QEj9a5.js";import"./chunk-Co--o0y5.js";import"./chunk-ivvBw0G2.js";import"./chunk-nEI1Gk41.js";import"./chunk-eKdC8KWe.js";import"./chunk-Cq-cMZ7G.js";import"./chunk-Bm1Bh_Kt.js";import"./chunk-CfqFjfT5.js";import"./chunk-B7jEAd5I.js";import"./chunk-DUzy4tMG.js";import"./chunk-BR-wB7aW.js";import"./chunk-Fuo9_hVz.js";import"./chunk-CjMq7vOQ.js";import"./chunk-BnPpVsoS.js";import"./chunk-BULgtUr9.js";import"./chunk-DSLKLW88.js";import"./chunk-BCaRVVBr.js";import"./chunk-CFsjwv78.js";import"./chunk-CFpdPMGz.js";import"./chunk-DLfqlyGa.js";import"./chunk-BStW60Xs.js";import"./chunk-ZSmJVBp5.js";import"./chunk-CfTwNcn5.js";import"./chunk-h_7dyuUV.js";import"./chunk-Imj7fjuR.js";import"./chunk-BUHP-56j.js";import"./chunk-DpPoGCgY.js";import"./chunk-Psb4kYh-.js";import"./chunk-CbwsCwMv.js";import"./chunk-Cuiakotc.js";import"./chunk-B2X8F8hq.js";import"./chunk-OhYPYHrf.js";import"./chunk-DRCJYM67.js";import"./chunk-Cb-LED7w.js";import"./chunk-CJ5-m5uC.js";import"./chunk-DSfRf_WF.js";import"./chunk-CIo3mM--.js";import"./chunk-6GThDRXk.js";import"./chunk-lINtn1G4.js";import"./chunk-CC14kyiO.js";import"./chunk-Ce_tRZ0q.js";import"./chunk-CFtZQKZy.js";import"./chunk-Dk3wPjU5.js";import"./chunk-DRE2pumr.js";const j=({name:r,...c})=>{if(!r)return null;const n=_[`${r}Icon`];return n?t.jsx(n,{...c}):null},hs=()=>{const{slug:r}=P(),{projects:c,loading:n}=D(),[a,x]=m.useState([]),[i,v]=m.useState(null),[o,N]=m.useState({logo:{},links:[]}),[k,y]=m.useState({}),[S,$]=m.useState(0),l=c.find(e=>e.slug===r);m.useEffect(()=>{r&&(async()=>{try{const[s,d,h]=await Promise.all([fetch(`/projects/${r}/details/landing.txt`),fetch(`/projects/${r}/details/navbar.txt`),fetch(`/projects/${r}/details/sections.txt`)]);if(s.ok){const p=await s.json();v(p)}if(d.ok){const p=await d.json();N(p)}if(h.ok){const p=await h.json();x(p);const b={};await Promise.all(p.map(async g=>{try{const f=await fetch(`/projects/${r}/details/${g.file}`);if(f.ok){const I=await f.text();b[g.id]=I}}catch(f){console.error(`Failed to fetch content for ${g.id}`,f)}})),y(b)}}catch(s){console.error("Failed to load project configurations",s)}})()},[r]);const z=e=>{const s=e.target.scrollTop,d=window.innerHeight;if(d===0)return;const h=Math.round(s/d);$(h)};if(n||!l||!i)return t.jsx("div",{className:"min-h-screen bg-[#050505] flex items-center justify-center text-white font-mono uppercase tracking-widest text-xs",children:t.jsx("span",{className:"animate-pulse",children:"Initializing System..."})});const C=a.length+1;return t.jsxs("div",{className:"bg-[#050505] text-white h-screen overflow-y-scroll snap-y snap-mandatory font-instr-sans selection:bg-rose-500/30 selection:text-rose-200",onScroll:z,children:[t.jsx(M,{title:`${l.title} | Fezcodex`,description:l.shortDescription,image:l.image,keywords:l.tags}),t.jsx("div",{className:"fixed right-8 top-1/2 -translate-y-1/2 z-50 flex flex-col gap-4",children:Array.from({length:C}).map((e,s)=>t.jsx("div",{className:`w-1 h-8 transition-colors duration-200 ${S===s?"bg-rose-500":"bg-white/10"}`},s))}),t.jsxs("nav",{className:"fixed top-0 left-0 right-0 z-50 flex items-center justify-between px-6 py-6 md:px-12 backdrop-blur-sm mix-blend-difference",children:[t.jsxs(u,{to:"/projects",className:"text-xl font-instr-serif font-bold tracking-tight flex items-center gap-2 group text-white no-underline",children:[o.logo?.icon&&t.jsx(j,{name:o.logo.icon,className:"group-hover:rotate-12 transition-transform"}),o.logo?.label||i.title]}),t.jsx("div",{className:"hidden md:flex items-center gap-8 text-sm font-medium opacity-80 font-instr-sans uppercase tracking-widest",children:o.links?.map((e,s)=>e.link.startsWith("/")?t.jsx(u,{to:e.link,className:"hover:opacity-100 transition-opacity text-white no-underline",children:e.label},s):t.jsx("a",{href:e.link,className:"hover:opacity-100 transition-opacity text-white no-underline",children:e.label},s))}),o.cta&&t.jsxs("a",{href:o.cta.link,target:o.cta.link.startsWith("http")?"_blank":"_self",rel:o.cta.link.startsWith("http")?"noopener noreferrer":"",className:"hidden md:flex items-center gap-2 border border-white/30 px-6 py-2 rounded text-xs font-instr-sans uppercase tracking-widest hover:bg-white hover:text-black transition-colors no-underline text-white",children:[o.cta.icon&&t.jsx(j,{name:o.cta.icon,size:16}),o.cta.label]})]}),t.jsxs("section",{className:"relative h-screen w-full flex items-center overflow-hidden snap-start snap-always",children:[t.jsxs("div",{className:"absolute inset-0 z-0",children:[t.jsx("img",{src:`/projects/${r}/maps/${i.backgroundImage||(a.length>0?a[0].image:l.image)}`,alt:"Hero Background",className:"w-full h-full object-cover filter brightness-[0.6] saturate-[0.8]"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-black/60 via-black/30 to-transparent"})]}),t.jsx("div",{className:"relative z-10 container mx-auto px-6 md:px-12 grid grid-cols-1 md:grid-cols-2 gap-12 h-full items-center",children:t.jsxs("div",{className:"pt-20",children:[t.jsxs("h1",{className:"text-5xl md:text-7xl lg:text-9xl font-instr-serif font-medium tracking-tight leading-[0.9] mb-12",children:[i.title,": ",t.jsx("br",{}),t.jsx("span",{className:"text-rose-400",children:i.subtitle})]}),t.jsxs(w.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:1,ease:[.16,1,.3,1]},className:"w-full max-w-2xl bg-black/40 backdrop-blur-2xl p-10 md:p-12 border border-white/10 shadow-2xl relative",children:[t.jsx("div",{className:"absolute -top-px -left-px w-8 h-px bg-rose-500/50"}),t.jsx("div",{className:"absolute -top-px -left-px w-px h-8 bg-rose-500/50"}),t.jsx("div",{className:"absolute -bottom-px -right-px w-8 h-px bg-rose-500/50"}),t.jsx("div",{className:"absolute -bottom-px -right-px w-px h-8 bg-rose-500/50"}),t.jsx("p",{className:"text-xl md:text-2xl text-gray-200 leading-relaxed font-garamond italic mb-10",children:i.description}),t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6 mb-10 border-t border-white/5 pt-8",children:i.credits&&i.credits.map((e,s)=>t.jsxs("div",{children:[t.jsx("span",{className:"text-[10px] font-instr-sans uppercase tracking-[0.3em] text-white/40 block mb-1",children:e.role}),t.jsx("span",{className:"text-sm font-instr-serif italic text-white/80",children:e.name})]},s))}),t.jsx("div",{className:"flex flex-wrap items-center gap-4 pt-8 border-t border-white/5",children:i.buttons&&i.buttons.map((e,s)=>t.jsx("a",{href:e.link,target:e.link.startsWith("http")?"_blank":"_self",rel:e.link.startsWith("http")?"noopener noreferrer":"",className:`${e.type==="primary"?"bg-white text-black hover:bg-rose-400":"border border-white/30 hover:bg-white/10 backdrop-blur-md text-white"} px-8 py-4 rounded font-instr-sans font-bold text-xs uppercase tracking-[0.2em] transition-colors flex items-center gap-2 no-underline`,children:e.label},s))})]})]})}),t.jsxs("div",{className:"absolute bottom-0 left-0 right-0 p-6 md:p-12 z-20 flex flex-col md:flex-row items-end justify-between gap-8 pointer-events-none",children:[t.jsxs("div",{className:"flex items-center gap-8 opacity-50 grayscale pointer-events-auto font-instr-sans uppercase tracking-widest text-[10px]",children:[t.jsxs("span",{className:"font-bold flex items-center gap-2",children:[t.jsx(A,{size:18})," Aether"]}),t.jsxs("span",{className:"font-bold flex items-center gap-2",children:[t.jsx(E,{size:18})," UrbanOS"]})]}),t.jsx("div",{className:"flex items-center gap-12 bg-black/20 backdrop-blur-md p-8 rounded-t-2xl border-t border-x border-white/10",children:i.stats&&i.stats.map((e,s)=>t.jsxs(R.Fragment,{children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-4xl font-instr-serif font-bold",children:e.value}),t.jsx("div",{className:"text-[10px] font-instr-sans text-gray-400 uppercase tracking-[0.2em] mt-2",children:e.label})]}),s<i.stats.length-1&&t.jsx("div",{className:"w-px h-12 bg-white/10"})]},s))})]}),t.jsx("div",{className:"absolute top-0 left-12 bottom-0 w-px bg-white/10 hidden md:block"}),t.jsx("div",{className:"absolute top-0 right-12 bottom-0 w-px bg-white/10 hidden md:block"}),t.jsx("div",{className:"absolute top-24 left-0 right-0 h-px bg-white/10 hidden md:block"}),t.jsx("div",{className:"absolute bottom-32 left-0 right-0 h-px bg-white/10 hidden md:block"})]}),a.map((e,s)=>t.jsx(F,{section:e,slug:r,content:k[e.id],index:s},e.id))]})},F=({section:r,slug:c,content:n,index:a})=>{const x=a%2===0;return t.jsxs("section",{className:"relative h-screen w-full flex items-center overflow-hidden border-t border-white/5 snap-start snap-always",children:[t.jsxs("div",{className:"absolute inset-0 z-0",children:[t.jsx("img",{src:`/projects/${c}/maps/${r.image}`,alt:r.title,className:"w-full h-full object-cover transition-transform duration-1000"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/40 via-transparent to-black/60"}),t.jsx("div",{className:"absolute inset-0 bg-black/20"})]}),t.jsx("div",{className:"container mx-auto px-6 md:px-12 relative z-10",children:t.jsx("div",{className:`flex w-full ${x?"justify-start":"justify-end"}`,children:t.jsxs(w.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},transition:{duration:1,ease:[.16,1,.3,1]},className:"w-full max-w-2xl bg-black/40 backdrop-blur-2xl p-10 md:p-16 border border-white/10 shadow-2xl relative group",children:[t.jsx("div",{className:"absolute -top-px -left-px w-8 h-px bg-rose-500/50"}),t.jsx("div",{className:"absolute -top-px -left-px w-px h-8 bg-rose-500/50"}),t.jsx("div",{className:"absolute -bottom-px -right-px w-8 h-px bg-rose-500/50"}),t.jsx("div",{className:"absolute -bottom-px -right-px w-px h-8 bg-rose-500/50"}),t.jsxs("div",{className:"mb-6 flex items-center gap-3",children:[t.jsxs("span",{className:"text-[10px] font-instr-sans font-bold uppercase tracking-[0.5em] text-rose-400",children:["System Module / 0",a+1]}),t.jsx("div",{className:"h-px w-12 bg-rose-500/30"})]}),t.jsx("h2",{className:"text-4xl md:text-6xl font-instr-serif font-medium tracking-tight text-white mb-8 leading-tight",children:r.title}),t.jsx("div",{className:`prose prose-invert prose-xl font-garamond\r
prose-p:text-gray-200 prose-p:leading-relaxed prose-p:font-light\r
prose-li:text-gray-300 prose-strong:text-rose-400 prose-strong:font-medium\r
prose-h2:text-2xl prose-h2:font-instr-serif prose-h2:mb-4 prose-h2:mt-8\r
prose-h3:text-xl prose-h3:font-instr-serif prose-h3:text-rose-500`,children:t.jsx(W,{content:n||""})}),t.jsx("div",{className:"mt-12 pt-8 border-t border-white/5 flex items-center justify-between",children:t.jsxs("div",{className:"text-[10px] font-mono text-white/20 uppercase tracking-widest",children:["ID: ###-",r.id.toUpperCase(),"-###"]})})]})})}),t.jsxs("div",{className:`absolute top-1/2 -translate-y-1/2 hidden xl:block mix-blend-difference opacity-30 font-instr-sans text-[10px] uppercase tracking-[1em] [writing-mode:vertical-lr] ${x?"right-12 rotate-180":"left-12"}`,children:["Module Archive / 0",a+1]})]})};export{hs as default};