1import{r as t,X as b,g as f,j as e,H as p}from"./index-D4RX-tg8.js";const j=()=>{const[r,m]=t.useState(""),[n,u]=t.useState(""),[o,a]=t.useState(""),[i,d]=t.useState(!1),{signIn:c}=b(),x=f(),g=async s=>{s.preventDefault(),a(""),d(!0);const{error:l}=await c(r,n);d(!1),l?a(l.message):x("/admin")};return e.jsxs("div",{className:"min-h-screen bg-muted flex items-center justify-center p-4",children:[e.jsxs(p,{children:[e.jsx("title",{children:"Admin Login | SkinFX"}),e.jsx("meta",{name:"robots",content:"noindex,nofollow"})]}),e.jsxs("div",{className:"w-full max-w-sm bg-background border border-border p-8 rounded-md shadow-sm",children:[e.jsx("h1",{className:"text-2xl font-bold text-foreground mb-2",children:"Admin Login"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"Sign in to manage your services."}),o&&e.jsx("div",{className:"mb-4 p-3 bg-destructive/10 text-destructive text-sm rounded-md",children:o}),e.jsxs("form",{onSubmit:g,className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-foreground block mb-1.5",children:"Email"}),e.jsx("input",{type:"email",value:r,onChange:s=>m(s.target.value),required:!0,className:"w-full px-3 py-2.5 border border-input rounded-md text-sm bg-background focus:outline-none focus:ring-2 focus:ring-ring",placeholder:"[email protected]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-foreground block mb-1.5",children:"Password"}),e.jsx("input",{type:"password",value:n,onChange:s=>u(s.target.value),required:!0,className:"w-full px-3 py-2.5 border border-input rounded-md text-sm bg-background focus:outline-none focus:ring-2 focus:ring-ring"})]}),e.jsx("button",{type:"submit",disabled:i,className:"w-full bg-primary text-primary-foreground py-2.5 rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",children:i?"Signing in...":"Sign In"})]})]})]})};export{j 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.