PageSourceSearch

https://sendunlimitedemail.com/sue/mod-DOekTkXK.js

js sendunlimitedemail.com collected 2026-10-05 06:24:53 UTC 2,576 bytes, 1 lines download raw bytes

1import{k as m,r as t,t as a,j as e,L as r}from"./edge-BOITG1XR.js";import{p as d}from"./mod-Dvq2FKRf.js";import{P as h}from"./mod-BHbsKpbp.js";import{E as g}from"./mod-DlaYEcom.js";import{T as p}from"./mod-BtfAUz86.js";const u=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],f=m("square-pen",u),P=()=>{const[l,n]=t.useState([]),[o,i]=t.useState(!0);t.useEffect(()=>{c()},[]);const c=async()=>{try{const s=await d.getAll();n(s)}catch{a.error("Failed to load pages")}finally{i(!1)}},x=async s=>{if(window.confirm("Are you sure you want to delete this page?"))try{await d.delete(s),a.success("Page deleted"),c()}catch{a.error("Failed to delete page")}};return o?e.jsx("div",{className:"p-8",children:"Loading..."}):e.jsxs("div",{className:"p-6",children:[e.jsxs("div",{className:"flex justify-between items-center mb-6",children:[e.jsx("h1",{className:"text-2xl font-bold",children:"Pages"}),e.jsxs(r,{to:"/admin/pages/create",className:"bg-black text-white px-4 py-2 rounded flex items-center gap-2",children:[e.jsx(h,{className:"w-4 h-4"})," Create Page"]})]}),e.jsx("div",{className:"bg-white rounded-lg shadow overflow-hidden",children:e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{className:"bg-gray-50 border-b",children:e.jsxs("tr",{children:[e.jsx("th",{className:"text-left p-4 font-medium text-gray-500",children:"Title"}),e.jsx("th",{className:"text-left p-4 font-medium text-gray-500",children:"Slug"}),e.jsx("th",{className:"text-left p-4 font-medium text-gray-500",children:"Actions"})]})}),e.jsxs("tbody",{children:[l.map(s=>e.jsxs("tr",{className:"border-b hover:bg-gray-50",children:[e.jsx("td",{className:"p-4 font-medium",children:s.title}),e.jsxs("td",{className:"p-4 text-gray-500",children:["/",s.slug]}),e.jsxs("td",{className:"p-4 flex gap-2",children:[e.jsx(r,{to:`/pages/${s.slug}`,target:"_blank",className:"p-2 text-gray-500 hover:text-blue-600",children:e.jsx(g,{className:"w-4 h-4"})}),e.jsx(r,{to:`/admin/pages/${s.id}`,className:"p-2 text-gray-500 hover:text-green-600",children:e.jsx(f,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>x(s.id),className:"p-2 text-gray-500 hover:text-red-600",children:e.jsx(p,{className:"w-4 h-4"})})]})]},s.id)),l.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:"3",className:"p-8 text-center text-gray-500",children:"No pages found. Create one to get started."})})]})]})})]})};export{P 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.