NeahNew/.next/static/chunks/app/missions/page-4c76a6be4dbf5997.js
2025-05-06 23:01:34 +02:00

1 line
13 KiB
JavaScript

(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7916],{6101:(e,t,r)=>{"use strict";r.d(t,{s:()=>a,t:()=>l});var s=r(12115);function n(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(...e){return t=>{let r=!1,s=e.map(e=>{let s=n(e,t);return r||"function"!=typeof s||(r=!0),s});if(r)return()=>{for(let t=0;t<s.length;t++){let r=s[t];"function"==typeof r?r():n(e[t],null)}}}}function a(...e){return s.useCallback(l(...e),e)}},14503:(e,t,r)=>{"use strict";r.d(t,{dj:()=>m,oR:()=>u});var s=r(12115);let n=0,l=new Map,a=e=>{if(l.has(e))return;let t=setTimeout(()=>{l.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);l.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?a(r):e.toasts.forEach(e=>{a(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},o=[],d={toasts:[]};function c(e){d=i(d,e),o.forEach(e=>{e(d)})}function u(e){let{...t}=e,r=(n=(n+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>c({type:"DISMISS_TOAST",toastId:r});return c({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||s()}}}),{id:r,dismiss:s,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function m(){let[e,t]=s.useState(d);return s.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},19946:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var s=r(12115);let n=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),l=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,s.forwardRef)((e,t)=>{let{color:r="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:o,className:d="",children:c,iconNode:u,...m}=e;return(0,s.createElement)("svg",{ref:t,...a,width:n,height:n,stroke:r,strokeWidth:o?24*Number(i)/Number(n):i,className:l("lucide",d),...m},[...u.map(e=>{let[t,r]=e;return(0,s.createElement)(t,r)}),...Array.isArray(c)?c:[c]])}),o=(e,t)=>{let r=(0,s.forwardRef)((r,a)=>{let{className:o,...d}=r;return(0,s.createElement)(i,{ref:a,iconNode:t,className:l("lucide-".concat(n(e)),o),...d})});return r.displayName="".concat(e),r}},30477:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});var s=r(95155),n=r(12115),l=r(47924),a=r(89852),i=r(6874),o=r.n(i),d=r(97168),c=r(14503);function u(){let[e,t]=(0,n.useState)(""),[r,i]=(0,n.useState)([]),[u,m]=(0,n.useState)(!0),{toast:f}=(0,c.dj)();(0,n.useEffect)(()=>{(async()=>{try{m(!0);let e=await fetch("/api/missions");if(!e.ok)throw Error("Failed to fetch missions");let t=await e.json();console.log("Mission data with intention:",t.missions),i(t.missions||[])}catch(e){console.error("Error fetching missions:",e),f({title:"Erreur",description:"Impossible de charger les missions",variant:"destructive"})}finally{m(!1)}})()},[]);let p=r.filter(t=>t.name.toLowerCase().includes(e.toLowerCase())||t.niveau.toLowerCase().includes(e.toLowerCase())||t.missionType.toLowerCase().includes(e.toLowerCase())||t.oddScope.some(t=>t.toLowerCase().includes(e.toLowerCase()))),g=e=>new Date(e).toLocaleDateString("fr-FR",{day:"2-digit",month:"2-digit",year:"numeric"}),h=e=>{let t=e.oddScope&&e.oddScope.length>0?e.oddScope[0]:null,r=t?t.replace("odd-",""):null;return{number:r,label:r?"ODD ".concat(r):"Non cat\xe9goris\xe9",iconPath:r?"/F SDG Icons 2019 WEB/F-WEB-Goal-".concat(r.padStart(2,"0"),".png"):""}},x=e=>{switch(e){case"a":return"bg-green-100 text-green-800";case"b":return"bg-blue-100 text-blue-800";case"c":return"bg-purple-100 text-purple-800";case"s":return"bg-amber-100 text-amber-800";default:return"bg-gray-100 text-gray-800"}},b=e=>{switch(e){case"a":return"A";case"b":return"B";case"c":return"C";case"s":return"S";default:return e.toUpperCase()}};return(0,s.jsxs)("div",{className:"flex flex-col h-full w-full bg-white",children:[(0,s.jsx)("div",{className:"bg-white border-b border-gray-100 py-3 px-6",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("h1",{className:"text-gray-800 text-base font-medium",children:"G\xe9rez vos missions et opportunit\xe9s de b\xe9n\xe9volat"}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(l.A,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-500"}),(0,s.jsx)(a.p,{placeholder:"Rechercher une mission...",className:"h-9 pl-9 pr-3 py-2 text-sm bg-white text-gray-800 border-gray-200 rounded-md w-60",value:e,onChange:e=>t(e.target.value)})]})]})}),(0,s.jsx)("div",{className:"flex-1 overflow-auto bg-gray-50 p-6",children:u?(0,s.jsx)("div",{className:"flex justify-center items-center h-40",children:(0,s.jsx)("div",{className:"animate-spin rounded-full h-10 w-10 border-t-2 border-b-2 border-blue-600"})}):p.length>0?(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:(console.log("All mission logos:",p.map(e=>({id:e.id,name:e.name,logo:e.logo}))),p.map(e=>{let t=h(e),r=x(e.niveau);return(0,s.jsxs)("div",{className:"bg-white shadow-sm hover:shadow-md transition-shadow duration-200 border border-gray-200 overflow-hidden h-full rounded-lg flex flex-col",children:[(0,s.jsxs)("div",{className:"px-5 pt-4 pb-3 flex justify-between items-center border-b border-gray-100",children:[(0,s.jsx)("h2",{className:"text-base font-medium text-gray-900 line-clamp-2 flex-1",children:e.name}),(0,s.jsxs)("div",{className:"flex items-center gap-2 ml-2",children:[t.number&&(0,s.jsx)("div",{className:"flex items-center bg-gray-100 p-1 rounded-md",children:(0,s.jsx)("img",{src:t.iconPath,alt:t.label,className:"w-8 h-8",onError:e=>{e.target.style.display="none"}})}),(0,s.jsx)("span",{className:"flex-shrink-0 text-sm font-bold px-2.5 py-1.5 rounded-md ".concat(r),children:b(e.niveau)})]})]}),(0,s.jsx)("div",{className:"flex justify-center items-center p-6 flex-grow",children:(0,s.jsxs)("div",{className:"w-48 h-48 relative",children:[e.logo?(0,s.jsx)("img",{src:e.logo||"",alt:e.name,className:"w-full h-full object-cover rounded-md",onError:t=>{var r;console.log("Logo failed to load:",e.logo),console.log("Full URL attempted:",e.logo),t.currentTarget.style.display="none";let s=null==(r=t.currentTarget.parentElement)?void 0:r.querySelector(".logo-fallback");s&&(s.style.display="flex")}}):null,(0,s.jsx)("div",{className:"logo-fallback w-full h-full flex items-center justify-center bg-gray-100 rounded-md text-gray-500 text-4xl font-medium ".concat(e.logo?"hidden":""),children:e.name.slice(0,2).toUpperCase()})]})}),(0,s.jsxs)("div",{className:"px-5 pb-3",children:[e.services&&e.services.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-sm font-medium text-gray-700 block mb-1",children:"Services:"}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-3",children:e.services.map(e=>(0,s.jsx)("span",{className:"bg-blue-50 text-blue-700 px-2 py-1 rounded-md text-xs font-medium",children:e},e))})]}),(0,s.jsx)("div",{className:"mt-2 text-sm text-gray-600 line-clamp-2",children:e.intention?e.intention.substring(0,100)+(e.intention.length>100?"...":""):"Pas de description disponible."})]}),(0,s.jsxs)("div",{className:"mt-auto px-5 py-3 border-t border-gray-100 bg-gray-50 flex justify-between items-center",children:[(0,s.jsxs)("span",{className:"text-xs text-gray-500",children:["Cr\xe9\xe9e le ",g(e.createdAt)]}),(0,s.jsx)(o(),{href:"/missions/".concat(e.id),children:(0,s.jsx)(d.$,{className:"bg-blue-600 hover:bg-blue-700 text-white text-xs px-3 py-1 h-7 rounded-md",children:"Voir d\xe9tails"})})]})]},e.id)}))}):(0,s.jsxs)("div",{className:"text-center py-16 px-6 bg-white rounded-lg border border-gray-200 shadow-sm",children:[(0,s.jsx)("div",{className:"w-16 h-16 bg-gray-100 rounded-full flex items-center justify-center mx-auto mb-4",children:(0,s.jsx)(l.A,{className:"h-8 w-8 text-gray-400"})}),(0,s.jsx)("h3",{className:"text-lg font-medium text-gray-900 mb-2",children:"Aucune mission trouv\xe9e"}),(0,s.jsx)("p",{className:"text-gray-500 mb-6 max-w-md mx-auto",children:"Cr\xe9ez votre premi\xe8re mission pour commencer \xe0 organiser vos projets et inviter des participants."}),(0,s.jsx)(o(),{href:"/missions/new",children:(0,s.jsx)(d.$,{className:"bg-blue-600 hover:bg-blue-700 text-white px-4 py-2",children:"Cr\xe9er une nouvelle mission"})})]})})]})}},47924:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(19946).A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},53999:(e,t,r)=>{"use strict";r.d(t,{cn:()=>l});var s=r(52596),n=r(39688);function l(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.QP)((0,s.$)(t))}},58580:(e,t,r)=>{Promise.resolve().then(r.bind(r,30477))},74466:(e,t,r)=>{"use strict";r.d(t,{F:()=>a});var s=r(52596);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,l=s.$,a=(e,t)=>r=>{var s;if((null==t?void 0:t.variants)==null)return l(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:a,defaultVariants:i}=t,o=Object.keys(a).map(e=>{let t=null==r?void 0:r[e],s=null==i?void 0:i[e];if(null===t)return null;let l=n(t)||n(s);return a[e][l]}),d=r&&Object.entries(r).reduce((e,t)=>{let[r,s]=t;return void 0===s||(e[r]=s),e},{});return l(e,o,null==t||null==(s=t.compoundVariants)?void 0:s.reduce((e,t)=>{let{class:r,className:s,...n}=t;return Object.entries(n).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...i,...d}[t]):({...i,...d})[t]===r})?[...e,r,s]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},89852:(e,t,r)=>{"use strict";r.d(t,{p:()=>a});var s=r(95155),n=r(12115),l=r(53999);let a=n.forwardRef((e,t)=>{let{className:r,type:n,...a}=e;return(0,s.jsx)("input",{type:n,className:(0,l.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),ref:t,...a})});a.displayName="Input"},97168:(e,t,r)=>{"use strict";r.d(t,{$:()=>d,r:()=>o});var s=r(95155),n=r(12115),l=r(99708),a=r(74466),i=r(53999);let o=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=n.forwardRef((e,t)=>{let{className:r,variant:n,size:a,asChild:d=!1,...c}=e,u=d?l.DX:"button";return(0,s.jsx)(u,{className:(0,i.cn)(o({variant:n,size:a,className:r})),ref:t,...c})});d.displayName="Button"},99708:(e,t,r)=>{"use strict";r.d(t,{DX:()=>a});var s=r(12115),n=r(6101),l=r(95155),a=s.forwardRef((e,t)=>{let{children:r,...n}=e,a=s.Children.toArray(r),o=a.find(d);if(o){let e=o.props.children,r=a.map(t=>t!==o?t:s.Children.count(e)>1?s.Children.only(null):s.isValidElement(e)?e.props.children:null);return(0,l.jsx)(i,{...n,ref:t,children:s.isValidElement(e)?s.cloneElement(e,void 0,r):null})}return(0,l.jsx)(i,{...n,ref:t,children:r})});a.displayName="Slot";var i=s.forwardRef((e,t)=>{let{children:r,...l}=e;if(s.isValidElement(r)){let e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(r=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(r),a=function(e,t){let r={...t};for(let s in t){let n=e[s],l=t[s];/^on[A-Z]/.test(s)?n&&l?r[s]=(...e)=>{l(...e),n(...e)}:n&&(r[s]=n):"style"===s?r[s]={...n,...l}:"className"===s&&(r[s]=[n,l].filter(Boolean).join(" "))}return{...e,...r}}(l,r.props);return r.type!==s.Fragment&&(a.ref=t?(0,n.t)(t,e):e),s.cloneElement(r,a)}return s.Children.count(r)>1?s.Children.only(null):null});i.displayName="SlotClone";var o=({children:e})=>(0,l.jsx)(l.Fragment,{children:e});function d(e){return s.isValidElement(e)&&e.type===o}}},e=>{var t=t=>e(e.s=t);e.O(0,[4277,6874,8441,1684,7358],()=>t(58580)),_N_E=e.O()}]);