PageSourceSearch

https://glter.co.kr/_next/static/chunks/0jwh.sk_l.l0w.js

js glter.co.kr collected 2026-10-06 13:17:11 UTC 5,206 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,388,e=>{"use strict";e.i(47167);var r=e.i(43476),t=e.i(22016),a=e.i(71645),s=e.i(18566),c=e.i(95187);let l=(0,c.createServerReference)("6031e41beb76c92cc3e45a3c5840b65732c9b68d8e",c.callServer,void 0,c.findSourceMapURL,"signInWithPassword");function o(){let[e,c,o]=(0,a.useActionState)(l,{}),n=(0,s.useSearchParams)(),x=n.get("error"),u="done"===n.get("reset"),h=x?function(e){switch(e){case"oauth_state":case"oauth_nonce":return"로그인 흐름이 만료되었거나 변조되었습니다. 다시 시도해주세요.";case"oauth_token":return"Google 인증 처리 중 오류가 발생했습니다. 잠시 후 다시 시도해주세요.";case"oauth_no_id_token":return"Google에서 받은 응답이 올바르지 않습니다.";case"oauth_misconfigured":return"사이트 설정 문제로 Google 로그인을 사용할 수 없어요. 운영자에게 알려주세요.";case"account_deleted":return"이미 탈퇴한 계정입니다. 같은 이메일로 새로 가입하실 수 있습니다.";
1case"access_denied":return"Google 로그인 권한 요청이 취소되었어요.";default:return`로그인에 실패했습니다: ${decodeURIComponent(e)}`}}(x):null;return(0,r.jsxs)("div",{className:"space-y-8",children:[(0,r.jsxs)("header",{className:"space-y-1.5",children:[(0,r.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:"글터에 오신 걸 환영해요"}),(0,r.jsx)("p",{className:"text-sm text-[var(--color-ink-muted)]",children:"계정으로 로그인합니다."})]}),h&&(0,r.jsx)("div",{className:"rounded-lg border border-[var(--color-danger)]/30 bg-[var(--color-danger)]/5 p-3 text-sm text-[var(--color-danger)]",children:h}),u&&(0,r.jsx)("div",{className:"rounded-lg border border-[var(--color-accent)]/30 bg-[var(--color-accent)]/5 p-3 text-sm text-[var(--color-accent)]",children:"비밀번호가 변경되었습니다. 새 비밀번호로 로그인해 주세요."}),(0,r.jsxs)("form",{action:c,className:"space-y-4",children:[(0,r.jsx)(i,{label:"이메일",name:"email",type:"email",required:!0}),(0,r.jsx)(i,{label:"비밀번호",name:"password",type:"password",required:!0}),e.error&&(0,r.jsx)("p",{className:"text-sm text-[var(--color-danger)]",children:e.error}),(0,r.jsx)("button",{type:"submit",disabled:o,className:"h-11 w-full rounded-full bg-[var(--color-accent)] text-sm font-medium text-white transition hover:bg-[var(--color-accent-hover)] disabled:opacity-60",children:o?"로그인 중…":"로그인"}),(0,r.jsx)("div",{className:"text-right text-xs",children:(0,r.jsx)(t.default,{href:"/forgot",className:"text-[var(--color-ink-muted)] hover:text-[var(--color-accent)] hover:underline",children:"비밀번호를 잊으셨나요?"})})]}),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 text-xs text-[var(--color-ink-faint)]",children:[(0,r.jsx)("span",{className:"h-px flex-1 bg-[var(--color-line)]"}),(0,r.jsx)("span",{children:"또는"}),(0,r.jsx)("span",{className:"h-px flex-1 bg-[var(--color-line)]"})]}),(0,r.jsxs)("a",{href:"/auth/google/start",className:"flex h-11 w-full items-center justify-center gap-2 rounded-full border border-[var(--color-line-strong)] bg-[var(--color-surface)] text-sm font-medium text-[var(--color-ink)] transition hover:bg-[var(--color-line)]",children:[(0,r.jsx)(d,{}),"Google로 계속"]})]}),(0,r.jsxs)("p",{className:"text-center text-sm text-[var(--color-ink-muted)]",children:["계정이 없으신가요?"," ",(0,r.jsx)(t.default,{href:"/signup",className:"font-medium text-[var(--color-accent)] hover:underline",children:"가입하기"})]})]})}function n(){return(0,r.jsx)("div",{className:"space-y-8",children:(0,r.jsxs)("header",{className:"space-y-1.5",children:[(0,r.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:"글터에 오신 걸 환영해요"}),(0,r.jsx)("p",{className:"text-sm text-[var(--color-ink-muted)]",children:"잠시만요…"})]})})}function i({label:e,name:t,type:a="text",required:s}){return(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("span",{className:"mb-1.5 block text-sm text-[var(--color-ink-muted)]",children:e}),(0,r.jsx)("input",{type:a,name:t,required:s,className:"h-11 w-full rounded-lg border border-[var(--color-line-strong)] bg-[var(--color-surface)] px-3 text-sm text-[var(--color-ink)] outline-none transition focus:border-[var(--color-accent)]"})]})}function d(){return(0,r.jsxs)("svg",{viewBox:"0 0 24 24",className:"size-4",children:[(0,r.jsx)("path",{fill:"#EA4335",d:"M5.27 9.76A7 7 0 0 1 12 5c1.86 0 3.55.66 4.86 1.92l2.79-2.79A11 11 0 0 0 1.5 8.5l3.77 1.26z"}),(0,r.jsx)("path",{fill:"#34A853",d:"M16.04 18.01A6.97 6.97 0 0 1 12 19c-3 0-5.55-1.94-6.46-4.66l-3.81 2.94A11 11 0 0 0 12 23c2.97 0 5.66-1.06 7.66-2.84l-3.62-2.15z"}),(0,r.jsx)("path",{fill:"#4A90E2",d:"M19.66 20.16A11 11 0 0 0 23 12c0-.7-.07-1.4-.2-2.06H12v4.06h6.21a5.31 5.31 0 0 1-2.17 3.49z"}),(0,r.jsx)("path",{fill:"#FBBC05",d:"M5.54 14.34a6.6 6.6 0 0 1 0-4.58L1.73 6.83a11 11 0 0 0 0 10.34l3.81-2.83z"})]})}e.s(["default",0,function(){return(0,r.jsx)(a.Suspense,{fallback:(0,r.jsx)(n,{}),children:(0,r.jsx)(o,{})})}],388)}]);

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.