PageSourceSearch

https://naemo.ai/_next/static/chunks/8259.99d6d25c37892617.js

js naemo.ai collected 2026-09-24 14:31:49 UTC 19,632 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8259],{68259:function(e,t,s){s.r(t),s.d(t,{default:function(){return D}});var n=s(57437),i=s(98319),c=s(10136),l=s(2265),a=s(10407),r=s(85929),d=s(97226),x=s(99897),o=s(93448),u=s(27526),m=s(83008),p=s(67920),b=s(93627),h=s(285),j=s(80664);function z(){let[e,t]=(0,l.useState)([]),[s,c]=(0,l.useState)(!0),[a,r]=(0,l.useState)(null),{showToast:d}=(0,i.p)();(0,l.useEffect)(()=>{(async()=>{let e=await (0,m.X)("getMyPurchasedLicenses",{},{});if(e.success&&e.data)t(e.data.blocks);else{var s;r(null!==(s=e.error)&&void 0!==s?s:"불러오기 실패")}c(!1)})()},[]);let x=async e=>{let t=e.map(e=>e.code).join("\n");try{await navigator.clipboard.writeText(t),d("모든 코드가 클립보드에 복사되었습니다.","success")}catch(e){d("복사에 실패했습니다.","error")}},o=(e,t)=>{let s=e=>'"'.concat(String(null!=e?e:"").replace(/"/g,'""'),'"'),n=new Blob([[[s("code"),s("status"),s("redeemedAt")].join(","),...e.codes.map(e=>{var t;return[s(e.code),s(e.status),s(null!==(t=e.redeemedAt)&&void 0!==t?t:"")].join(",")})].join("\n")],{type:"text/csv;charset=utf-8;"}),i=URL.createObjectURL(n),c=document.createElement("a");c.href=i,c.download="license-block-".concat(t+1,".csv"),c.click(),setTimeout(()=>URL.revokeObjectURL(i),100)},u=e=>e?new Date(e).toLocaleDateString("ko-KR"):"-";return s?(0,n.jsx)("div",{className:"flex items-center justify-center py-10 text-zinc-400 text-sm",children:"불러오는 중..."}):a?(0,n.jsx)("div",{className:"flex items-center justify-center py-10 text-red-500 text-sm",children:a}):0===e.length?(0,n.jsx)("div",{className:"flex items-center justify-center py-10 text-zinc-400 text-sm",children:"구매한 코드가 없습니다."}):(0,n.jsx)("div",{className:"flex flex-col gap-4",children:e.map((e,t)=>(0,n.jsxs)("div",{className:"bg-[#fafaf9] dark:bg-[#18181b] border border-zinc-200 dark:border-zinc-800 rounded-xl p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsxs)("span",{className:"text-sm font-semibold text-zinc-800 dark:text-zinc-100",children:["블록 ",t+1]}),(0,n.jsxs)("span",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:["사용 ",e.used," / ",e.total]}),e.subscriptionEnd&&(0,n.jsxs)("span",{className:"text-xs text-zinc-400 dark:text-zinc-500",children:["만료: ",u(e.subscriptionEnd)]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("button",{type:"button",onClick:()=>x(e.codes),className:"text-xs px-2.5 py-1 rounded-lg border border-zinc-200 dark:border-zinc-700 text-zinc-600 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors",children:"전체 복사"}),(0,n.jsx)("button",{type:"button",onClick:()=>o(e,t),className:"text-xs px-2.5 py-1 rounded-lg border border-zinc-200 dark:border-zinc-700 text-zinc-600 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors",children:"CSV 다운로드"})]})]}),(0,n.jsx)("div",{className:"flex flex-col gap-1",children:e.codes.map(e=>(0,n.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 bg-white dark:bg-zinc-900 rounded-lg border border-zinc-100 dark:border-zinc-800",children:[(0,n.jsx)("span",{className:"text-xs font-mono text-zinc-700 dark:text-zinc-200 tracking-wider",children:e.code}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[e.redeemedAt&&(0,n.jsx)("span",{className:"text-xs text-zinc-400 dark:text-zinc-500",children:u(e.redeemedAt)}),(0,n.jsx)("span",{className:"REDEEMED"===e.status?"text-xs px-2 py-0.5 rounded-full bg-zinc-100 dark:bg-zinc-800 text-zinc-400 dark:text-zinc-500":"text-xs px-2 py-0.5 rounded-full bg-green-50 dark:bg-green-900/30 text-green-600 dark:text-green-400",children:"REDEEMED"===e.status?"사용됨":"미사용"})]})]},e.code))})]},e.schoolId))})}var v=s(98381),g=s(86315),f=s(21751),k=s(2665),N=s(70809),y=s(39561),w=s(70287),C=s(39994),S=s(76283),E=s(60850),R=s(99098),A=s(26862);function F(){let e=(0,y.g)(),{enabled:t,mode:i,setEnabled:c,setMode:a}
1=(0,A.t)(),[r,d]=(0,l.useState)(null);if((0,l.useEffect)(()=>{if(!e)return;let t=!1;return(async()=>{try{let{NativeBiometric:e}=await s.e(731).then(s.bind(s,60731)),n=await e.isAvailable({useFallback:!0});t||d(!!(n.isAvailable||n.deviceIsSecure))}catch(e){t||d(!1)}})(),()=>{t=!0}},[e]),!e)return null;let x=!1===r;return(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"px-1 pb-1.5 text-[12px] font-medium text-zinc-400 dark:text-zinc-500 uppercase tracking-wider",children:"생체 잠금"}),(0,n.jsxs)("div",{className:"bg-white dark:bg-[#1C1C1E] rounded-xl border border-zinc-200/60 dark:border-white/[0.08] overflow-hidden",children:[(0,n.jsxs)("div",{className:"px-4 py-3.5 flex items-center justify-between gap-3",children:[(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"text-[14px] text-zinc-800 dark:text-zinc-200",children:"Face ID \xb7 지문으로 잠금"}),(0,n.jsx)("p",{className:"text-[12px] text-zinc-400 dark:text-zinc-500 mt-0.5",children:x?"이 기기에서는 생체 인증을 쓸 수 없습니다":"기본은 꺼져 있습니다. 켜면 아래에서 잠글 시점을 고르세요"})]}),(0,n.jsx)("button",{type:"button",role:"switch","aria-checked":t,disabled:x,onClick:()=>c(!t),className:(0,o.cn)("relative h-[28px] w-[48px] shrink-0 rounded-full transition-colors disabled:opacity-40",t?"bg-blue-500":"bg-zinc-300 dark:bg-zinc-600"),children:(0,n.jsx)("span",{className:(0,o.cn)("absolute top-[2px] left-[2px] h-[24px] w-[24px] rounded-full bg-white shadow transition-transform",t&&"translate-x-[20px]")})})]}),t&&!x&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"mx-4 h-px bg-zinc-100 dark:bg-zinc-800"}),(0,n.jsxs)("div",{className:"p-3",children:[(0,n.jsx)("p",{className:"px-1 pb-2 text-[12px] text-zinc-400 dark:text-zinc-500",children:"언제 잠글까요?"}),(0,n.jsxs)("div",{className:"grid grid-cols-1 gap-1.5",children:[(0,n.jsx)(L,{selected:"app_open"===i,title:"앱을 열 때",description:"앱을 켤 때, 그리고 5분 이상 나갔다 돌아올 때",onSelect:()=>a("app_open")}),(0,n.jsx)(L,{selected:"sensitive_menus"===i,title:"민감한 메뉴만",description:"학생 관리, 평가\xb7기록(수행\xb7세특\xb7자율\xb7진로\xb7행동특성)",onSelect:()=>a("sensitive_menus")})]})]})]})]})]})}function L(e){let{selected:t,title:s,description:i,onSelect:c}=e;return(0,n.jsxs)("button",{type:"button",onClick:c,className:(0,o.cn)("w-full text-left rounded-lg px-3 py-2.5 transition-colors",t?"bg-blue-50 dark:bg-blue-500/15 ring-1 ring-blue-400/60":"bg-zinc-50 dark:bg-zinc-800/60 active:bg-zinc-100 dark:active:bg-zinc-700/60"),children:[(0,n.jsx)("p",{className:"text-[14px] font-medium text-zinc-800 dark:text-zinc-100",children:s}),(0,n.jsx)("p",{className:"text-[12px] text-zinc-500 dark:text-zinc-400 mt-0.5",children:i})]})}let T=[{id:"general",label:"일반"},{id:"timetable",label:"시간표"},{id:"student-roles",label:"학생 역할"}];function D(){var e,t;let[s,i]=(0,l.useState)(null),c=(0,l.useCallback)(()=>i(null),[]);return(0,f.rr)(s?null!==(t=null===(e=T.find(e=>e.id===s))||void 0===e?void 0:e.label)&&void 0!==t?t:"설정":null,c),(0,n.jsx)("div",{className:"h-full flex flex-col bg-[#FBFBF9] dark:bg-zinc-950",children:(0,n.jsxs)("div",{className:"flex-1 overflow-y-auto mobile-scroll-bottom mobile-scroll",children:[null===s&&(0,n.jsx)(H,{onSelect:i}),"general"===s&&(0,n.jsx)(_,{}),"timetable"===s&&(0,n.jsx)(I,{}),"student-roles"===s&&(0,n.jsx)(O,{})]})})}function H(e){let{onSelect:t}=e,{data:s}=(0,u.kP)();return(0,n.jsxs)("div",{className:"px-4 pt-4 pb-10",children:[(0,n.jsx)("div",{className:"space-y-[2px]",children:T.map(e=>(0,n.jsxs)("button",{onClick:()=>t(e.id),className:(0,o.cn)("w-full flex items-center gap-3.5 px-3 py-[13px] rounded-xl transition","text-left active:scale-[0.98] active:bg-zinc-100/80 dark:active:bg-zinc-800/80"),children:[(0,n.jsx)("span",{className:"flex-1 text-[15px] font-medium text-zinc-800 dark:text-zinc-200",children:e.label}),(0,n.jsx)(a.Z,{size:15,className:"text-zinc-400 dark:text-zinc-500 shrink-0"})]},e.id))}),(null==s?void 0:s.user)&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"mx-1 my-6 h-px bg-zinc-200/70 dark:bg-zinc-800"}),(0,n.jsx)("button",{onClick:()=>
1(0,u.w7)(),className:"w-full text-center py-3 text-[14px] text-red-500 font-medium active:bg-zinc-100 dark:active:bg-zinc-800 rounded-xl transition-colors",children:"로그아웃"})]})]})}function _(){var e,t,s,r;let{data:d,update:x}=(0,u.kP)(),o=(0,p.XC)(),b=(0,c.N)(),{showToast:h}=(0,i.p)(),{isResetting:v,isResetModalOpen:g,resetStep:f,saveNeedsShareHint:k,openResetModal:N,closeResetModal:y,handleSaveAndReset:A,handleSaveFile:L,handleConfirmSavedAndReset:T,handleResetOnly:D,filename:H}=(0,S.v)(),[_,I]=(0,l.useState)(!1),[O,X]=(0,l.useState)(!1),[V,K]=(0,l.useState)(!1),[q,J]=(0,l.useState)(null);(0,l.useEffect)(()=>{let e=async()=>{if(null==d?void 0:d.user)try{var e;let t=await (0,E.T9)();t.success&&(null===(e=t.data)||void 0===e?void 0:e.schoolName)?J(t.data.schoolName):J(null)}catch(e){console.error("[MobileSettings] Failed to load school info:",e)}else J(null)};e();let t=()=>e();return window.addEventListener("school-settings-updated",t),()=>window.removeEventListener("school-settings-updated",t)},[null==d?void 0:d.user]);let Q=async()=>{if(await b({title:"계정을 삭제할까요?",description:"탈퇴하면 이 계정으로 만든 모든 기록이 영구적으로 사라집니다. 되돌릴 수 없습니다.",consequences:["학생 명단","성적\xb7출결 기록","상담 일지","세특\xb7행동특성","설문과 응답","교무수첩 보관함"],confirmLabel:"계정 삭제"})){I(!0);try{let e=await (0,m.X)("deleteAccount",{confirmText:"탈퇴"},o);e.success?(h("계정을 삭제했습니다. 그동안 이용해 주셔서 감사합니다.","success"),await (0,u.w7)({callbackUrl:"/"})):(h(e.error||"계정 삭제 실패","error"),I(!1))}catch(e){console.error(e),h("오류가 발생했습니다.","error"),I(!1)}}},Y=async()=>{if(await b({title:"정기구독을 해지할까요?",description:"지금 결제한 이용 기간이 끝날 때까지는 그대로 쓰실 수 있고, 다음 결제부터 청구되지 않습니다.",confirmLabel:"구독 해지"})){X(!0);try{let e=await (0,m.X)("cancelIndividualSubscription",{},o);e.success?(h(e.message||"구독을 해지했습니다.","success"),window.location.reload()):h(e.error||"구독 해지 실패","error")}catch(e){console.error(e),h("오류가 발생했습니다.","error")}finally{X(!1)}}};return(0,n.jsxs)("div",{className:"px-4 pt-4 pb-10 space-y-6",children:[(0,n.jsxs)(B,{title:"계정",children:[(0,n.jsx)(Z,{label:"이메일",value:(null==d?void 0:null===(e=d.user)||void 0===e?void 0:e.email)||"-"}),(0,n.jsx)(Z,{label:"이름",value:(null==d?void 0:null===(t=d.user)||void 0===t?void 0:t.name)||"-"})]}),(0,n.jsx)(M,{}),(0,n.jsx)(U,{}),(0,n.jsx)(F,{}),(0,n.jsx)(B,{title:"학교",children:(0,n.jsx)(Z,{label:"학교명",value:(null==d?void 0:null===(s=d.user)||void 0===s?void 0:s.schoolName)||q||"학교 미설정"})}),(0,n.jsx)(P,{}),(0,n.jsxs)(B,{title:"이용권",children:[(0,n.jsxs)("button",{onClick:()=>K(!0),className:"w-full px-4 py-3.5 flex items-center justify-between active:bg-zinc-50 dark:active:bg-zinc-800 transition-colors",children:[(0,n.jsx)("span",{className:"text-[14px] text-zinc-800 dark:text-zinc-200",children:"코드 등록"}),(0,n.jsx)(a.Z,{size:15,className:"text-zinc-400 dark:text-zinc-500 shrink-0"})]}),(null==d?void 0:null===(r=d.user)||void 0===r?void 0:r.recurringStatus)==="ACTIVE"&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"mx-4 h-px bg-zinc-100 dark:bg-zinc-800"}),(0,n.jsxs)("button",{onClick:Y,disabled:O,className:"w-full px-4 py-3.5 flex items-center justify-between active:bg-zinc-50 dark:active:bg-zinc-800 transition-colors disabled:opacity-50",children:[(0,n.jsx)("span",{className:"text-[14px] text-red-500 dark:text-red-400",children:"구독 해지"}),(0,n.jsx)("span",{className:"text-[13px] text-zinc-400 dark:text-zinc-500",children:O?"처리중...":""})]})]})]}),(0,n.jsx)(B,{title:"구매한 코드",children:(0,n.jsx)("div",{className:"px-4 py-3",children:(0,n.jsx)(z,{})})}),(0,n.jsx)(j.g,{isOpen:V,onClose:()=>K(!1)}),(0,n.jsx)(B,{title:"교무수첩",children:(0,n.jsx)(w.J,{variant:"mobile"})}),(0,n.jsxs)(B,{title:"데이터 관리",children:[(0,n.jsxs)("button",{onClick:N,disabled:v||_,className:"w-full px-4 py-3.5 flex items-center justify-between active:bg-zinc-50 dark:active:bg-zinc-800 transition-colors disabled:opacity-50",children:[(0,n.jsx)("span",{className:"text-[14px] text-zinc-800 dark:text-zinc-200",children:"학생 초기화"}),(0,n.jsx)("span",{className:"text-[13px] text-zinc-400 dark:text-zinc-500",children:v?"처리 중…":""})]}),(0,n.jsx)("div",{className:"mx-4 h-px bg-zinc-100 dark:bg-zinc-800"}),(0,n.jsxs)("button",{onClick:Q,disabled:_||v,className:"w-full px-4 py-3.5 flex items-center justify-between active:bg-zinc-50 dark:active:bg-zinc-800 transition-colors disabled:opacity-50",children:[(0,n.jsx)("span",{className:"text-[14px] text-red-500 dark:text-red-400",children:"계정 탈퇴"}),(0,n.jsx)("span",{className:"text-[13px] text-zinc-400 dark:text-zinc-500",children:_?"처리 중…":""})]})]}),(0,n.jsx)(B,{title:"알림",children:(0,n.jsx)(R.l,{variant:"mobile"})}
1),(0,n.jsx)(C.C,{isOpen:g,step:f,onSaveAndReset:A,onResetOnly:D,onSaveFile:L,onConfirmSavedAndReset:T,onCancel:y,isProcessing:v,saveNeedsShareHint:k,filename:H})]})}function I(){return(0,n.jsx)("div",{className:"px-4 pt-4 pb-10",children:(0,n.jsx)("div",{className:"mobile-timetable-settings bg-white dark:bg-[#18181b] border border-zinc-200 dark:border-zinc-800 rounded-2xl p-4 overflow-x-auto",children:(0,n.jsx)(b.Q,{gridSelection:!1})})})}function O(){return(0,n.jsx)("div",{className:"px-4 pt-4 pb-10",children:(0,n.jsx)("div",{className:"mobile-student-roles bg-white dark:bg-[#18181b] border border-zinc-200 dark:border-zinc-800 rounded-2xl p-4 overflow-x-auto",children:(0,n.jsx)(h.k,{})})})}function P(){var e,t;let{data:s}=(0,u.kP)(),i=(0,y.g)(),{closeSettings:c}=(0,N.Y)(),l=null==s?void 0:null===(e=s.user)||void 0===e?void 0:e.paidUntil,a=null==s?void 0:null===(t=s.user)||void 0===t?void 0:t.recurringStatus,r=e=>new Date(e).toLocaleDateString("ko-KR",{year:"numeric",month:"long",day:"numeric"});return"ACTIVE"===a?(0,n.jsx)(B,{title:"플랜 안내",children:(0,n.jsxs)("div",{className:"px-4 py-3.5 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-[14px] text-zinc-800 dark:text-zinc-200",children:"정기구독 중"}),l&&(0,n.jsxs)("span",{className:"text-[13px] text-zinc-400 dark:text-zinc-500",children:["다음 결제 예정: ",r(l)]})]})}):(0,k.O)(l)?(0,n.jsx)(B,{title:"플랜 안내",children:(0,n.jsxs)("div",{className:"px-4 py-3.5 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-[14px] text-zinc-800 dark:text-zinc-200",children:"유료 이용 중"}),l&&(0,n.jsxs)("span",{className:"text-[13px] text-zinc-400 dark:text-zinc-500",children:[r(l)," 까지"]})]})}):(0,n.jsx)(B,{title:"플랜 안내",children:(0,n.jsxs)("div",{className:"px-4 py-3.5 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-[14px] text-zinc-800 dark:text-zinc-200",children:"무료 플랜"}),!i&&(0,n.jsx)("button",{onClick:()=>{c(),window.dispatchEvent(new CustomEvent("navigate-view",{detail:"plans"}))},className:"text-[13px] text-blue-500 font-medium active:opacity-70 transition-opacity",children:"요금제 보기"})]})})}function U(){let{theme:e,setTheme:t}=(0,v.F)();return(0,n.jsx)(B,{title:"화면 모드",children:(0,n.jsx)("div",{className:"p-3",children:(0,n.jsxs)("div",{className:"grid grid-cols-3 gap-1.5 p-1 bg-zinc-100 dark:bg-zinc-800/80 rounded-xl",children:[(0,n.jsxs)("button",{onClick:()=>t("light"),className:(0,o.cn)("flex items-center justify-center gap-1.5 py-2 rounded-lg text-[13px] font-medium transition-all","light"===e?"bg-white dark:bg-zinc-700 text-zinc-900 dark:text-zinc-100 shadow-sm font-bold":"text-zinc-500 dark:text-zinc-400 active:bg-zinc-200/50 dark:active:bg-zinc-700/50"),children:[(0,n.jsx)(r.Z,{size:15,className:"light"===e?"text-amber-500":""}),(0,n.jsx)("span",{children:"라이트"})]}),(0,n.jsxs)("button",{onClick:()=>t("dark"),className:(0,o.cn)("flex items-center justify-center gap-1.5 py-2 rounded-lg text-[13px] font-medium transition-all","dark"===e?"bg-white dark:bg-zinc-700 text-zinc-900 dark:text-zinc-100 shadow-sm font-bold":"text-zinc-500 dark:text-zinc-400 active:bg-zinc-200/50 dark:active:bg-zinc-700/50"),children:[(0,n.jsx)(d.Z,{size:15,className:"dark"===e?"text-indigo-400":""}),(0,n.jsx)("span",{children:"다크"})]}),(0,n.jsxs)("button",{onClick:()=>t("system"),className:(0,o.cn)("flex items-center justify-center gap-1.5 py-2 rounded-lg text-[13px] font-medium transition-all","system"===e?"bg-white dark:bg-zinc-700 text-zinc-900 dark:text-zinc-100 shadow-sm font-bold":"text-zinc-500 dark:text-zinc-400 active:bg-zinc-200/50 dark:active:bg-zinc-700/50"),children:[(0,n.jsx)(x.Z,{size:15,className:"system"===e?"text-blue-500":""}),(0,n.jsx)("span",{children:"시스템"})]})]})})})}function B(e){let{title:t,children:s}=e;return(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"px-1 pb-1.5 text-[12px] font-medium text-zinc-400 dark:text-zinc-500 uppercase tracking-wider",children:t}),(0,n.jsx)("div",{className:"bg-white dark:bg-[#1C1C1E] rounded-xl border border-zinc-200/60 dark:border-white/[0.08] overflow-hidden",children:s})]})}function Z(e){let{label:t,value:s}=e;return(0,n.jsxs)("div",{className:"px-4 py-3.5 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-[14px] text-zinc-800 dark:text-zinc-200",children:t}),(0,n.jsx)("span",{className:"text-[13px] text-zinc-400 dark:text-zinc-500 truncate max-w-[200px]",children:s})]})}function M(){var e;let{config:t,handleSave:s}=(0,g.Nv)(),{data:i}=(0,u.kP)(),c=(null==i?void 0:null===(e=i.user)||void 0===e?void 0:e.name)||"선생님",a=(t.mobileHomeTitle||"{name}의 내모").replace("{name}",c),[r,d]=(0,l.useState)(a),[x,o]=(0,l.useState)(t.mobileHomeSlogan||"나만의 맞춤 교무수첩"),m=(0,l.useRef)(!1);return(0,l.useEffect)(()=>{m.current||(d((t.mobileHomeTitle||"{name}의 내모").replace("{name}",c)),o(t.mobileHomeSlogan||"나만의 맞춤 교무수첩"))},[t.mobileHomeTitle,t.mobileHomeSlogan,c]),(0,n.jsx)(B,{title:"홈 화면 문구",children:(0,n.jsxs)("div",{className:"px-4 py-3.5 space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-[12px] text-zinc-400 font-medium",children:"제목"}),(0,n.jsx)("input",{type:"text",value:r,onChange:e=>{m.current=!0,d(e.target.value)},onBlur:()=>{s({...t,mobileHomeTitle:r})},placeholder:"제목을 입력하세요",className:"w-full h-9 bg-zinc-100 border border-zinc-200 rounded-lg px-3 text-[16px] text-zinc-900 focus:outline-none focus:border-blue-400 transition-colors"})]}),(0,n.jsxs)("div",{className:"space-y-1.5 pt-1 border-t border-zinc-50",children:[(0,n.jsx)("label",{className:"text-[12px] text-zinc-400 font-medium",children:"부제목"}),(0,n.jsx)("input",{type:"text",value:x,onChange:e=>{m.current=!0,o(e.target.value)},onBlur:()=>{s({...t,mobileHomeSlogan:x})},placeholder:"부제목을 입력하세요",className:"w-full h-9 bg-zinc-100 border border-zinc-200 rounded-lg px-3 text-[16px] text-zinc-900 focus:outline-none focus:border-blue-400 transition-colors"})]})]})})}}}]);

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.