1import{c as V}from"./Dp6xroGS.js";import{_ as B,a as I,b as L}from"./DNlbjVTN.js";import{c as N,a as u}from"./ihpd6ZvD.js";import{A as m,c as d,o as l,r as f,D as g,d as a,f as j,E as q,i as v,w as s,a as o,e as i,t as p,p as E,b as F,q as P,v as z,G}from"./CDMIIqi7.js";import{c as H,_ as M}from"./CLETTTpt.js";import{o as R,s as J,_ as K}from"./Cpg0zVpf.js";import{_ as O}from"./DlAUqK2U.js";import"./CIEAMVto.js";import"./BwvugrR4.js";/** 2 * @license lucide-vue-next v0.511.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const Q=N("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),U=m({__name:"CardDescription",props:{class:{}},setup(n){const t=n;return(e,_)=>(l(),d("p",{class:g(a(u)("text-sm text-muted-foreground",t.class))},[f(e.$slots,"default")],2))}}),W=m({__name:"Alert",props:{class:{},variant:{}},setup(n){const t=n;return(e,_)=>(l(),d("div",{class:g(a(u)(a(Z)({variant:e.variant}),t.class)),role:"alert"},[f(e.$slots,"default")],2))}}),X=m({__name:"AlertTitle",props:{class:{}},setup(n){const t=n;return(e,_)=>(l(),d("h5",{class:g(a(u)("mb-1 font-medium leading-none tracking-tight",t.class))},[f(e.$slots,"default")],2))}}),Y=m({__name:"AlertDescription",props:{class:{}},setup(n){const t=n;return(e,_)=>(l(),d("div",{class:g(a(u)("text-sm [&_p]:leading-relaxed",t.class))},[f(e.$slots,"default")],2))}}),Z=H("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),ee={__name:"Login",setup(n){const{t}=j(),e=R({token:J().describe("SiteToken")}),_={token:{inputProps:{type:"password",placeholder:"********"}}},{previewMode:y}=q().public;async function $(r){try{localStorage.setItem("SinkSiteToken",r.token),await P("/api/verify"),z("/dashboard")}catch(c){console.error(c),G.error(t("login.failed"),{description:c.message})}}return(r,c)=>{const k=I,x=U,b=B,h=X,C=Y,w=W,A=M,S=K,T=L,D=V;return l(),v(D,{class:"w-full max-w-sm"},{default:s(()=>[o(b,null,{default:s(()=>[o(k,{class:"text-2xl"},{default:s(()=>[i(p(r.$t("login.title")),1)]),_:1}),o(x,null,{default:s(()=>[i(p(r.$t("login.description")),1)]),_:1})]),_:1}),o(T,{class:"grid gap-4"},{default:s(()=>[o(S,{class:"space-y-6",schema:a(e),"field-config":_,onSubmit:$},{default:s(()=>[a(y)?(l(),v(w,{key:0},{default:s(()=>[o(a(Q),{class:"w-4 h-4"}),o(h,null,{default:s(()=>[i(p(r.$t("login.tips")),1)]),_:1}),o(C,null,{default:s(()=>[i(p(r.$t("login.preview_token"))+" ",1),c[0]||(c[0]=F("code",{class:"font-mono text-green-500"},"SinkCool",-1)),c[1]||(c[1]=i(" . "))]),_:1,__:[0,1]})]),_:1})):E("",!0),o(A,{class:"w-full"},{default:s(()=>[i(p(r.$t("login.submit")),1)]),_:1})]),_:1},8,["schema"])]),_:1})]),_:1})}}},te={},se={class:"flex items-center justify-center h-full"};function oe(n,t){const e=ee;return l(),d("main",se,[o(e)])}const ue=O(te,[["render",oe]]);export{ue 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.