1import{r as i,j as t,h as p,s as x}from"./index-CLTM18rh.js";import{u as f}from"./AdminContext-B2hLlcqc.js";import{N as g}from"./NurLesen-BKsmfvXD.js";import"./authFetch-u5HjDcUX.js";const k=[{key:"home",label:"Startseite",publicHref:"/",shape:"custom"},{key:"geschichte",label:"Quartier · Geschichte",publicHref:"/quartier/geschichte",shape:"contentBlocks"},{key:"raumplanung",label:"Quartier · Raumplanung",publicHref:"/quartier/raumplanung",shape:"contentBlocks"},{key:"baeckeranlage",label:"Quartier · Bäckeranlage",publicHref:"/quartier/baeckeranlage",shape:"contentBlocks"},{key:"veranstaltungen",label:"Quartier · Veranstaltungen",publicHref:"/quartier/veranstaltungen",shape:"contentBlocks"},{key:"leitbild",label:"Ãber uns · Leitbild",publicHref:"/ueber-uns/leitbild",shape:"custom"},{key:"vorstand",label:"Ãber uns · Vorstand",publicHref:"/ueber-uns/vorstand",shape:"custom"},{key:"mitglied",label:"Mitmachen · Mitglied werden",publicHref:"/mitmachen/mitglied-werden",shape:"custom"},{key:"umfragen",label:"Mitmachen · Umfragen",publicHref:"/mitmachen/umfragen",shape:"custom"}];async function y(r){const{data:{session:n}}=await x.auth.getSession();return fetch(r,{headers:{Authorization:`Bearer ${n?.access_token??""}`}})}function S({onEdit:r}){const{permissions:n}=f(),l=n.perm_pages,[o,d]=i.useState([]),[u,c]=i.useState(!0);i.useEffect(()=>{y("/api/admin/pages").then(e=>e.ok?e.json():[]).then(e=>{d(Array.isArray(e)?e:[]),c(!1)}).catch(()=>c(!1))},[]);function m(e){const a=o.filter(s=>s.page_key===e);if(a.length===0)return null;const h=a.sort((s,b)=>b.updated_at.localeCompare(s.updated_at))[0];return new Date(h.updated_at).toLocaleString("de-CH",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})}return t.jsxs("div",{className:"max-w-3xl",children:[t.jsx(g,{recht:"perm_pages"}),t.jsx("h1",{className:"text-xl font-bold text-zinc-900 dark:text-white mb-2",children:"Seiten"}),t.jsx("p",{className:"text-sm text-zinc-500 dark:text-zinc-400 mb-6",children:"Textinhalte der statischen Seiten. Ãberschriften und Absätze sind editierbar; CTA-Buttons und Sidebars bleiben im Code."}),u?t.jsx("div",{className:"py-12 text-center text-zinc-400 text-sm",children:"Lädtâ¦"}):t.jsx("div",{className:"space-y-2",children:k.map(e=>{const a=m(e.key);return t.jsxs("div",{className:"bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-4 flex items-center gap-3",children:[t.jsx(p,{className:"w-4 h-4 text-zinc-400 shrink-0"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium text-zinc-900 dark:text-white",children:e.label}),t.jsx("p",{className:"text-xs text-zinc-400 mt-0.5",children:a?`Zuletzt bearbeitet: ${a}`:"Noch nicht in der Datenbank â Seed-Skript ausführen"})]}),t.jsx("a",{href:e.publicHref,target:"_blank",rel:"noreferrer",className:"px-3 py-1.5 text-xs font-medium text-zinc-500 dark:text-zinc-400 border border-zinc-200 dark:border-zinc-700 hover:border-zinc-300 rounded-md transition-colors",title:"Ãffentliche Seite ansehen",children:"Ansehen"}),t.jsx("button",{onClick:()=>r(e.key),className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 hover:bg-red-700 rounded-md transition-colors",children:l?"Bearbeiten":"Ansehen"})]},e.key)})})]})}export{S as AdminPages,k as EDITABLE_PAGES};
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.