PageSourceSearch

https://news-247.ai/assets/Handoff-CHSrSxIy.js

js news-247.ai collected 2026-10-05 15:42:05 UTC 2,761 bytes, 2 lines download raw bytes

1import{j as e,m as x,d as p,L as f}from"./vendor-ui-BH-eljHz.js";import{h as u,i as j,r}from"./vendor-react-Bfcfu4Pq.js";import{s as y}from"./index-BmFvKZFk.js";import"./vendor-i18n-39L2JWar.js";import"./vendor-supabase-DRsbn9L3.js";function v(){const n=u(),[i]=j(),c=r.useRef(!1),[o,t]=r.useState(null);return r.useEffect(()=>{if(c.current)return;c.current=!0,(async()=>{const l=i.get("token");if(!l){t("유효하지 않은 접근입니다. GEO247에서 다시 시도해주세요.");return}try{const m=await fetch(`
2/api/geo/handoff`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:l})}),s=await m.json().catch(()=>({}));if(!m.ok||!s.token_hash){t(s.error||"핸드오프 처리에 실패했습니다. 링크가 만료되었을 수 있습니다.");return}const{error:h}=await y.auth.verifyOtp({type:"magiclink",token_hash:s.token_hash});if(h){t("자동 로그인에 실패했습니다. 다시 시도해주세요.");return}const a=s.context||{};sessionStorage.setItem("geo247_prefill",JSON.stringify({companyName:a.brand_name||"",topic:a.topic||"",background:a.background||"",keywords:a.keywords||""})),n("/order/domestic",{replace:!0})}catch{t("연결에 문제가 발생했습니다. 잠시 후 다시 시도해주세요.")}})()},[n,i]),o?e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-[#0B1220] p-5",children:e.jsxs(x.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"w-full max-w-sm text-center",children:[e.jsx(p,{className:"w-12 h-12 text-[#F87171] mx-auto mb-4"}),e.jsx("h2",{className:"text-lg font-bold text-white mb-2",children:"핸드오프를 완료하지 못했어요"}),e.jsx("p",{className:"text-sm text-[#94A3B8] mb-6",children:o}),e.jsx("a",{href:"https://geo247.ai",className:"inline-block px-5 py-2.5 rounded-lg bg-[#10B981] text-white text-sm font-semibold",children:"GEO247로 돌아가기"})]})}):e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-[#0B1220]",children:e.jsxs(x.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"text-center px-5",children:[e.jsxs("div",{className:"mb-6 flex items-center justify-center gap-2 text-white",children:[e.jsxs("span",{className:"text-2xl font-extrabold tracking-tight",children:["GEO",e.jsx("span",{className:"text-[#10B981]",children:"247"})]}),e.jsx("span",{className:"text-[#475569]",children:"→"}),e.jsxs("span",{className:"text-2xl font-extrabold tracking-tight",children:["뉴스",e.jsx("span",{className:"text-[#E53935]",children:"247"})]})]}),e.jsx(f,{className:"w-9 h-9 animate-spin text-[#10B981] mx-auto mb-4"}),e.jsx("p",{className:"text-[#94A3B8] text-sm",children:"GEO247에서 이어집니다. 원고 주문서를 준비하는 중…"})]})})}export{v 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.