1import{j as e,r as o}from"./main-CahjUr4I.js";import{I as d}from"./iconify-8t5mJcti.js";import{S as F}from"./index-DQYIuZT0.js";import{B as t}from"./button-Dc2kAdZA.js";import{I as _}from"./input-DGgrtd9p.js";import{L as v}from"./label-CZernm8N.js";import{D as w,b as N,c as C,d as k,f as E,e as D}from"./dialog-C9s5CDPO.js";import{C as G}from"./card-BbjlkW-t.js";import{S as H}from"./switch-DhpAEYpX.js";import{B as j}from"./badge-BENIYJd-.js";import{T as O,a as b,b as f,c as g}from"./tooltip-Dwa_g2iz.js";import{T as R,a as U,b as y,c as r,d as q,e as a}from"./table-B6HWJaEU.js";import{B as z}from"./BreadcrumbComp-WhXkVFo0.js";import"./_commonjsHelpers-CE1G-McA.js";import"./index-BwLuQsrO.js";import"./index-DTc6jNdV.js";import"./index-Cft9Cwv8.js";import"./utils-4perknFd.js";import"./index-CPctk4rI.js";import"./index-BRWZPtOG.js";import"./index-CwO4Kzp-.js";import"./index-DowDMBMw.js";import"./index-Cn4KSlzr.js";import"./index--y_7OwQy.js";import"./index-DuCPFAZQ.js";import"./tslib.es6-CmEaCU22.js";import"./index-B3XF33CA.js";import"./createLucideIcon-CzslAtxE.js";import"./index-cjlbD-DF.js";import"./index-DZSltkyG.js";import"./index-D3IAdPlN.js";import"./floating-ui.dom-D7G01c1r.js";import"./CardBox-BwxJv5t6.js";const L=({open:m,onClose:i})=>e.jsx(w,{open:m,onOpenChange:i,children:e.jsxs(N,{className:"sm:max-w-md",children:[e.jsxs(C,{children:[e.jsx(k,{children:"Generate New API Key"}),e.jsx(E,{children:"To enable secure access to the web services, your app requires an API key with permissions for resources such as the S3 bucket."})]}),e.jsxs("div",{className:"mt-4 space-y-2",children:[e.jsx(v,{htmlFor:"app-name",className:"capitalize text-link dark:text-darklink",children:"Enter your application name"}),e.jsx(_,{id:"app-name",name:"app-name",type:"text",required:!0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Naming your application makes it easier to recognize your API key in the future."})]}),e.jsxs(D,{className:"mt-6",children:[e.jsx(t,{variant:"secondary",children:"Generate API Key"}),e.jsx(t,{onClick:i,variant:"outline",children:"Cancel"})]})]})}),W=[{id:1,name:"Web Client API Key",key:"web_live_************5182",status:"Active",created:"11 Feb, 2025",lastUsed:"Today, 09:30 AM",enabled:!0},{id:2,name:"Development API key",key:"dev_live_************9471",status:"Active",created:"19 Dec, 2024",lastUsed:"Today, 01:30 AM",enabled:!0},{id:3,name:"Production API Key",key:"pro_live_************3845",status:"Disabled",created:"23 Mar, 2024",lastUsed:"Today, 06:30 PM",enabled:!1}];function J(){const[m,i]=o.useState(W),[A,x]=o.useState(!1),[T,h]=o.useState(null),[I,c]=o.useState(!1),[p,u]=o.useState(null),P=s=>{i(l=>l.map(n=>n.id===s?{...n,enabled:!n.enabled,status:n.enabled?"Disabled":"Active"}:n))},K=(s,l)=>{navigator.clipboard.writeText(l),h(s),setTimeout(()=>h(null),2e3)},S=s=>{u(s),c(!0)},B=()=>{c(!1)},M=async()=>{p!==null&&i(s=>s.filter(l=>l.id!==p)),c(!1),u(null)};return e.jsxs(G,{children:[e.jsxs("div",{className:"flex flex-col gap-5 sm:flex-row sm:items-center justify-between border-b border-border dark:border-darkborder py-4 px-1 ",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"card-title",children:"API Keys"}),e.jsx("p",{className:"card-subtitle",children:"API keys are used to authentication requests to the tailadmin API"})]}),e.jsx("div",{children:e.jsxs(t,{className:" flex items-center gap-2 ",onClick:()=>x(!0),children:[e.jsx(d,{icon:"solar:add-circle-line-duotone",width:20,height:20}),"Generate API key"]})})]}),e.jsx(F,{className:"max-h-[580px] overflow-y-auto",children:e.jsx("div",{className:`overflow-x-auto 2 `,children:e.jsx(O,{children:e.jsxs(R,{className:"min-w-full ",children:[e.jsx(U,{className:"min-w-full ",children:e.jsxs(y,{children:[e.jsx(r,{className:" px-1",children:"Name"}),e.jsx(r,{children:"Status"}),e.jsx(r,{children:"Created"}),e.jsx(r,{children:"Last used"}),e.jsx(r,{children:"Disable/Enable"}),e.jsx(r,{children:"Action"})]})}),e.jsx(q,{className:"divide-y divide-border dark:divide-darkborder ",children:m.map(s=>e.jsxs(y,{children:[e.jsxs(a,{className:"whitespace-nowrap min-w-sm px-1",children:[e.jsx(v,{className:"text-link dark:text-darklink ",children:s.name}),e.jsxs("div",{className:"flex items-center gap-3 mt-1",children:[e.jsxs("div",{className:"flex rounded-lg",children:[e.jsx("input",{type:"text",value:s.key,readOnly:!0,className:`py-1.5 3 sm:py-2 px-3 4 block w-full 5 border border-border rounded-s-lg 6 sm:text-sm focus:z-10 7 focus:outline-0 8 text-muted dark:text-lightgray 9 dark:border-darkborder 10 `}),e.jsx("span",{className:`relative inline-flex items-center min-w-fit roun
10ded-e-md border border-s-0 border-border text-sm dark:border-darkborder 11 `,children:e.jsx("button",{onClick:()=>K(s.id,s.key),className:" cursor-pointer flex items-center gap-2 px-4 py-2.5 text-sm text-muted dark:text-lightgray transition w-full h-full",children:T===s.id?e.jsxs(e.Fragment,{children:[e.jsx(d,{icon:"solar:check-read-line-duotone",width:20,height:20}),"Copied"]}):e.jsxs(e.Fragment,{children:[e.jsx(d,{icon:"solar:copy-line-duotone",width:20,height:20}),"Copy"]})})})]}),e.jsxs(b,{children:[e.jsx(f,{asChild:!0,children:e.jsx(t,{variant:"lightprimary",children:e.jsx(d,{icon:"solar:refresh-bold-duotone",width:20,height:20})})}),e.jsx(g,{children:"Regenerate"})]})]})]}),e.jsx(a,{children:s.status==="Active"?e.jsx(j,{variant:"lightSuccess",children:"Active"}):e.jsx(j,{variant:"lightError",children:"Disabled"})}),e.jsx(a,{className:"text-muted dark:text-lightgray whitespace-nowrap",children:s.created}),e.jsx(a,{className:" text-muted dark:text-lightgray whitespace-nowrap",children:s.lastUsed}),e.jsx(a,{children:e.jsx(H,{checked:s.enabled,onCheckedChange:()=>P(s.id)})}),e.jsx(a,{children:e.jsxs(b,{children:[e.jsx(f,{asChild:!0,children:e.jsx(t,{variant:"ghosterror",onClick:()=>S(s.id),children:e.jsx(d,{icon:"solar:trash-bin-minimalistic-outline",width:20,height:20})})}),e.jsx(g,{children:"Delete"})]})})]},s.id))})]})})})}),e.jsx(L,{open:A,onClose:()=>x(!1)}),e.jsx(w,{open:I,onOpenChange:c,children:e.jsxs(N,{className:"sm:max-w-md",children:[e.jsx(C,{children:e.jsx(k,{className:"text-center w-full",children:"Delete API Key"})}),e.jsx("div",{className:"text-center text-muted-foreground text-sm",children:"Are you sure you want to delete this API key?"}),e.jsxs(D,{className:"sm:justify-center",children:[e.jsx(t,{variant:"destructive",onClick:M,children:"Delete"}),e.jsx(t,{variant:"outline",onClick:B,children:"Cancel"})]})]})})]})}const Q=[{to:"/",title:"Home"},{to:"",title:"Api Keys"}];function Te(){return e.jsxs(e.Fragment,{children:[e.jsx(z,{title:"Api Keys",items:Q}),e.jsx(J,{})]})}export{Te as component};
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.