PageSourceSearch

https://asc-fechten.lovable.app/assets/BlogTrash-BfMs9MCq.js

js asc-fechten.lovable.app collected 2026-10-03 03:22:59 UTC 5,206 bytes, 2 lines download raw bytes

1import{j as e}from"./ui-core-BOiROUzb.js";import{r as s}from"./vendor-3RvhFBmN.js";import{q as r,B as t,C as i,i as a,f as l,g as n,r as c,h as d,s as o,J as h}from"./index-7oMSrkv7.js";import{A as m,a as x,b as g,c as j,d as u,e as f,f as p,g as b,h as v}from"./alert-dialog-HhhTkLAD.js";import{af as w,aw as N,a2 as y,v as k}from"./lucide-W1LoSVjr.js";import{f as B}from"./utils-D7Zen_Cu.js";import{d as _}from"./de-DJuWpkdi.js";import"./supabase-D3BpmWu0.js";import"./ui-display-CzHBGL7u.js";import"./ui-form-CsMHcxL1.js";import"./react-router-qmmoPdSR.js";function E(){const[E,F]=s.useState([]),[A,P]=s.useState(!0),{user:C}=r(),D=async()=>{try{const{data:e,error:s}=await o.from("blog_posts").select("id, title, excerpt, author, created_at, deleted_at, published, tags").not("deleted_at","is",null).order("deleted_at",{ascending:!1});if(s)return void h.error("Fehler beim Laden der gelöschten Beiträge");F(e||[])}catch(e){h.error("Ein unerwarteter Fehler ist aufgetreten")}finally{P(!1)}};s.useEffect(()=>{D()},[]);return A?e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsx("div",{className:"animate-spin rounded-full h-32 w-32 border-b-2 border-primary"})}):e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl md:text-3xl font-bold text-foreground",children:"Papierkorb"}),e.jsx("p",{className:"text-muted-foreground",children:"Gelöschte Blog-Beiträge verwalten"})]}),E.length>0&&e.jsxs(m,{children:[e.jsx(x,{asChild:!0,children:e.jsxs(t,{variant:"destructive",children:[e.jsx(w,{className:"h-4 w-4 mr-2"}),"Papierkorb leeren"]})}),e.jsxs(g,{children:[e.jsxs(j,{children:[e.jsx(u,{children:"Papierkorb leeren?"}),e.jsx(f,{children:"Diese Aktion löscht alle Beiträge im Papierkorb endgültig. Diese Aktion kann nicht rückgängig gemacht werden."})]}),e.jsxs(p,{children:[e.jsx(b,{children:"Abbrechen"}),e.jsx(v,{onClick:async()=>{try{const{error:e}=await o.from("blog_posts").delete().not("deleted_at","is",null);if(e)return void h.error("Fehler beim Leeren des Papierkorbs");h.success("Papierkorb erfolgreich geleert"),D()}catch(e){h.error("Ein unerwarteter Fehler ist aufgetreten")}},className:"bg-destructive hover:bg-destructive/90",children:"Endgültig löschen"})]})]})]})]}),0===E.length?e.jsx(i,{children:e.jsxs(a,{className:"flex flex-col items-center justify-center py-12",children:[e.jsx(w,{className:"h-12 w-12 text-muted-foreground mb-4"}),e.jsx("h3",{className:"text-lg font-semibold text-muted-foreground mb-2",children:"Papierkorb ist leer"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Gelöschte Beiträge werden hier angezeigt"})]})}):e.jsx("div",{className:"grid gap-4",children:E.map(s=>e.jsxs(i,{className:"hover:shadow-md transition-shadow",children:[e.jsx(l,{children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(n,{className:"text-lg",children:s.title}),e.jsx(c,{className:"line-clamp-2",children:s.excerpt||"Keine Beschreibung verfügbar"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(t,{variant:"outline",size:"sm",onClick:()=>(async e=>{try{const{error:s}=await o.from("blog_posts").update({deleted_at:null}).eq("id",e);if(s)return void h.error("Fehler beim Wiederherstellen des Beitrags");h.success("Beitrag erfolgreich wiederhergestellt"),D()}catch(s){h.error("Ein unerwarteter Fehler ist aufgetreten")}})(s.id),children:[e.jsx(N,{className:"h-4 w-4 mr-2"}),"Wiederherstellen"]}),e.jsxs(m,{children:[e.jsx(x,{asChild:!0,children:e.jsxs(t,{variant:"destructive",size:"sm",children:[e.jsx(w,{className:"h-4 w-4 mr-2"}),"Endgültig löschen"]})}),e.jsxs(g,{children:[e.jsxs(j,{children:[e.jsx(u,{children:"Beitrag endgültig löschen?"}),e.jsxs(f,{children:['Diese Aktion löscht den Beitrag "',s.title,'" endgültig. Diese Aktion kann nicht rückgängig gemacht werden.']})]}),e.jsxs(p,{children:[e.jsx(b,{children:"Abbrechen"}),e.jsx(v,{onClick:()=>(async e=>{try{const{error:s}=await o.from("blog_posts").delete().eq("id",e);if(s)return void h.error("Fehler beim endgültigen Löschen des Beitrags");h.success("Beitrag endgültig gelöscht"),D()}catch(s){h.error("Ein unerwarteter Fehler ist aufgetreten")}})(s.id),className:"bg-destructive hover:bg-destructive/90",children:"Endgültig löschen"})]})]})]})]})]})}),e.jsxs(a,{children:[e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[s.author&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(y,{className:"h-4 w-4"}),s.author]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(k,{className:"h-4 w-4"}),"Gelöscht: ",B(new Date(s.deleted_at),"dd.MM.yyyy HH:mm",{locale:_})]}),e.jsx(d,{variant:s.published?"default":"secondary",children:s.published?"Veröffentlicht":"Entwurf"})]}),s.tags&&s.tags.length>0&&e.jsx("div",{className:"flex flex-wrap gap-2 mt-3",children:s.tags.map((s,r)=>e.jsx(d,{variant:"outline",className:"text-xs",children:s},r))})]})]},s.id))})]})}export{E as default};
2//# sourceMappingURL=BlogTrash-BfMs9MCq.js.map

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.