1import{a as C}from"./rolldown-runtime-W-g5d7YK.js";import{B as S,C as y,D as T,E as P,Et as _,Ft as N,M as D,St as V,T as L,Tt as A,_ as E,dt as $,ft as M,jt as B,kt as U,m as F,mt as q,p as z,st as G,t as R,wt as O,zt as r}from"./vendor-Dx0nRn9D.js";import{i as H,n as W,r as K,t as i}from"./animation-ChgW8DUQ.js";import{_ as g,a as Q,i as Z,l as J,o as X,t as Y,x as ee}from"./index-BwYiqp1C.js";var I=C(H(),1),e=K(),v={section:"mb-16",subsection:"mb-12",element:"mb-6",small:"mb-3"},te={fadeUp:{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.6,ease:[.25,.25,0,1]}},stagger:{initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{duration:.5}}},ae=({project:a,className:j=""})=>{const[l,x]=(0,I.useState)(null),c=[...a.images||[],...(a.contentBlocks||[]).filter(t=>t.type==="image"&&t.content.image?.url).map(t=>t.content.image)],h=t=>{x(t)},s=()=>{x(null)},b=()=>{l!==null&&x((l+1)%c.length)},w=()=>{l!==null&&x((l-1+c.length)%c.length)},p=(t,n)=>{const d={initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},transition:{duration:.6,delay:n*.1}};switch(t.type){case"text":return(0,e.jsx)(i.div,{...d,className:"w-full",children:(0,e.jsx)("div",{className:"max-w-4xl mx-auto",children:(0,e.jsx)("div",{className:"tinymce-content text-base leading-7 text-slate-700 max-w-none",dangerouslySetInnerHTML:{__html:R.sanitize(t.content.text||"",{ALLOWED_TAGS:["p","br","strong","em","u","s","span","h1","h2","h3","h4","h5","h6","ul","ol","li","a","img","blockquote","pre","code","table","thead","tbody","tr","th","td","hr"],ALLOWED_ATTR:["href","target","rel","src","alt","title","class"]})}})})});case"image":if(!t.content.image?.url)return null;{const o=c.findIndex(m=>m.url===t.content.image?.url);return(0,e.jsx)(i.div,{...d,className:"w-full",children:(0,e.jsxs)("div",{className:"group cursor-pointer",onClick:()=>h(o),children:[(0,e.jsxs)("div",{className:"relative overflow-hidden rounded-2xl shadow-xl shadow-slate-900/10",children:[(0,e.jsx)("img",{src:t.content.image.url,alt:t.content.image.alt,className:"w-full h-auto group-hover:scale-105 transition-transform duration-600 ease-out"}),(0,e.jsx)("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-all duration-400 flex items-center justify-center",children:(0,e.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity duration-300",children:(0,e.jsxs)("div",{className:"flex items-center gap-2 text-white bg-black/50 backdrop-blur-sm rounded-xl px-4 py-2",children:[(0,e.jsx)(r,{icon:y,className:"w-4 h-4"}),(0,e.jsx)("span",{className:"font-medium text-sm",children:"Agrandir"})]})})})]}),t.content.image.caption&&(0,e.jsx)("div",{className:"text-center mt-4",children:(0,e.jsx)("p",{className:"text-slate-600 italic text-base leading-relaxed max-w-3xl mx-auto",children:t.content.image.caption})})]})})}case"gallery":return t.content.images?.length?(0,e.jsx)(i.div,{...d,className:"w-full",children:(0,e.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6",children:t.content.images.map((o,m)=>{const u=c.findIndex(f=>f.url===o.url);return(0,e.jsxs)(i.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:m*.1},className:"group cursor-pointer",onClick:()=>h(u),children:[(0,e.jsxs)("div",{className:"relative overflow-hidden rounded-xl shadow-md shadow-slate-200/50 group-hover:shadow-lg group-hover:shadow-slate-300/50 transition-all duration-400",children:[(0,e.jsx)("img",{src:o.url,alt:o.alt,className:"w-full h-64 object-cover group-hover:scale-105 transition-transform duration-500"}),(0,e.jsx)("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-all duration-300 flex items-center justify-center",children:(0,e.jsx)(r,{icon:y,className:"w-5 h-5 text-white opacity-0 group-hover:opacity-100 transition-opacity duration-300"})})]}),o.caption&&(0,e.jsx)("p",{className:"text-slate-600 mt-3 text-center font-medium text-sm leading-relaxed",children:o.caption})]},o.id)})})}):null;case"video":return t.content.videoUrl?(0,e.jsx)(i.div,{...d,className:"w-full",children:(0,e.jsx)("div",{className:"max-w-5xl mx-auto",children:(0,e.jsx)("div",{className:"aspect-video rounded-2xl overflow-hidden shadow-xl shadow-slate-900/10",children:t.content.videoUrl.includes("youtube.com")||t.content.videoUrl.includes("youtu.be")?(0,e.jsx)("iframe",{src:t.content.videoUrl.replace("watch?v=","embed/"),className:"w-full h-full",allowFullScreen:!0,title:"Vidéo du projet"}):(0,e.jsx)("video",{src:t.content.videoUrl,controls:!0,className:"w-full h-full",poster:t.content.videoThumbnail})})})}):null;case"code":return t.content.code?(0,e.jsx)(i.div,{...d,className:"w-full",children:(0,e.jsx)("div",{className:"max-w-5xl mx-auto",children:(0,e.jsxs)("div",{className:"bg-linear-to-br from-slate-900 via-slate-800 to-slate-900 rounded-2xl overflow-hidden shadow-xl shadow-slate-900/20",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 bg-slate-800/50 border-b border-slate-700/50",children:[(0,e.jsx)("span",{className:"text-slate-300 font-semibold",children:t.content.language||"Code"}),(0,e.jsx)(r,{icon:V,className:"w-5 h-5 text-slate-400"})]}),(0,e.jsx)("pre",{className:"p-6 text-slate-100 text-sm overflow-x-auto leading-6 font-mono",children:(0,e.jsx)("code",{children:t.content.code})})]})})}):null;default:return null}};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:`max-w-6xl mx-auto px-4 lg:px-6 ${j}`,children:[(0,e.jsx)("section",{className:v.section,children:(0,e.jsx)(i.div,{...te.fadeUp,children:(0,e.jsxs)("div",{className:"text-center max-w-4xl mx-auto",children:[(0,e.jsx)(i.h1,{initial:{opacity:0,y:20}
1,animate:{opacity:1,y:0},transition:{duration:.6,delay:.2},className:"text-4xl lg:text-6xl font-black text-slate-900 mb-6 leading-tight tracking-tight",children:a.title}),a.shortDescription&&(0,e.jsx)(i.p,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.3},className:"text-lg lg:text-xl text-slate-600 mb-8 leading-relaxed font-light",children:a.shortDescription}),(()=>{const t=[...a.tags,...a.metadata?.tools||[]],n=[...new Set(t)].filter(Boolean);return n.length>0?(0,e.jsxs)(i.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.4},className:"space-y-4",children:[(0,e.jsx)("h3",{className:"text-lg font-semibold text-slate-700",children:"Technologies utilisées"}),(0,e.jsx)("div",{className:"flex flex-wrap justify-center gap-2",children:n.map((d,o)=>(0,e.jsxs)(i.span,{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:.4,delay:.4+o*.05},className:"group flex items-center gap-2 px-4 py-2 bg-linear-to-r from-accent/15 to-accent/10 text-accent border border-accent/30 rounded-xl font-medium hover:border-accent/50 hover:shadow-md hover:shadow-accent/20 transition-all duration-300 cursor-pointer hover:scale-105",children:[(0,e.jsx)(r,{icon:L,className:"w-3 h-3"}),d]},d))})]}):null})()]})})}),a.metadata&&(0,e.jsx)("section",{className:v.section,children:(0,e.jsxs)(i.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"space-y-12",children:[(0,e.jsxs)("div",{className:"text-center",children:[(0,e.jsx)("h2",{className:"text-3xl font-bold text-slate-900 mb-3",children:"Détails du projet"}),(0,e.jsx)("div",{className:"w-16 h-0.5 bg-linear-to-r from-accent to-accent-dark rounded-full mx-auto"})]}),(0,e.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[a.metadata.client&&(0,e.jsxs)(i.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.1},className:"text-center group",children:[(0,e.jsx)("div",{className:"w-12 h-12 bg-linear-to-br from-accent/20 to-accent/10 rounded-2xl flex items-center justify-center mx-auto mb-3 group-hover:scale-105 transition-transform duration-300",children:(0,e.jsx)(r,{icon:P,className:"w-6 h-6 text-accent"})}),(0,e.jsx)("p",{className:"text-xs font-medium text-slate-500 mb-1 uppercase tracking-wider",children:"Client"}),(0,e.jsx)("p",{className:"font-bold text-slate-900 text-lg",children:a.metadata.client})]}),a.metadata.duration&&(0,e.jsxs)(i.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.2},className:"text-center group",children:[(0,e.jsx)("div",{className:"w-12 h-12 bg-linear-to-br from-blue-100 to-blue-50 rounded-2xl flex items-center justify-center mx-auto mb-3 group-hover:scale-105 transition-transform duration-300",children:(0,e.jsx)(r,{icon:O,className:"w-6 h-6 text-blue-600"})}),(0,e.jsx)("p",{className:"text-xs font-medium text-slate-500 mb-1 uppercase tracking-wider",children:"Durée"}),(0,e.jsx)("p",{className:"font-bold text-slate-900 text-lg",children:a.metadata.duration})]}),(0,e.jsxs)(i.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.3},className:"text-center group",children:[(0,e.jsx)("div",{className:"w-12 h-12 bg-linear-to-br from-green-100 to-green-50 rounded-2xl flex items-center justify-center mx-auto mb-3 group-hover:scale-105 transition-transform duration-300",children:(0,e.jsx)(r,{icon:B,className:"w-6 h-6 text-green-600"})}),(0,e.jsx)("p",{className:"text-xs font-medium text-slate-500 mb-1 uppercase tracking-wider",children:"Date"}),(0,e.jsx)("p",{className:"font-bold text-slate-900 text-lg",children:new Date(a.created_at).toLocaleDateString("fr-FR",{year:"numeric",month:"long"})})]}),a.category&&(0,e.jsxs)(i.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.4},className:"text-center group",children:[(0,e.jsx)("div",{className:"w-12 h-12 bg-linear-to-br from-purple-100 to-purple-50 rounded-2xl flex items-center justify-center mx-auto mb-3 group-hover:scale-105 transition-transform duration-300",children:(0,e.jsx)(r,{icon:D,className:"w-6 h-6 text-purple-600"})}),(0,e.jsx)("p",{className:"text-xs font-medium text-slate-500 mb-1 uppercase tracking-wider",children:"Catégorie"}),(0,e.jsx)("p",{className:"font-bold text-slate-900 text-lg capitalize",children:a.category})]})]}),(0,e.jsxs)("div",{className:"flex items-center justify-center",children:[(0,e.jsx)("div",{className:"flex-1 h-px bg-linear-to-r from-transparent via-slate-200 to-transparent"}),(0,e.jsx)("div",{className:"px-4",children:(0,e.jsx)("div",{className:"w-2 h-2 bg-slate-300 rounded-full"})}),(0,e.jsx)("div",{className:"flex-1 h-px bg-linear-to-r from-transparent via-slate-200 to-transparent"})]}),(0,e.jsxs)(i.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.3},className:"max-w-4xl mx-auto text-center",children:[(0,e.jsx)("h3",{className:"text-xl font-bold text-slate-900 mb-6",children:"à propos du projet"}),(0,e.jsx)("div",{className:"advanced-editor-preview text-lg leading-8 text-slate-700 font-light",children:(0,e.jsx)("p",{children:a.description})})]}),(a.metadata.website||a.metadata.github||a.metadata.figma||a.metadata.behance)&&(0,e.jsxs)(i.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.4},className:"text-center",children:[(0,e.jsx)("h3",{className:"text-xl font-bold text-slate-900 mb-6",children:"Liens du projet"}),(0,e.jsxs)("div",{className:"flex flex-wrap justify-center gap-3",children:[a.metadata.website&&(0,e.jsxs)("a",{href:a.metadata.website,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-2 px-6 py-3 bg-linear-to-r from-accent to-accent-dark text-white rounded-xl font-semibold shadow-lg shadow-accent/25 hover:shadow-xl hover:shadow-accent/35 transition-all duration-400 hover:scale-105",children:[(0,e.jsx)(r,{icon:q,className:"w-5 h-5 group-hover:scale-110 transition-transform"}),"Site web"]}),a.metadata.github&&(0,e.jsxs)("a",{href:a.metadata.github,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-2 px-6 py-3 bg-linear-to-r from-slate-800 to-slate-900 text-white rounded-xl font-semibold shadow-lg shadow-slate-800/25 hover:shadow-xl hover:shadow-slate-800/35 transition-all duration-400 hover:scale-105",children:[(0,e.jsx)(r,{icon:G,className:"w-5 h-5 group-hover:scale-110 transition-transform"}),"GitHub"]}),a.metadata.figma&&(0,e.jsxs)("a",{href:a.metadata.figma,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-2 px-6 py-3 bg-linear-to-r from-purple-600 to-purple-700 text-white rounded-xl font-semibold shadow-lg shadow-purple-600/25 hover:shadow-xl hover:shadow-
1purple-600/35 transition-all duration-400 hover:scale-105",children:[(0,e.jsx)(r,{icon:$,className:"w-5 h-5 group-hover:scale-110 transition-transform"}),"Figma"]}),a.metadata.behance&&(0,e.jsxs)("a",{href:a.metadata.behance,target:"_blank",rel:"noopener noreferrer",className:"group flex items-center gap-2 px-6 py-3 bg-linear-to-r from-blue-600 to-blue-700 text-white rounded-xl font-semibold shadow-lg shadow-blue-600/25 hover:shadow-xl hover:shadow-blue-600/35 transition-all duration-400 hover:scale-105",children:[(0,e.jsx)(r,{icon:M,className:"w-5 h-5 group-hover:scale-110 transition-transform"}),"Behance"]})]})]}),(0,e.jsxs)("div",{className:"flex items-center justify-center",children:[(0,e.jsx)("div",{className:"flex-1 h-px bg-linear-to-r from-transparent via-slate-200 to-transparent"}),(0,e.jsx)("div",{className:"px-4",children:(0,e.jsx)("div",{className:"w-2 h-2 bg-slate-300 rounded-full"})}),(0,e.jsx)("div",{className:"flex-1 h-px bg-linear-to-r from-transparent via-slate-200 to-transparent"})]}),a.metadata.team&&a.metadata.team.length>0&&(0,e.jsxs)(i.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.2},className:"text-center",children:[(0,e.jsxs)("div",{className:"flex items-center justify-center gap-3 mb-6",children:[(0,e.jsx)("div",{className:"w-10 h-10 bg-linear-to-br from-blue-100 to-blue-50 rounded-xl flex items-center justify-center",children:(0,e.jsx)(r,{icon:T,className:"w-5 h-5 text-blue-600"})}),(0,e.jsx)("h3",{className:"text-xl font-bold text-slate-900",children:"Ãquipe du projet"})]}),(0,e.jsx)("div",{className:"flex flex-wrap justify-center gap-2",children:a.metadata.team.map((t,n)=>(0,e.jsx)("span",{className:"px-4 py-2 bg-blue-50 text-blue-700 rounded-xl font-medium border border-blue-100 hover:bg-blue-100 transition-colors duration-300",children:t},n))})]})]})}),a.contentBlocks&&a.contentBlocks.length>0&&(0,e.jsx)("section",{className:v.section,children:(0,e.jsx)("div",{className:"space-y-20",children:a.contentBlocks.sort((t,n)=>t.order-n.order).map((t,n)=>(0,e.jsx)("div",{className:"w-full",children:p(t,n)},t.id))})}),a.images&&a.images.length>0&&(0,e.jsx)("section",{className:v.section,children:(0,e.jsxs)(i.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"text-center",children:[(0,e.jsx)("h2",{className:"text-3xl font-bold text-slate-900 mb-3",children:"Galerie complète"}),(0,e.jsx)("div",{className:"w-16 h-0.5 bg-linear-to-r from-accent to-accent-dark rounded-full mx-auto mb-10"}),(0,e.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 max-w-5xl mx-auto",children:a.images.sort((t,n)=>t.order-n.order).map((t,n)=>{const d=c.findIndex(o=>o.url===t.url);return(0,e.jsxs)(i.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:n*.1},className:"group cursor-pointer",onClick:()=>h(d),children:[(0,e.jsxs)("div",{className:"relative overflow-hidden rounded-xl shadow-lg shadow-slate-200/50 group-hover:shadow-xl group-hover:shadow-slate-300/60 transition-all duration-500",children:[(0,e.jsx)("img",{src:t.url,alt:t.alt,className:"w-full h-64 object-cover group-hover:scale-105 transition-transform duration-500"}),(0,e.jsx)("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-all duration-400 flex items-center justify-center",children:(0,e.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity duration-300",children:(0,e.jsxs)("div",{className:"flex items-center gap-2 text-white bg-black/50 backdrop-blur-sm rounded-xl px-4 py-2",children:[(0,e.jsx)(r,{icon:y,className:"w-4 h-4"}),(0,e.jsx)("span",{className:"font-medium text-sm",children:"Agrandir"})]})})})]}),t.caption&&(0,e.jsx)("p",{className:"text-slate-600 mt-4 text-center font-medium leading-relaxed",children:t.caption})]},t.id)})})]})})]}),(0,e.jsx)(W,{children:l!==null&&(0,e.jsx)(i.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-50 bg-black/95 flex items-center justify-center p-4",onClick:s,children:(0,e.jsxs)("div",{className:"relative max-w-7xl w-full h-full flex items-center justify-center",children:[(0,e.jsx)("button",{onClick:s,"aria-label":"Fermer",className:"absolute top-6 right-6 z-10 p-4 bg-white/10 hover:bg-white/20 rounded-2xl transition-colors text-white backdrop-blur-sm",children:(0,e.jsx)(r,{icon:U,className:"w-6 h-6"})}),c.length>1&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("button",{onClick:t=>{t.stopPropagation(),w()},"aria-label":"Image précédente",className:"absolute left-6 top-1/2 -translate-y-1/2 z-10 p-4 bg-white/10 hover:bg-white/20 rounded-2xl transition-colors text-white backdrop-blur-sm",children:(0,e.jsx)(r,{icon:_,className:"w-6 h-6"})}),(0,e.jsx)("button",{onClick:t=>{t.stopPropagation(),b()},"aria-label":"Image suivante",className:"absolute right-6 top-1/2 -translate-y-1/2 z-10 p-4 bg-white/10 hover:bg-white/20 rounded-2xl transition-colors text-white backdrop-blur-sm",children:(0,e.jsx)(r,{icon:A,className:"w-6 h-6"})})]}),(0,e.jsx)(i.img,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},src:c[l]?.url,alt:c[l]?.alt,className:"max-w-full max-h-full object-contain rounded-2xl",onClick:t=>t.stopPropagation()},l),c[l]?.caption&&(0,e.jsx)("div",{className:"absolute bottom-6 left-6 right-6 text-center",children:(0,e.jsx)("p",{className:"text-white bg-black/50 rounded-2xl px-6 py-4 backdrop-blur-sm text-lg font-medium",children:c[l].caption})}),(0,e.jsxs)("div",{className:"absolute bottom-6 right-6 text-white bg-black/50 rounded-2xl px-4 py-2 backdrop-blur-sm font-medium",children:[l+1," / ",c.length]})]})})})]})},le=()=>{const{id:a}=F(),j=z(),{toast:l}=ee(),{data:x,isLoading:c,isError:h}=E({queryKey:["project",a],queryFn:()=>J.getProjectById(parseInt(a)),enabled:!!a}),s=x?.project??null,b=a?h?"Impossible de charger le projet":null:"ID de projet manquant";(0,I.useEffect)(()=>{s&&g.viewProject(s.id.toString(),s.title)},[s]);const w=async()=>{if(!s)return;const t=`${s.title} - Projet VLTN`,n=s.shortDescription||s.description.substring(0,100),d=`${n}... 2 3ð¼ Développement web & mobile sur-mesure pour entreprises`,o=`ð ${s.title} - Projet VLTN 4 5${n}... 6 7ð¼ Développement web & mobile sur-mesure pour entreprises`,m=window.location.href;if(navigator.share)try{await navigator.share({title:t,text:d,url:m}),g.shareProject("native_share",s.id.toString())}catch(u){if(u instanceof Error&&u.name!=="AbortError"){const f=`${o} 8 9ð Voir le projet : 10${m}`;await navigator.clipboard.writeText(f),l({title:"Message copié",description:"Message prêt à partager copié dans le presse-papiers"}),g.shareProject("clipboard",s.id.toString())}}else{const u=`${o} 11 12ð Voir le projet : 13${m}`;try{await navigator.clipboard.writeText(u),l({title:"Message copié",description:"Message prêt à partager copié dans le presse-papiers"}),g.shareProject("clipboard",s.id.toString())}catch{const k=`ð ${s.title} - Projet VLTN 14 15ð ${m}`;await navigator.clipboard.writeText(k),l({title:"Lien copié",description:"Le lien du projet a été copié"}),g.shareProject("url_only",s.id.toString())}}},p=()=>{j("/projets")};return c?(0,e.jsx)("div",{className:"min-h-screen bg-linear-to-br from-slate-50 to-slate-100/50 flex items-center justify-center",children:(0,e.jsxs)("div",{className:"text-center",children:[(0,e.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-accent mx-auto mb-4"}),(0,e.jsx)("p",{className:"text-slate-600",children:"Chargement du projet..."})]})}):b||!s?(0,e.jsx)("div",{className:"min-h-screen bg-linear-to-br from-slate-50 to-slate-100/50 flex items-center justify-center",children:(0,e.jsxs)("div",{className:"text-center",children:[(0,e.jsx)("div",{className:"text-6xl mb-4",children:"ð"}),(0,e.jsx)("h1",{className:"text-2xl font-bold text-slate-900 mb-2",children:"Projet non trouvé"}),(0,e.jsx)("p",{className:"text-slate-600 mb-6",children:b||"Ce projet n'existe pas ou a été supprimé."}),(0,e.jsxs)("button",{onClick:p,className:"flex items-center gap-2 px-6 py-3 bg-accent text-white rounded-lg hover:bg-accent-dark transition-colors mx-auto",children:[(0,e.jsx)(r,{icon:N,className:"w-4 h-4"}),"Retour aux projets"]})]})}):(0,e.jsxs)("div",{className:"min-h-screen bg-linear-to-br from-slate-50 to-slate-100/50",children:[(0,e.jsx)(X,{title:s.title,de
15scription:s.shortDescription||s.description.substring(0,155),canonical:`/projets/${s.id}`,ogImage:s.image||s.images?.[0]?.url,ogType:"article",keywords:s.tags.join(", "),publishedTime:s.created_at,modifiedTime:s.updated_at}),(0,e.jsx)(Q,{data:[Y([{name:"Accueil",url:"/"},{name:"Projets",url:"/projets"},{name:s.title,url:`/projets/${s.id}`}]),Z(s)]}),(0,e.jsx)(i.div,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},transition:{duration:.5},className:"sticky top-0 z-50 bg-white/80 backdrop-blur-sm border-b border-slate-200",children:(0,e.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4",children:(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsxs)("button",{onClick:p,className:"flex items-center gap-2 px-4 py-2 text-slate-600 hover:text-slate-900 hover:bg-slate-100 rounded-lg transition-colors",children:[(0,e.jsx)(r,{icon:N,className:"w-4 h-4"}),(0,e.jsx)("span",{className:"font-medium",children:"Retour aux projets"})]}),(0,e.jsx)("div",{className:"flex items-center gap-3",children:(0,e.jsxs)("button",{onClick:w,"aria-label":"Partager le projet",className:"flex items-center gap-2 px-4 py-2 text-slate-600 hover:text-slate-900 hover:bg-slate-100 rounded-lg transition-colors",children:[(0,e.jsx)(r,{icon:S,className:"w-4 h-4"}),(0,e.jsx)("span",{className:"hidden sm:inline",children:"Partager"})]})})]})})}),(0,e.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[(0,e.jsx)(ae,{project:s}),(0,e.jsx)(i.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.8},className:"mt-16 pt-8 border-t border-slate-200",children:(0,e.jsxs)("div",{className:"text-center",children:[(0,e.jsx)("h3",{className:"text-xl font-semibold text-slate-900 mb-4",children:"Découvrir d'autres projets"}),(0,e.jsx)("button",{onClick:p,className:"inline-flex items-center gap-2 px-6 py-3 bg-accent text-white rounded-lg hover:bg-accent-dark transition-colors",children:"Voir tous les projets"})]})})]})]})};export{le as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.