1import{j as e,D as A,k as E,n as Y,p as Z,L as y,I as ee,A as se,B as h,u as F,P as m,X as b,ci as te,cj as ae,cA as ne,cB as le,bQ as ie,_ as re,bg as de,bL as ce,N as w,O as _,cn as oe}from"./index.BbKy4Oqu.js";import{r as x,u as me,bI as ue,a3 as P,N as xe,bJ as he,aa as pe,bm as ge,X as G,bA as je,l as fe,D as M}from"./icons.D6Qwvxuf.js";import{g as Ne}from"./workspace-utils.DWNoE-RK.js";import{P as be}from"./PlatzgesuchModal.l0XlenLw.js";import{R as ve,a as S}from"./radio-group.BfcSsufC.js";import{g as ye}from"./dateFnsLocale.DwHPkU9_.js";import"./uk.C7d4eC_5.js";import"./isSameWeek.BS0D4Ip5.js";const we=({open:f,onClose:i,onConfirm:s,action:g})=>{const[r,c]=x.useState(null),[u,a]=x.useState(""),d=()=>{r!==null&&(s({foundPlace:r,kitaName:r?u:void 0}),c(null),a(""))},p=()=>{c(null),a(""),i()},n=g==="pause"?"Pausieren":"Deaktivieren";return e.jsx(A,{open:f,onOpenChange:p,children:e.jsxs(E,{className:"sm:max-w-[500px]",children:[e.jsx(Y,{children:e.jsxs(Z,{children:["Betreuungsprofil ",n]})}),e.jsxs("div",{className:"space-y-6 py-4",children:[e.jsxs("div",{children:[e.jsx(y,{className:"text-base font-medium",children:"Hast du einen Platz gefunden?"}),e.jsxs(ve,{value:r===null?"":r.toString(),onValueChange:j=>c(j==="true"),className:"mt-3",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(S,{value:"true",id:"found-yes"}),e.jsx(y,{htmlFor:"found-yes",children:"Yes, habe einen"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(S,{value:"false",id:"found-no"}),e.jsx(y,{htmlFor:"found-no",children:"Nope, suche noch"})]})]})]}),r===!0&&e.jsxs("div",{children:[e.jsx(y,{htmlFor:"kita-name",className:"text-base font-medium",children:"Name der Kita *"}),e.jsx(ee,{id:"kita-name",value:u,onChange:j=>a(j.target.value),placeholder:"Name der Einrichtung eingeben...",className:"mt-2"})]})]}),e.jsxs(se,{children:[e.jsx(h,{variant:"outline",onClick:p,children:"Abbrechen"}),e.jsx(h,{onClick:d,disabled:r===null||r===!0&&!u.trim(),children:n})]})]})})},_e=({open:f,onClose:i,gesuch:s,onEdit:g,onPause:r,onEnd:c,onActivate:u})=>{const{t:a}=F("dashboard");if(!s)return null;const d=n=>n==="Mädchen"?a("platzgesuchDetail.girl"):n==="Junge"?a("platzgesuchDetail.boy"):n||a("platzgesuchDetail.notSpecified"),p=()=>{if(!s.geschlecht||s.geschlecht==="Nicht angegeben"||s.geschlecht==="Mädchen oder Junge")return e.jsxs("div",{className:"flex gap-2 justify-center mb-3",children:[e.jsx("img",{src:"/assets/gender-boy.png",alt:"Junge",className:"w-12 h-12 object-contain"}),e.jsx("img",{src:"/assets/gender-girl.png",alt:"Mädchen",className:"w-12 h-12 object-contain"})]});if(s.geschlecht==="Junge")return e.jsx("div",{className:"flex justify-center mb-3",children:e.jsx("img",{src:"/assets/gender-boy.png",alt:"Junge",className:"w-12 h-12 object-contain"})});if(s.geschlecht==="Mädchen")return e.jsx("div",{className:"flex justify-center mb-3",children:e.jsx("img",{src:"/assets/gender-girl.png",alt:"Mädchen",className:"w-12 h-12 object-contain"})})};return e.jsx(A,{open:f,onOpenChange:i,children:e.jsx(E,{className:"max-w-sm max-h-[90vh] overflow-y-auto p-4",children:e.jsxs("div",{className:"space-y-3 py-1",children:[s.status!=="Beendet"&&e.jsx("div",{className:"flex justify-center -mb-2",children:e.jsx(m,{className:"bg-green-600 text-white hover:bg-green-700 text-xs px-3 py-1 shadow-md",children:a("platzgesuchDetail.edit")})}),p(),e.jsx("div",{className:"text-center",children:e.jsxs("h2",{className:"text-xl font-bold",children:[s.kind_vorname," ",s.kind_nachname]})}),s.kita_name&&e.jsx("div",{className:"text-center",children:e.jsx("p",{className:"text-lg text-muted-foreground",children:s.kita_name})}),(s.strasse||s.postleitzahl||s.wohnort||s.radius_km)&&e.jsxs("div",{className:"text-center space-y-1",children:[s.strasse&&e.jsxs("p",{className:"text-sm text-muted-foreground flex items-center justify-center gap-2",children:[e.jsx(me,{className:"h-4 w-4"}),s.strasse]}),(s.postleitzahl||s.wohnort)&&e.jsx("p",{className:"text-sm text-muted-foreground",children:[s.postleitzahl,s.wohnort].filter(Boolean).join(" ")}),s.radius_km&&e.jsx("p",{className:"text-sm text-muted-foreground",children:a("platzgesuchDetail.searchR
1adius",{km:s.radius_km})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex justify-center gap-2 flex-wrap",children:[e.jsxs(m,{variant:"secondary",className:"rounded-full px-3 py-1.5 text-xs bg-muted",children:[e.jsx(ue,{className:"h-3.5 w-3.5 mr-1.5"}),d(s.geschlecht)]}),s.geburtsdatum&&e.jsxs(m,{variant:"secondary",className:"rounded-full px-3 py-1.5 text-xs bg-muted",children:[e.jsx(P,{className:"h-3.5 w-3.5 mr-1.5"}),a("platzgesuchDetail.born"),": ",b(new Date(s.geburtsdatum),"dd.MM.yyyy")]})]}),e.jsxs("div",{className:"flex justify-center gap-2 flex-wrap",children:[e.jsxs(m,{variant:"secondary",className:"rounded-full px-3 py-1.5 text-xs bg-muted",children:[e.jsx(P,{className:"h-3.5 w-3.5 mr-1.5"}),a("platzgesuchDetail.desiredStart"),": ",b(new Date(s.wunschtermin_aufnahme),"dd.MM.yyyy")]}),e.jsxs(m,{variant:"secondary",className:"rounded-full px-3 py-1.5 text-xs bg-muted",children:[e.jsx(xe,{className:"h-3.5 w-3.5 mr-1.5"}),a("platzgesuchDetail.careTime"),": ",s.gewuenschte_betreuungszeit]})]}),e.jsx("div",{className:"flex justify-center",children:e.jsxs(m,{variant:"secondary",className:"rounded-full px-3 py-1.5 text-xs bg-muted",children:[e.jsx(he,{className:"h-3.5 w-3.5 mr-1.5"}),a("platzgesuchDetail.voucher"),": ",s.gutschein_vorhanden?s.gutschein_gueltig_ab?a("platzgesuchDetail.yesFrom",{date:b(new Date(s.gutschein_gueltig_ab),"dd.MM.yyyy")}):a("platzgesuchDetail.yes"):a("platzgesuchDetail.no")]})})]}),s.status==="In Kontakt"&&e.jsx("div",{className:"flex justify-center",children:e.jsx(h,{className:"rounded-full px-6",children:a("platzgesuchDetail.contactNow")})}),s.platz_gefunden&&s.platz_gefunden_kita_name&&e.jsx("div",{className:"p-3 bg-green-50 rounded-lg border border-green-200",children:e.jsxs("p",{className:"text-xs text-green-700 text-center",children:["ð ",a("platzgesuchDetail.placeFound")," ",e.jsx("strong",{children:s.platz_gefunden_kita_name})]})}),Array.isArray(s.wichtige_kriterien)&&s.wichtige_kriterien.length>0&&e.jsxs("div",{className:"p-3 bg-muted/30 rounded-lg",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2 text-center",children:a("platzgesuchDetail.importantToUs")}),e.jsx("div",{className:"flex flex-wrap gap-2 justify-center",children:te.filter(n=>s.wichtige_kriterien.includes(n.id)).map(n=>e.jsxs(m,{variant:"outline",className:"text-xs",children:[e.jsx("span",{className:"mr-1",children:n.emoji}),ae(n.id,a)]},n.id))})]}),Array.isArray(s.besonderheiten)&&s.besonderheiten.length>0&&e.jsxs("div",{className:"p-3 bg-muted/30 rounded-lg",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2 text-center",children:a("platzgesuchDetail.specials")}),e.jsx("div",{className:"flex flex-wrap gap-2 justify-center",children:ne.filter(n=>s.besonderheiten.includes(n.id)).map(n=>e.jsxs(m,{variant:"outline",className:"text-xs",children:[e.jsx("span",{className:"mr-1",children:n.emoji}),le(n.id,a)]},n.id))})]}),s.anmerkung&&e.jsxs("div",{className:"p-3 bg-muted/30 rounded-lg",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:a("platzgesuchDetail.note")}),e.jsx("p",{className:"text-sm",children:s.anmerkung})]}),e.jsxs("div",{className:"flex justify-center gap-4 pt-2",children:[e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsx(h,{size:"icon",variant:"outline",className:"h-11 w-11 rounded-full border-2 border-green-600 hover:bg-green-50",onClick:()=>{g(s),i()},disabled:s.status==="Beendet",children:e.jsx(pe,{className:"h-5 w-5 text-green-600"})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a("platzgesuchDetail.edit")})]}),s.status==="Aktiv"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsx(h,{size:"icon",variant:"outline",className:"h-11 w-11 rounded-full border-2 border-orange-500 hover:bg-orange-50",onClick:()=>{r(s),i()},children:e.jsx(ge,{className:"h-5 w-5 text-orange-500"})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a("platzgesuchDetail.pause")})]}),e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsx(h,{size:"icon",variant:"outline",className:"h-11 w-11 rounded-full border-2 border-red-500 hover:bg-red-50",onClick:()=>{c(s),i()},children:e.jsx(G,{className:"h-5 w-5 text-red-500"})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a("platzgesuchDetail.delete")})]})]}),s.status==="Pausiert"&&u&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsx(h,{size:"icon",variant:"outline",className:"h-11 w-11 rounded-full border-2 border-green-500 hover:bg-green-50",onClick:()=>{u(s),i()},children:e.jsx(je,{className:"h-5 w-5 text-green-500"})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a("platzgesuchDetail.activate")})]}),e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsx(h,{size:"icon",variant:"outline",className:"h-11 w-11 rounded-full border-2 border-red-500 hover:bg-red-50",onClick:()=>{c(s),i()},children:e.jsx(G,{className:"h-5 w-5 text-red-500"})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a("platzgesuchDetail.delete")})]})]})]}),e.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:a("platzgesuchDetail.createdOn",{date:b(new Date(s.created_at),"dd.MM.yyyy")})})]})})})},Ee=()=>
1{const[f,i]=x.useState(!1),[s,g]=x.useState(null),[r,c]=x.useState(!1),[u,a]=x.useState("pause"),[d,p]=x.useState(null),[n,j]=x.useState(!1),[I,B]=x.useState(null),{platzgesuche:z,isLoading:T,updatePlatzgesuch:k,deletePlatzgesuch:De}=ie(),{toast:v}=re(),D=de(),{data:L={}}=ce(),{t:l,i18n:O}=F("dashboard"),R=ye(O.language),J=async t=>{if(!d)return;const o=u==="pause"?"Pausiert":"Beendet";try{const N={...d,id:d.id,status:o,geburtsdatum:new Date(d.geburtsdatum),wunschtermin_aufnahme:new Date(d.wunschtermin_aufnahme),gutschein_gueltig_ab:d.gutschein_gueltig_ab?new Date(d.gutschein_gueltig_ab):void 0,platz_gefunden:t.foundPlace,platz_gefunden_kita_name:t.foundPlace?t.kitaName:null,anmerkung:d.anmerkung};await k.mutateAsync(N);const Q=l(o==="Pausiert"?"meinGesuch.statusChangedPaused":"meinGesuch.statusChangedEnded"),V=t.foundPlace?l("meinGesuch.statusChangedWithPlace",{status:o==="Pausiert"?"pausiert":"beendet",kitaName:t.kitaName}):Q;v({title:l("meinGesuch.statusChanged"),description:V}),c(!1),p(null)}catch{v({title:l("meinGesuch.statusChangeError"),description:l("meinGesuch.statusChangeErrorDescription"),variant:"destructive"})}},K=async(t,o)=>{try{await k.mutateAsync({...t,id:t.id,status:o,geburtsdatum:new Date(t.geburtsdatum),wunschtermin_aufnahme:new Date(t.wunschtermin_aufnahme),gutschein_gueltig_ab:t.gutschein_gueltig_ab?new Date(t.gutschein_gueltig_ab):void 0});const N=l(o==="Aktiv"?"meinGesuch.statusChangedActivated":o==="Pausiert"?"meinGesuch.statusChangedPaused":"meinGesuch.statusChangedEnded");v({title:l("meinGesuch.statusChanged"),description:N})}catch{v({title:l("meinGesuch.statusChangeError"),description:l("meinGesuch.statusChangeErrorDescription"),variant:"destructive"})}},H=()=>{i(!1),g(null)},$=t=>{B(t),j(!0)},U=t=>{g(t),i(!0)},W=t=>{p(t),a("pause"),c(!0)},X=t=>{p(t),a("deactivate"),c(!0)},q=t=>{K(t,"Aktiv")},C=Ne;return e.jsxs("div",{className:"max-w-[900px] mx-auto p-2 sm:p-4 space-y-4 sm:space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-bold tracking-tight",children:l("meinGesuch.title")}),e.jsx("p",{className:"text-sm sm:text-base text-muted-foreground",children:l("meinGesuch.subtitle")})]}),T?e.jsxs("div",{className:"space-y-4",children:[e.jsx(w,{children:e.jsx(_,{className:"p-6",children:e.jsxs("div",{className:"animate-pulse space-y-4",children:[e.jsx("div",{className:"h-4 bg-muted rounded w-1/3"}),e.jsx("div",{className:"h-6 bg-muted rounded w-2/3"}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx("div",{className:"h-20 bg-muted rounded"}),e.jsx("div",{className:"h-20 bg-muted rounded"})]})]})})}),e.jsx("div",{className:"text-center py-4",children:e.jsx("p",{className:"text-muted-foreground text-sm",children:l("meinGesuch.loading")})})]}):z.length===0?e.jsx(w,{children:e.jsxs(_,{className:"text-center py-8",children:[e.jsx(fe,{className:"mx-auto h-12 w-12 text-muted-foreground mb-4"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:l("meinGesuch.noGesuchDescription")}),e.jsxs(h,{onClick:()=>i(!0),children:[e.jsx(M,{className:"mr-2 h-4 w-4"}),l("meinGesuch.createNewGesuch")]})]})}):e.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[z.sort((t,o)=>t.status==="Aktiv"&&o.status!=="Aktiv"?-1:t.status!=="Aktiv"&&o.status==="Aktiv"?1:new Date(o.created_at).getTime()-new Date(t.created_at).getTime()).map(t=>e.jsx(w,{className:"cursor-pointer hover:shadow-lg transition-shadow",onClick:()=>$(t),children:e.jsx(_,{className:"p-4 sm:p-6",children:e.jsxs("div",{className:"space-y-3",children:[D&&e.jsx(m,{className:`${C(t.status)} text-white font-medium px-2 py-1 text-xs self-start`,variant:"secondary",children:t.status}),e.jsxs("div",{className:`flex ${D?"flex-col gap-3":"items-center justify-between gap-4"}`,children:[e.jsxs("div",{className:"flex items-center gap-3 sm:gap-4 min-w-0 flex-1",children:[e.jsx("img",{src:oe(t.geschlecht,L),alt:t.geschlecht||"Kind",className:"h-24 sm:h-28 w-auto object-contain flex-shrink-0"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("h3",{className:"font-semibold text-base sm:text-lg text-foreground line-clamp-1",children:[t.kind_vorname," ",t.kind_nachname]}),e.jsxs("p",{className:"text-xs sm:text-sm text-muted-foreground line-clamp-1",children:[t.wohnort,", ",t.postleitzahl," ⢠",l("meinGesuch.radius",{km:t.radius_km})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:l("meinGesuch.gesuchFrom",{date:b(new Date(t.created_at),"dd. MMMM yyyy",{locale:R})})}),t.status==="Beendet"&&e.jsxs("p",{className:"text-xs mt-1 text-foreground",children:["Deaktiviert â"," ",t.platz_gefunden?e.jsxs(e.Fragment,{children:["Platz gefunden",t.platz_gefunden_kita_name?e.jsxs(e.Fragment,{children:[" in ",e.jsx("strong",{children:t.platz_gefunden_kita_name})]}):""]}):"noch auf Suche"]}),t.status==="Pausiert"&&e.jsxs("p",{className:"text-xs mt-1 text-foreground",children:["Pausiert",t.platz_gefunden&&t.platz_gefunden_kita_name?e.jsxs(e.Fragment,{children:[" â Platz in ",e.jsx("strong",{children:t.platz_gefunden_kita_name})]}):""]})]})]}),!D&&e.jsx(m,{className:`${C(t.status)} text-white font-medium px-3 py-1 text-sm flex-shrink-0`,variant:"secondary",children:t.status})]})]})})},t.id)),e.jsx(w,{className:"cursor-pointer hover:shadow-lg transition-shadow border-dashed border-2",onClick:()=>i(!0),children:e.jsxs(_,{className:"p-6 sm:p-8 flex flex-col items-center justify-center text-center min-h-[160px]",children:[e.jsx(M,{className:"h-10 w-10 text-muted-foreground mb-2"}),e.jsx("p",{className:"text-sm font-medium text-foreground",children:l("meinGesuch.addNewCardLabel")})]})})]}),e.jsx(be,{open:f,onClose:H,existingData:s}),e.jsx(we,{open:r,onClose:()=>c(!1),onConfirm:J,action:u}),e.jsx(_e,{open:n,onClose:()=>j(!1),gesuch:I,onEdit:U,onPause:W,onEnd:X,onActivate:q})]})};export{Ee 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.