1import{r as n,j as e,L as l}from"./react-CgBY0Ze-.js";import{b as L,L as N,e as R,M as x}from"./main-B4Jc9IaJ.js";import{P as M}from"./PageHeader-CnUIzDOJ.js";import{P as T}from"./Pagination-DV0ATNcS.js";import{al as A,bf as D,V as E}from"./vendor-NlgW4Nml.js";import"./http-BCn5QfZZ.js";import"./renderIcon-CWUPWWi0.js";const w={pending:"bg-amber-100 text-amber-800 dark:bg-amber-900/40 dark:text-amber-300",in_progress:"bg-sky-100 text-sky-800 dark:bg-sky-900/40 dark:text-sky-300",completed:"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/40 dark:text-emerald-300",cancelled:"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300"};function B(){const d=L(a=>a.showToast),[_,m]=n.useState(!0),[g,S]=n.useState([]),[p,C]=n.useState(0),[c,P]=n.useState(""),[y,u]=n.useState(1),[h,q]=n.useState({current_page:1,last_page:1}),[t,i]=n.useState(null),[b,k]=n.useState(!1),[F,j]=n.useState({}),v=async()=>{var a;m(!0);try{const r=await x.setupRequests.list({status:c||void 0,per_page:50,page:y}),s=((a=r.data)==null?void 0:a.data)||r.data||{};S(s.items||[]),C(s.pending_count||0),s.meta&&q(s.meta)}catch{d==null||d("Failed to load setup requests","error")}finally{m(!1)}};n.useEffect(()=>{v()},[c,y]);const f=async a=>{var r;k(!0),j({});try{const s=await x.setupRequests.get(a);i(((r=s.data)==null?void 0:r.data)||s.data)}catch{d==null||d("Failed to load request","error")}finally{k(!1)}},o=async(a,r)=>{try{await x.setupRequests.update(a,{status:r}),d==null||d("Status updated","success"),i(s=>s&&{...s,status:r}),v()}catch{d==null||d("Failed to update","error")}};return e.jsxs("div",{className:"space-y-4",children:[e.jsx(M,{title:"Free-Setup Requests",description:"Merchants who asked us to set up their chatbot. Each includes the access we need for their platform.",icon:e.jsx(A,{className:"w-5 h-5"}),iconAccent:"violet",actions:p>0?e.jsxs("span",{className:"px-3 py-1 rounded-full bg-amber-100 text-amber-800 dark:bg-amber-900/40 dark:text-amber-300 text-sm font-medium",children:[p," pending"]}):null}),e.jsx("div",{className:"mb-4 inline-flex rounded-md shadow-sm",children:["","pending","in_progress","completed"].map((a,r,s)=>e.jsx("button",{onClick:()=>{P(a),u(1)},className:"px-3 py-1.5 text-sm border "+(c===a?"bg-gray-800 text-white border-gray-800 dark:bg-gray-600 dark:border-gray-600":"bg-white text-gray-700 border-gray-300 hover:bg-gray-50 dark:bg-gray-800 dark:text-gray-200 dark:border-gray-600 dark:hover:bg-gray-700/50")+(r===0?" rounded-l-md":"")+(r===s.length-1?" rounded-r-md":""),children:a===""?"All":a.replace("_"," ")},a||"all"))}),_?e.jsx("div",{className:"flex justify-center py-12",children:e.jsx(N,{})}):g.length===0?e.jsx("div",{className:"bg-white border border-gray-200 rounded-lg p-8 text-center text-gray-600 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-300",children:"No setup requests."}):e.jsx("div",{className:"bg-white border border-gray-200 rounded-lg divide-y dark:bg-gray-800 dark:border-gray-700 dark:divide-gray-700/60",children:g.map(a=>e.jsxs("div",{onClick:()=>f(a.id),className:"px-4 py-3 hover:bg-gray-50 dark:hover:bg-gray-700/50 flex items-center justify-between gap-3 cursor-pointer",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("button",{type:"button",onClick:r=>{r.stopPropagation(),f(a.id)},className:"font-medium text-gray-900 dark:text-gray-100 truncate text-left hover:text-primary-600 dark:hover:text-primary-300 hover:underline",children:a.store||a.merchant}),e.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300",children:a.platform}),e.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:a.request_type})]}),e.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400 mt-0.5 flex items-center gap-1.5 flex-wrap",children:[a.user_id?e.jsxs(l,{to:`/admin/users/${a.user_id}`,onClick:r=>r.stopPropagation(),className:"inline-flex items-center gap-1 hover:text-primary-600 dark:hover:text-primary-300 hover:underline",title:"Open merchant account",children:[e.jsx(D,{className:"w-3 h-3","aria-hidden":"true"}),a.merchant_email||a.merchant]}):e.jsx("span",{children:a.merchant_email||a.merchant}),a.store_id&&e.jsxs(e.Fragment,{children:[e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsxs(l,{to:`/admin/stores/${a.store_id}`,onClick:r=>r.stopPropagation(),className:"inline-flex items-center gap-1 hover:text-primary-600 dark:hover:text-primary-300 hover:underline",title:"Open store",children:[e.jsx(E,{className:"w-3 h-3","aria-hidden":"true"}),"Store"]})]}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("span",{children:R(a.created_at)})]})]}),e.jsx("span",{className:"text-xs font-medium px-2 py-1 rounded "+(w[a.status]||"bg-gray-100 dark:bg-gray-700"),children:a.status.replace("_"," ")})]},a.id))}),(t||b)&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40",onClick:()=>i(null),children:e.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-2xl w-full max-w-lg max-h-[90vh] flex flex-col",onClick:a=>a.stopPropagation(),children:b?e.jsx("div",{className:"p-10 flex justify-center",children:e.jsx(N,{})}):t&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"px-6 py-5 border-b dark:border-gray-700 flex items-start justify-between",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:t.store_id?e.jsx(l,{to:`/admin/stores/${t.store_id}`,className:"hover:text-primary-600 dark:hover:text-primary-300 hover:underline",children:t.store||t.merchant}):t.store||t.merchant}),e.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:[t.platform," · ",t.request_type," ·"," ",t.user_id?e.jsx(l,{to:`/admin/users/${t.user_id}`,className:"hover:text-primary-600 dark:hover:text-primary-300 hover:underline",children:t.merchant_email}):t.merchant_email]})]}),e.jsx("span",{className:"text-xs font-medium px-2 py-1 rounded "+(w[t.status]||"bg-gray-100 dark:bg-gray-700"),children:t.status.replace("_"," ")})]}),e.jsxs("div",{className:"px-6 py-5 space-y-4 overflow-y-auto",children:[t.notes&&e.jsxs("div",{className:"text-sm",children:[e.jsx("div",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 mb-1",children:"Merchant notes"}),e.jsx("div",{className:"bg-gray-50 dark:bg-gray-900/40 rounded p-2 text-gray-800 dark:text-gray-200 whitespace-pre-wrap",children:t.notes})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 mb-2",children:"Access details"}),e.jsx("div",{className:"space-y-2",children:(t.access_fields||[]).map(a=>e.jsxs("div",{className:"flex items-center justify-between gap-3 text-sm border border-gray-100 dark:border-gray-700/60 rounded px-3 py-2",children:[e.jsx("span",{className:"text-gray-500 dark:text-gray-400",children:a.label}),e.jsx("span",{className:"font-mono text-gray-900 dark:text-gray-100 flex items-center gap-2 min-w-0",children:a.secret&&!F[a.key]?e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"â¢â¢â¢â¢â¢â¢â¢â¢"}),e.jsx("button",{onClick:()=>j(r=>({...r,[a.key]:!0})),className:"text-xs text-primary-600 dark:text-primary-400 hover:underline",children:"show"})]}):e.jsx("span",{className:"truncate max-w-[240px]",title:a.value,children:a.value})})]},a.key))})]})]}),e.jsxs("div",{className:"px-6 py-4 border-t dark:border-gray-700 flex flex-wrap gap-2 justify-between items-center",children:[e.jsxs("div",{className:"flex gap-2",children:[t.status!=="in_progress"&&e.jsx("button",{onClick:()=>o(t.id,"in_progress"),className:"text-xs px-3 py-1.5 rounded border border-sky-300 bg-sky-50 text-sky-700 dark:border-sky-700 dark:bg-sky-900/30 dark:text-sky-300",children:"Start"}),t.status!=="completed"&&e.jsx("button",{onClick:()=>o(t.id,"completed"),className:"text-xs px-3 py-1.5 rounded border border-emerald-300 bg-emerald-50 text-emerald-700 dark:border-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-300",children:"Mark done"}
1),t.status!=="cancelled"&&e.jsx("button",{onClick:()=>o(t.id,"cancelled"),className:"text-xs px-3 py-1.5 rounded text-gray-500 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-700",children:"Cancel"})]}),e.jsx("button",{onClick:()=>i(null),className:"text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300 dark:hover:text-gray-100",children:"Close"})]})]})})}),e.jsx(T,{currentPage:h.current_page,lastPage:h.last_page,onPageChange:u})]})}export{B 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.