PageSourceSearch

https://dashboard.bex.co/assets/auth.device.index-CtX2BZvB.js

js bex.co collected 2026-10-09 23:17:39 UTC 2,392 bytes, 1 lines download raw bytes

1import{r as o,j as e}from"./vendor-react-2KYUPUk0.js";import{a as p,B as c,X as x,Y as v,Z as C,b$ as g,_ as j,$ as b,c0 as S,c1 as y,a2 as N,c2 as w,fw as D}from"./index-9VkdFAcH.js";import{A as l}from"./index--hXc0W7V.js";import"./vendor-radix-D3KcWVSr.js";import"./vendor-apollo-Cmz0lnME.js";const d=w("/auth/device/");function E(s,t){switch(s){case"unconfigured":return{title:t("auth.deviceUnavailableTitle"),subtitle:t("auth.deviceUnavailableSubtitle")};case"unexpected_client":return{title:t("auth.deviceRefusedTitle"),subtitle:t("auth.deviceRefusedSubtitle")};default:return{title:t("auth.deviceExpiredTitle"),subtitle:t("auth.deviceExpiredSubtitle")}}}function T(){const{device:s,deviceErrorCode:t}=d.useLoaderData(),{user_code:u,device_challenge:h}=d.useSearch(),{t:i}=p(),[n,m]=o.useState(!1),a=!s&&!t&&!!u&&!!h;if(o.useEffect(()=>{a&&window.location.replace(window.location.href)},[a]),!s){const{title:r,subtitle:f}=E(t,i);return e.jsx(l,{title:r,subtitle:f,children:!a&&e.jsx(c,{asChild:!0,variant:"outline",children:e.jsx("a",{href:"/",children:i("common.goHome")})})})}return e.jsx(l,{title:i("auth.deviceTitle"),subtitle:i("auth.deviceConfirmSubtitle"),children:e.jsxs(x,{children:[e.jsxs(v,{children:[e.jsxs(C,{className:"flex items-center gap-2",children:[e.jsx(g,{className:"size-5 text-primary"}),i("auth.deviceConfirmHeading")]}),e.jsx(j,{children:i("auth.deviceConfirmDescription")})]}),e.jsxs(b,{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-center gap-2 rounded-lg border bg-muted/40 py-4 font-mono text-lg tracking-[0.3em]",children:[e.jsx(S,{className:"size-4 shrink-0 text-muted-foreground"}),s.userCode]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:i("auth.deviceConfirmHint")})]}),e.jsx(y,{children:e.jsxs("form",{method:"POST",action:"/auth/device",className:N("flex w-full gap-3",n&&"pointer-events-none opacity-70"),"aria-busy":n,onSubmit:r=>{n&&r.preventDefault(),m(!0)},children:[e.jsx("input",{type:"hidden",name:"user_code",value:s.userCode}),e.jsx("input",{type:"hidden",name:"device_challenge",value:s.challenge}),e.jsx(c,{asChild:!0,variant:"outline",className:"flex-1",children:e.jsx("a",{href:"/",children:i("auth.deviceConfirmCancel")})}),e.jsx(c,{type:"submit",className:"flex-1",children:i("auth.deviceConfirmAuthorize")})]})})]})})}const P=T,z=D;export{P as component,z as pendingComponent};

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.