PageSourceSearch

https://www.penguinboard.com/_next/static/chunks/ea7f4ab305686473.js

js penguinboard.com collected 2026-10-02 01:39:44 UTC 11,490 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,591762,e=>{"use strict";var t=e.i(675201);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:n=2,absoluteStrokeWidth:l,className:o="",children:i,iconNode:d,...c},x)=>(0,t.createElement)("svg",{ref:x,...s,width:a,height:a,stroke:e,strokeWidth:l?24*Number(n)/Number(a):n,className:r("lucide",o),...!i&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(i)?i:[i]])),l=(e,s)=>{let l=(0,t.forwardRef)(({className:l,...o},i)=>(0,t.createElement)(n,{ref:i,iconNode:s,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,l),...o}));return l.displayName=a(e),l};e.s(["default",()=>l],591762)},624601,(e,t,r)=>{t.exports=e.r(728995)},259708,e=>{"use strict";let t=(0,e.i(591762).default)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);e.s(["CheckCircle",()=>t],259708)},60706,634550,e=>{"use strict";var t=e.i(591762);let r=(0,t.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>r],60706);let a=(0,t.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["EyeOff",()=>a],634550)},907206,e=>{"use strict";var t=e.i(98134),r=e.i(675201),a=e.i(624601),s=e.i(499352),n=e.i(754219),l=e.i(60706),o=e.i(634550),i=e.i(259708);function d(){let e=(0,a.useRouter)(),[d,c]=(0,r.useState)(""),[x,p]=(0,r.useState)(""),[u,m]=(0,r.useState)(""),[h,b]=(0,r.useState)(""),[f,g]=(0,r.useState)(!1),[y,j]=(0,r.useState)(!1),[N,v]=(0,r.useState)(!1),[k,w]=(0,r.useState)(!1),[C,S]=(0,r.useState)(!1),[O,A]=(0,r.useState)(!1),T=C&&O;async function z(t){if(t.preventDefault(),!T)return void n.toast.error("이용약관과 개인정보 수집·이용에 동의해 주세요.");if(u.length<8)return void n.toast.error("비밀번호는 8자 이상이어야 합니다.");if(u!==h)return void n.toast.error("비밀번호가 일치하지 않습니다.");g(!0);try{let t=await fetch("/api/auth/signup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:x,password:u,companyName:d||void 0})}),r=await t.json();if(!t.ok)return void(409===t.status?n.toast.error("이미 등록된 이메일입니다.",{action:{label:"로그인하기",onClick:()=>e.push("/login")}}):n.toast.error(r.error||"회원가입 중 오류가 발생했습니다."));v(!0)}catch{n.toast.error("회원가입 중 오류가 발생했습니다.")}finally{g(!1)}}async function E(){w(!0);try{await fetch("/api/auth/resend-confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:x})}),n.toast.success("인증 메일을 다시 보냈어요. 메일함(스팸함 포함)을 확인해주세요.")}catch{n.toast.error("재발송에 실패했습니다. 잠시 후 다시 시도해주세요.")}finally{w(!1)}}return N?(0,t.jsxs)("div",{className:"text-center space-y-4",children:[(0,t.jsx)("div",{className:"mx-auto flex h-14 w-14 items-center justify-center rounded-full bg-brand/10",children:(0,t.jsx)(i.CheckCircle,{className:"h-7 w-7 text-brand"})}),(0,t.jsx)("h1",{className:"text-[20px] font-bold tracking-[-0.5px] text-text-primary",children:"인증 메일을 보냈어요 ✉️"}),(0,t.jsxs)("p",{className:"text-[13px] text-text-muted leading-relaxed",children:[(0,t.jsx)("span",{className:"font-semibold text-text-primary",children:x}),(0,t.jsx)("br",{}),"메일의 인증 링크를 클릭하면",(0,t.jsx)("br",{}),(0,t.jsx)("span",{className:"font-semibold text-text-primary",children:"30일 무료체험"}),"이 바로 시작됩니다."]}),(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-2 rounded-xl bg-brand/5 px-3 py-3 text-center text-[10px] text-text-secondary",children:[(0,t.jsx)("span",{className:"font-semibold text-brand",children:"1. 메일 인증"}),(0,t.jsx)("span",{children:"2. 익스텐션 설치"}),(0,t.jsx)("span",{children:"3. 첫 수집"})]}),(0,t.jsxs)("div",{className:"rounded-xl bg-surface-muted px-4 py-3 text-left",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold text-text-secondary mb-1",children:"메일이 안 보이나요?"}),(0,t.jsxs)("p",{className:"text-[12px] text-text-muted leading-relaxed",children:["스팸함을 확인해보세요. 몇 분 뒤에도 도착하지 않으면 아래에서 다시 받을 수 있어요. 문의는 ",(0,t.jsx)("span",{className:"font-semibold text-text-primary",children:"[email protected]"}),"."]})]}),(0,t.jsx)("button",{onClick:E,disabled:k,className:"w-full rounded-xl bg-brand py-2.5 text-[13px] font-semibold text-white transition-colors hover:bg-brand-dark disabled:opacity-50",children:k?"보내는 중...":"인증 메일 다시 보내기"}),(0,t.jsx)("button",{onClick:()=>
1e.push("/login"),className:"w-full rounded-xl border border-border-strong py-2.5 text-[13px] font-medium text-text-secondary transition-colors hover:bg-surface-muted",children:"로그인 페이지로"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{className:"text-[22px] font-bold tracking-[-0.5px] text-text-primary mb-1",children:"회원가입"}),(0,t.jsx)("p",{className:"text-[13px] text-text-muted mb-6",children:"카드 없이 30일 무료체험. 가입 후 익스텐션을 연결하면 첫 수집까지 안내합니다."}),(0,t.jsxs)("form",{onSubmit:z,className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{htmlFor:"signup-company",className:"block text-[12px] font-medium text-text-secondary mb-1.5",children:["회사명 ",(0,t.jsx)("span",{className:"font-normal text-text-muted",children:"(선택)"})]}),(0,t.jsx)("input",{id:"signup-company",type:"text",value:d,onChange:e=>c(e.target.value),placeholder:"회사명 — 가입 구분용 (브랜드는 가입 후 선택)",autoComplete:"organization",className:"w-full rounded-[10px] bg-surface-card border border-border-strong py-2.5 px-3.5 text-[13px] placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-brand/20 transition-all"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"signup-email",className:"block text-[12px] font-medium text-text-secondary mb-1.5",children:"이메일"}),(0,t.jsx)("input",{id:"signup-email",type:"email",value:x,onChange:e=>p(e.target.value),placeholder:"[email protected]",required:!0,autoComplete:"email",className:"w-full rounded-[10px] bg-surface-card border border-border-strong py-2.5 px-3.5 text-[13px] placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-brand/20 transition-all"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"signup-password",className:"block text-[12px] font-medium text-text-secondary mb-1.5",children:"비밀번호"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{id:"signup-password",type:y?"text":"password",value:u,onChange:e=>m(e.target.value),placeholder:"8자 이상",required:!0,minLength:8,autoComplete:"new-password",className:"w-full rounded-[10px] bg-surface-card border border-border-strong py-2.5 px-3.5 pr-10 text-[13px] placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-brand/20 transition-all"}),(0,t.jsx)("button",{type:"button",onClick:()=>j(!y),className:"absolute right-3 top-1/2 -translate-y-1/2 text-text-muted hover:text-text-primary transition-colors","aria-label":"비밀번호 표시",children:y?(0,t.jsx)(o.EyeOff,{className:"h-4 w-4"}):(0,t.jsx)(l.Eye,{className:"h-4 w-4"})})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"signup-password-confirm",className:"block text-[12px] font-medium text-text-secondary mb-1.5",children:"비밀번호 확인"}),(0,t.jsx)("input",{id:"signup-password-confirm",type:y?"text":"password",value:h,onChange:e=>b(e.target.value),placeholder:"비밀번호 재입력",required:!0,minLength:8,autoComplete:"new-password",className:"w-full rounded-[10px] bg-surface-card border border-border-strong py-2.5 px-3.5 text-[13px] placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-brand/20 transition-all"}),h.length>0&&u!==h&&(0,t.jsx)("p",{className:"mt-1 text-[11px] text-danger",children:"비밀번호가 일치하지 않습니다."})]}),(0,t.jsxs)("div",{className:"space-y-2 pt-2",children:[(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg bg-surface-muted px-3 py-2",children:[(0,t.jsx)("input",{type:"checkbox",checked:T,onChange:e=>{S(e.target.checked),A(e.target.checked)},className:"size-4 accent-brand cursor-pointer"}),(0,t.jsx)("span",{className:"text-[12px] font-semibold text-text-primary",children:"필수 항목 모두 동의"})]}),(0,t.jsxs)("label",{className:"flex items-start gap-2 cursor-pointer",children:[(0,t.jsx)("input",{type:"checkbox",checked:C,onChange:e=>S(e.target.checked),className:"mt-0.5 size-4 accent-brand cursor-pointer"}),(0,t.jsxs)("span",{className:"text-[12px] text-text-secondary leading-relaxed",children:[(0,t.jsx)("span",{className:"font-semibold text-danger",children:"[필수]"})," ",(0,t.jsx)(s.default,{href:"/terms",target:"_blank",className:"underline hover:text-brand",children:"이용약관"}),"에 동의합니다"]})]}),(0,t.jsxs)("label",{className:"flex items-start gap-2 cursor-pointer",children:[(0,t.jsx)("input",{type:"checkbox",checked:O,onChange:e=>
1A(e.target.checked),className:"mt-0.5 size-4 accent-brand cursor-pointer"}),(0,t.jsxs)("span",{className:"text-[12px] text-text-secondary leading-relaxed",children:[(0,t.jsx)("span",{className:"font-semibold text-danger",children:"[필수]"})," ",(0,t.jsx)(s.default,{href:"/privacy",target:"_blank",className:"underline hover:text-brand",children:"개인정보 수집·이용"}),"에 동의합니다"]})]})]}),(0,t.jsx)("button",{type:"submit",disabled:f||!T,className:"w-full rounded-xl bg-brand py-2.5 text-[14px] font-semibold text-white transition-colors hover:bg-brand-dark disabled:opacity-50 disabled:cursor-not-allowed",children:f?"인증 메일 보내는 중...":"계정 만들고 인증 메일 받기"})]}),(0,t.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-2 text-center text-[10px] text-text-muted",children:[(0,t.jsx)("span",{children:"1. 이메일 인증"}),(0,t.jsx)("span",{children:"2. 익스텐션 설치"}),(0,t.jsx)("span",{children:"3. 첫 데이터 수집"})]}),(0,t.jsxs)("p",{className:"mt-6 text-center text-[12px] text-text-muted",children:["이미 계정이 있으신가요?"," ",(0,t.jsx)(s.default,{href:"/login",className:"font-medium text-brand hover:underline",children:"로그인"})]})]})}e.s(["default",()=>d])}]);

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.