(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30146,e=>{"use strict";var t=e.i(43476),r=e.i(71645);e.i(86734);var n=e.i(52388);e.s(["default",0,function({book:e,chapter:l,notes:a,saveNote:o,t:i}){let s=(0,n.makeChapterNoteRef)(e,l),u=a.get(s),[c,d]=(0,r.useState)(!1),[h,g]=(0,r.useState)(u?.note??""),[f,p]=(0,r.useState)(!1),x=(0,r.useRef)(null),b=(0,r.useRef)(null),m=`${e}|${l}|${u?.note??""}`,[y,v]=(0,r.useState)(m);return m!==y&&(v(m),g(u?.note??""),p(!1)),(0,r.useEffect)(()=>{b.current&&(b.current.style.height="auto",b.current.style.height=`${b.current.scrollHeight}px`)},[h,c]),(0,t.jsxs)("div",{className:"mt-6 border-t pt-4 dark:border-gray-700",children:[(0,t.jsxs)("button",{onClick:()=>d(e=>!e),className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 cursor-pointer",children:[(0,t.jsx)("span",{children:c?"β–Ύ":"β–Έ"}),(0,t.jsxs)("span",{className:"font-medium",children:["πŸ“ ",i.chapterNoteTitle]}),u&&!c&&(0,t.jsxs)("span",{className:"text-xs text-gray-400 dark:text-gray-500 italic truncate max-w-[200px]",children:["β€” ",u.note.slice(0,40),u.note.length>40?"…":""]})]}),c&&(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,t.jsx)("textarea",{ref:b,value:h,onChange:e=>{e.target.value.length<=2e3&&g(e.target.value)},placeholder:i.chapterNotePlaceholder,rows:4,className:"w-full px-3 py-2 text-sm border rounded resize-none overflow-hidden dark:bg-gray-800 dark:border-gray-600 dark:text-white focus:outline-none focus:ring-1 focus:ring-blue-400 leading-relaxed"}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-xs text-gray-400",children:[h.length," / ",2e3]}),(0,t.jsx)("button",{onClick:function(){o(e,l,0,h),p(!0),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>p(!1),1500)},disabled:h===(u?.note??"")||h.length>2e3,className:"px-3 py-1 text-sm bg-blue-600 text-white rounded hover:bg-blue-700 disabled:opacity-40 disabled:cursor-default cursor-pointer transition-colors",children:f?i.noteSaved:i.noteSave})]}),u&&""!==h&&h!==(u?.note??"")&&(0,t.jsx)("button",{onClick:()=>g(u.note),className:"text-xs text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 cursor-pointer",children:i.cancel})]})]})}])},85253,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n={dark:{bg:"#0f172a",text:"#f1f5f9",sub:"#94a3b8",accent:"#3b82f6"},warm:{bg:"#fffbf0",text:"#1e1b4b",sub:"#78716c",accent:"#d97706"},light:{bg:"#ffffff",text:"#111827",sub:"#6b7280",accent:"#2563eb"}},l='-apple-system, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif';function a(e){let t=document.createElement("canvas");t.width=1080,t.height=1080;let r=t.getContext("2d"),a=n[e.theme];r.fillStyle=a.bg,r.fillRect(0,0,1080,1080),r.fillStyle=a.accent,r.beginPath();r.moveTo(64,90),r.lineTo(63,90),r.arcTo(67,90,67,94,4),r.lineTo(67,986),r.arcTo(67,990,63,990,4),r.lineTo(64,990),r.arcTo(60,990,60,986,4),r.lineTo(60,94),r.arcTo(60,90,64,90,4),r.closePath(),r.fill();let o=Math.round(85.8);r.font=`52px ${l}`,r.fillStyle=a.text,r.textBaseline="top";let i=function(e,t){let r=t.split(" "),n=[],l="";for(let t of r){let r=l?`${l} ${t}`:t;e.measureText(r).width>880&&l?(n.push(l),l=t):l=r}return l&&n.push(l),n}(r,e.verseText),s=i.length*o,u=Math.round((1080-s)/2)-50;for(let e=0;e{a(e).toBlob(e=>{e?t(e):r(Error("Canvas toBlob returned null"))},"image/png")})}let i=["dark","warm","light"];function s(e){let t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download="verse-card.png",r.click(),setTimeout(()=>URL.revokeObjectURL(t),1e3)}e.s(["default",0,function({verseText:e,reference:n,versionLabel:l,t:u,onClose:c}){let[d,h]=(0,r.useState)("dark"),[g,f]=(0,r.useState)(!1),p=(0,r.useRef)(null),x=(0,r.useRef)(null);(0,r.useEffect)(()=>{let t=p.current;if(!t)return;let r=a({verseText:e,reference:n,versionLabel:l,theme:d});t.width=r.width,t.height=r.height,t.getContext("2d").drawImage(r,0,0)},[e,n,l,d]),(0,r.useEffect)(()=>{x.current?.focus();let e=e=>{if("Escape"===e.key)return void c();if("Tab"!==e.key)return;let t=x.current;if(!t)return;let r=Array.from(t.querySelectorAll('button:not([disabled]), [tabindex]:not([tabindex="-1"])'));if(!r.length)return;let n=r[0],l=r[r.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),l.focus()):e.shiftKey||document.activeElement!==l||(e.preventDefault(),n.focus())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[c]);let b=async()=>{f(!0);try{let t=await o({verseText:e,reference:n,versionLabel:l,theme:d}),r=new File([t],"verse-card.png",{type:"image/png"});navigator.canShare?.({files:[r]})?await navigator.share({files:[r],text:`${n} ${e}`}):s(t)}catch(e){e instanceof Error&&"AbortError"!==e.name&&console.error("Share failed:",e)}finally{f(!1)}},m=async()=>{f(!0);try{let t=await o({verseText:e,reference:n,versionLabel:l,theme:d});s(t)}finally{f(!1)}},y={dark:u.shareCardThemeDark,warm:u.shareCardThemeWarm,light:u.shareCardThemeLight},v={dark:"bg-slate-900 text-white",warm:"bg-amber-50 text-amber-900",light:"bg-white text-gray-900 border border-gray-200"};return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 px-4",children:(0,t.jsxs)("div",{ref:x,role:"dialog","aria-modal":"true","aria-labelledby":"share-card-title",tabIndex:-1,className:"flex w-full max-w-sm flex-col gap-4 rounded-2xl bg-white p-5 shadow-2xl dark:bg-gray-900 outline-none",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("h2",{id:"share-card-title",className:"text-base font-semibold text-gray-900 dark:text-white",children:u.verseShareCard}),(0,t.jsx)("button",{type:"button","aria-label":u.close??"λ‹«κΈ°",onClick:c,className:"rounded-full border border-gray-300 px-3 py-1 text-sm dark:border-gray-600 dark:text-gray-300",children:"βœ•"})]}),(0,t.jsx)("div",{className:"overflow-hidden rounded-xl shadow-md",children:(0,t.jsx)("canvas",{ref:p,className:"w-full",style:{aspectRatio:"1 / 1"}})}),(0,t.jsx)("div",{className:"flex gap-2",children:i.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>h(e),className:`flex-1 rounded-lg py-2 text-xs font-medium transition-all ${v[e]} ${d===e?"ring-2 ring-blue-500 ring-offset-1":"opacity-70 hover:opacity-100"}`,children:y[e]},e))}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",disabled:g,onClick:b,className:"flex-1 rounded-xl bg-blue-600 py-2.5 text-sm font-semibold text-white hover:bg-blue-700 disabled:opacity-60",children:u.shareCardShare}),(0,t.jsx)("button",{type:"button",disabled:g,onClick:m,className:"flex-1 rounded-xl border border-gray-300 py-2.5 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:opacity-60 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",children:u.shareCardDownload})]})]})})}],85253)},65280,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(87451);let l=[{color:"yellow",bg:"bg-yellow-300",ring:"ring-yellow-500"},{color:"green",bg:"bg-green-300",ring:"ring-green-500"},{color:"pink",bg:"bg-pink-300",ring:"ring-pink-500"},{color:"blue",bg:"bg-blue-300",ring:"ring-blue-500"}],a={yellow:"bg-yellow-100 dark:bg-yellow-900/30",green:"bg-green-100 dark:bg-green-900/30",pink:"bg-pink-100 dark:bg-pink-900/30",blue:"bg-blue-100 dark:bg-blue-900/30"};e.s(["default",0,function({verse:e,highlightVerse:o,isSpeaking:i,bookmarkEntry:s,isLoggedIn:u,t:c,noteItem:d,selectedBook:h,selectedChapter:g,selectedLang:f,selectedVersion:p,bookLabel:x,noteEditor:b,onHighlight:m,onShareCard:y,label:v,labelWidthCh:w=2.5,elementId:k}){let S,[T,N]=(0,r.useState)(null),[j,E]=(0,r.useState)(null),[$,C]=(0,r.useState)(!1),R=(0,r.useRef)(null),M=(0,r.useRef)(null),P=(0,r.useRef)(null),I=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>{R.current&&clearTimeout(R.current),M.current&&clearTimeout(M.current)},[]),(0,r.useEffect)(()=>{if(!$)return;let e=e=>{I.current&&!I.current.contains(e.target)&&C(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[$]);let L=(e,t)=>{navigator.clipboard.writeText(`${t} (${x} ${g}:${e})`),N(e),R.current&&clearTimeout(R.current),R.current=setTimeout(()=>N(null),1500)},A={marginLeft:`calc(${w}ch + 0.75rem)`},O=T===e.verse,U=j===e.verse,D=!!d,Y=b.editingNoteVerse===e.verse,B=b.expandedNotes.has(e.verse),H=s?.color?a[s.color]:e.verse===o?"bg-yellow-200 dark:bg-yellow-600":"",z=s?.color?l.find(e=>e.color===s.color)?.bg??"":"";return(0,t.jsxs)("div",{className:"group",children:[(0,t.jsxs)("div",{id:k??`verse-${e.verse}`,className:`flex gap-2 pl-0 pr-1 rounded transition-shadow ${H} ${i?"ring-2 ring-green-500 dark:ring-green-400":""}`,onTouchStart:e=>{P.current={x:e.touches[0].clientX,y:e.touches[0].clientY}},onTouchEnd:t=>{if(!P.current)return;let r=Math.abs(t.changedTouches[0].clientX-P.current.x),n=Math.abs(t.changedTouches[0].clientY-P.current.y);P.current=null,r<10&&n<10&&L(e.verse,e.text)},children:[(0,t.jsx)("span",{className:`font-bold shrink-0 ${v?"text-right text-slate-500 dark:text-slate-400":""}`,style:{width:`${w}ch`},children:v??e.verse}),(0,t.jsxs)("span",{className:"flex-1 min-w-0",children:[e.text,u&&(0,t.jsx)("button",{onClick:()=>{Y?b.cancelEdit():b.startEdit(e.verse,d?.note??"")},onTouchStart:e=>e.stopPropagation(),onTouchEnd:e=>e.stopPropagation(),className:`inline-flex items-center align-middle ml-1 text-sm px-0.5 rounded transition-opacity ${D||Y?"opacity-100 text-blue-500 dark:text-blue-400":"sm:opacity-0 sm:group-hover:opacity-100 text-gray-300 dark:text-gray-600 hover:text-blue-500 dark:hover:text-blue-400"}`,"aria-label":"절 λ…ΈνŠΈ",children:"✎"}),u&&(0,t.jsxs)("span",{ref:I,className:"relative inline-flex items-center align-middle",children:[(0,t.jsx)("button",{onClick:e=>{e.stopPropagation(),C(e=>!e)},onTouchStart:e=>e.stopPropagation(),onTouchEnd:e=>{e.stopPropagation(),C(e=>!e)},className:`inline-flex items-center align-middle ml-0.5 text-sm px-0.5 rounded transition-opacity ${s?"opacity-100":"sm:opacity-0 sm:group-hover:opacity-100 text-gray-300 dark:text-gray-600"}`,"aria-label":"절 ν•˜μ΄λΌμ΄νŠΈ",children:s?.color?(0,t.jsx)("span",{className:`inline-block w-3.5 h-3.5 rounded-full ${z} ring-1 ring-offset-0 ring-gray-400`}):(0,t.jsx)("span",{className:s?"text-yellow-500":"hover:text-yellow-500 dark:hover:text-yellow-400",children:s?"β˜…":"β˜†"})}),$&&(0,t.jsxs)("span",{className:"absolute bottom-full left-0 mb-1 z-20 flex items-center gap-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg px-2 py-1.5",onTouchStart:e=>e.stopPropagation(),onTouchEnd:e=>e.stopPropagation(),children:[l.map(({color:e,bg:r})=>(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),m(e),C(!1)},className:`w-5 h-5 rounded-full ${r} hover:scale-110 transition-transform ${s?.color===e?"ring-2 ring-offset-1 ring-gray-500 dark:ring-gray-300":""}`,"aria-label":e},e)),s&&(0,t.jsx)("button",{onClick:e=>{e.stopPropagation(),m(null),C(!1)},className:"ml-1 text-xs text-gray-400 hover:text-red-500 dark:hover:text-red-400 transition-colors","aria-label":"ν•˜μ΄λΌμ΄νŠΈ 제거",children:"βœ•"})]})]}),(0,t.jsx)("button",{onClick:()=>L(e.verse,e.text),className:`pointer-events-none sm:pointer-events-auto inline-flex items-center align-middle ml-0.5 text-xs px-0.5 rounded transition-opacity ${O?"opacity-100 text-green-600 dark:text-green-400":"opacity-0 group-hover:opacity-100 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"}`,"aria-label":c.verseLinkCopy,children:O?"βœ“":"πŸ“‹"}),(0,t.jsx)("button",{onClick:()=>{var t;let r,l,a;return t=e.verse,(r=new URLSearchParams(window.location.search)).set("book",h),r.set("chapter",String(g)),r.set("lang",f),r.set("version",p),r.set("verse",String(t)),r.delete("from"),r.delete("day"),r.delete("plan"),l=(0,n.withStaticHtmlPath)("/read"),a=`${window.location.origin}${l}?${r.toString()}`,void(navigator.clipboard.writeText(a),E(t),M.current&&clearTimeout(M.current),M.current=setTimeout(()=>E(null),1500))},className:`pointer-events-none sm:pointer-events-auto inline-flex items-center align-middle ml-0.5 text-xs px-0.5 rounded transition-opacity ${U?"opacity-100 text-blue-600 dark:text-blue-400":"opacity-0 group-hover:opacity-100 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"}`,"aria-label":c.verseLinkCopy,title:c.verseLinkCopy,children:U?"βœ“":"πŸ”—"}),y&&(0,t.jsx)("button",{onClick:()=>y(e.verse),onTouchStart:e=>e.stopPropagation(),onTouchEnd:e=>e.stopPropagation(),className:"pointer-events-none sm:pointer-events-auto inline-flex items-center align-middle ml-0.5 text-xs px-0.5 rounded transition-opacity opacity-0 group-hover:opacity-100 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200","aria-label":c.verseShareCard,title:c.verseShareCard,children:"πŸ–Ό"})]})]}),D&&!Y&&(S=d.note.split("\n").length>3||d.note.length>150,(0,t.jsxs)("div",{className:"mr-2 mb-1",style:A,children:[(0,t.jsx)("div",{className:`text-sm text-blue-700 dark:text-blue-300 bg-blue-50 dark:bg-blue-900/20 rounded px-2 py-1 cursor-pointer whitespace-pre-wrap${!B&&S?" line-clamp-3":""}`,onClick:()=>b.startEdit(e.verse,d.note),children:d.note}),S&&(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),b.toggleExpanded(e.verse)},className:"text-xs text-blue-500 dark:text-blue-400 mt-0.5 hover:underline cursor-pointer",children:B?c.noteFold:c.noteShowMore})]})),Y&&(0,t.jsxs)("div",{className:"mr-2 mt-1 mb-2",style:A,children:[(0,t.jsx)("textarea",{value:b.noteText,onChange:e=>b.setNoteText(e.target.value),onKeyDown:e=>{"Escape"===e.key&&b.cancelEdit()},placeholder:c.notePlaceholder,className:"w-full text-sm border rounded p-2 dark:bg-gray-800 dark:border-gray-600 dark:text-white resize-none focus:outline-none focus:ring-1 focus:ring-blue-400",rows:3,maxLength:2e3,autoFocus:!0}),(0,t.jsxs)("div",{className:"text-right text-xs text-gray-400 -mt-0.5 mb-1",children:[b.noteText.length,"/2000"]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{onClick:()=>b.handleSave(e.verse),className:"px-3 py-1 text-sm bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:c.noteSave}),D&&(0,t.jsx)("button",{onClick:()=>b.handleDelete(e.verse),className:"px-3 py-1 text-sm bg-red-500 text-white rounded hover:bg-red-600 cursor-pointer",children:c.noteDelete}),(0,t.jsx)("button",{onClick:b.cancelEdit,className:"px-3 py-1 text-sm border rounded text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:c.cancel})]})]}),b.savedNoteVerse===e.verse&&!Y&&(0,t.jsx)("div",{className:"mr-2 mb-1 text-xs text-green-600 dark:text-green-400",style:A,children:c.noteSaved})]})},"verseLabelWidthCh",0,function(e,t=2.5){return Math.max(t,e.reduce((e,t)=>Math.max(e,[...String(t)].reduce((e,t)=>e+(":"===t?.4:1),0)),0)+.1)}])},30343,e=>{"use strict";var t=e.i(71645);e.s(["useNoteEditor",0,function(e,r,n){let[l,a]=(0,t.useState)(null),[o,i]=(0,t.useState)(""),[s,u]=(0,t.useState)(new Set),[c,d]=(0,t.useState)(null),h=(0,t.useRef)(null),g=`${r}|${n}`,[f,p]=(0,t.useState)(g);return g!==f&&(p(g),a(null),i(""),u(new Set),d(null)),(0,t.useEffect)(()=>()=>{h.current&&clearTimeout(h.current)},[g]),(0,t.useEffect)(()=>()=>{h.current&&clearTimeout(h.current)},[]),{editingNoteVerse:l,noteText:o,setNoteText:i,expandedNotes:s,savedNoteVerse:c,startEdit:(e,t)=>{i(t),a(e)},cancelEdit:()=>{a(null),i("")},handleSave:t=>{e(r,n,t,o),a(null),i(""),o.trim()&&(d(t),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>d(null),1500))},handleDelete:t=>{e(r,n,t,""),a(null),i("")},toggleExpanded:e=>{u(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})}}}])},93907,44980,e=>{"use strict";var t=e.i(71645);let r=["green","yellow","pink","blue"],n={green:"rgba(74, 222, 128, 0.5)",yellow:"rgba(250, 204, 21, 0.5)",pink:"rgba(244, 114, 182, 0.5)",blue:"rgba(96, 165, 250, 0.5)"};e.s(["PEN_COLORS",0,r,"usePenCanvas",0,function({storageKey:e,contentSig:r,parallelMode:l,fontSize:a,lineHeightValue:o}){let i=(0,t.useRef)(null),s=(0,t.useRef)(null),u=(0,t.useRef)(null),c=(0,t.useRef)([]),d=(0,t.useRef)(null),h=(0,t.useRef)(null),g=(0,t.useRef)(null),f=(0,t.useRef)(!1),[p,x]=(0,t.useState)(!1),[b,m]=(0,t.useState)("pen"),[y,v]=(0,t.useState)("green"),w=(0,t.useRef)("pen"),k=(0,t.useRef)("green");(0,t.useEffect)(()=>{f.current=p,w.current=b,k.current=y},[p,b,y]);let S=(0,t.useRef)(e),T=(0,t.useRef)(a),N=(0,t.useRef)(o);(0,t.useEffect)(()=>{S.current=e,T.current=a,N.current=o},[e,a,o]);let j=e=>`pen-strokes:${e}`,E=(e=!0)=>{let t=s.current,r=i.current;if(!t||!r)return;let n=Math.ceil(r.clientWidth),l=Math.ceil(r.scrollHeight);if(n<=0||l<=0)return;let a=window.devicePixelRatio||1;t.style.width=`${n}px`,t.style.height=`${l}px`,t.width=Math.max(1,Math.round(n*a)),t.height=Math.max(1,Math.round(l*a));let o=t.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(a,a),o.lineCap="round",o.lineJoin="round",o.strokeStyle="rgba(74, 222, 128, 0.5)",o.lineWidth=16,e&&o.clearRect(0,0,n,l))},$=()=>{let e=s.current;if(!e)return;let t=e.getContext("2d");if(!t)return;t.save(),t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,e.width,e.height),t.restore();let r=(e,r)=>{if(0!==e.length){if(t.strokeStyle=n[r],t.beginPath(),t.moveTo(e[0].x,e[0].y),1===e.length)t.lineTo(e[0].x+.01,e[0].y+.01);else for(let r=1;rr(e.points,e.color)),u.current&&"pen"===w.current&&r(u.current,k.current)},C=(e=!1)=>{if(u.current=null,c.current=[],d.current=null,h.current=null,g.current=null,e)try{localStorage.removeItem(j(S.current))}catch{}let t=s.current;if(!t)return;let r=t.getContext("2d");r&&(r.save(),r.setTransform(1,0,0,1,0,0),r.clearRect(0,0,t.width,t.height),r.restore())},R=()=>({w:Math.ceil(i.current?.clientWidth??0),fs:T.current,lh:N.current}),M=()=>{try{let e=j(S.current),t=c.current;0===t.length?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify({...R(),strokes:t}))}catch{}},P=e=>{let t=s.current;if(!t)return null;let r=t.getBoundingClientRect();return{x:e.clientX-r.left,y:e.clientY-r.top}},I=()=>{C(),E(),(e=>{try{let t=localStorage.getItem(j(e));if(!t)return;let r=JSON.parse(t),n=R();if(!r||!Array.isArray(r.strokes)||0===r.strokes.length||r.w!==n.w||r.fs!==n.fs||r.lh!==n.lh)return;c.current=r.strokes.map(e=>Array.isArray(e)?{color:"green",points:e}:e),$()}catch{}})(S.current)};(0,t.useEffect)(()=>{S.current=e,I()},[e,r,l,a,o]),(0,t.useEffect)(()=>{let e=i.current;if(!e)return;let t=0,r=Math.ceil(e.clientWidth),n=()=>{t&&window.cancelAnimationFrame(t),t=window.requestAnimationFrame(()=>{let t=Math.ceil(e.clientWidth);if(t!==r){r=t,I();return}E(!1),$()})},l=new ResizeObserver(n);return l.observe(e),window.addEventListener("resize",n),window.addEventListener("orientationchange",n),()=>{l.disconnect(),window.removeEventListener("resize",n),window.removeEventListener("orientationchange",n),t&&window.cancelAnimationFrame(t)}},[r,l]);let L=e=>{let t=c.current.length;return c.current=c.current.filter(t=>!function(e,t){let r=e.points;if(1===r.length)return 14>=Math.hypot(t.x-r[0].x,t.y-r[0].y);for(let e=1;e=function(e,t,r){let n=r.x-t.x,l=r.y-t.y,a=n*n+l*l,o=0===a?0:Math.max(0,Math.min(1,((e.x-t.x)*n+(e.y-t.y)*l)/a));return Math.hypot(e.x-(t.x+o*n),e.y-(t.y+o*l))}(t,r[e-1],r[e]))return!0;return!1}(t,e)),c.current.length!==t};return{penMode:p,togglePenMode:()=>{x(e=>!e)},penTool:b,setPenTool:m,penColor:y,setPenColor:v,undoStroke:()=>{0!==c.current.length&&(c.current.pop(),M(),$())},readingSurfaceRef:i,underlineCanvasRef:s,clearUnderlineCanvas:C,penHandlers:{onPointerDown(e){if(!f.current||"pen"!==e.pointerType&&"mouse"!==e.pointerType)return;let t=P(e);t&&(d.current={pointerId:e.pointerId,start:t,startClientY:e.clientY})},onPointerMove(e){if(!f.current||"pen"!==e.pointerType&&"mouse"!==e.pointerType)return;let t=h.current;if(t&&t.pointerId===e.pointerId){let r=e.clientY-t.lastClientY;0!==r&&window.scrollBy(0,-r),t.lastClientY=e.clientY;return}let r=P(e);if(!r)return;let n=d.current;if(n&&n.pointerId===e.pointerId&&!u.current){let t=r.x-n.start.x,l=r.y-n.start.y,a=Math.abs(t),o=Math.abs(l);if(a<6&&o<6)return;if(o>a){let t=e.clientY-n.startClientY;0!==t&&window.scrollBy(0,-t),h.current={pointerId:e.pointerId,lastClientY:e.clientY},g.current=e.pointerId,d.current=null,e.currentTarget.setPointerCapture(e.pointerId);return}u.current=[n.start,r],g.current=e.pointerId,d.current=null,e.currentTarget.setPointerCapture(e.pointerId),"eraser"===w.current&&(L(n.start),L(r)),$();return}if(g.current!==e.pointerId)return;let l=u.current;l&&0!==l.length&&(l.push(r),"eraser"===w.current&&L(r),$())},onPointerUp(e){d.current?.pointerId===e.pointerId&&(d.current=null);let t=h.current?.pointerId===e.pointerId;if(t&&(h.current=null),g.current===e.pointerId){if(!t){let e=u.current;"eraser"===w.current?M():e&&e.length>1&&(c.current.push({color:k.current,points:e}),M()),u.current=null,$()}g.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)}},onPointerCancel(e){d.current?.pointerId===e.pointerId&&(d.current=null);let t=h.current?.pointerId===e.pointerId;t&&(h.current=null),g.current===e.pointerId&&(t||("eraser"===w.current&&M(),u.current=null,$()),g.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))}}}}],93907);var l=e.i(43476);let a={green:"bg-green-300",yellow:"bg-yellow-300",pink:"bg-pink-300",blue:"bg-blue-300"};e.s(["default",0,function({t:e,penTool:t,setPenTool:n,penColor:o,setPenColor:i,onUndo:s,onClear:u,size:c="sm"}){let d="sm"===c?"h-7 px-2 text-xs rounded border":"h-9 px-3 text-sm rounded-xl border",h="border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700",g="sm"===c?"w-5 h-5":"w-6 h-6";return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{className:"flex items-center gap-1",role:"group","aria-label":e.penColorLabel,children:r.map(e=>(0,l.jsx)("button",{type:"button",onClick:()=>{i(e),n("pen")},"aria-label":e,"aria-pressed":"pen"===t&&o===e,className:`${g} rounded-full ${a[e]} cursor-pointer transition-transform hover:scale-110 ${"pen"===t&&o===e?"ring-2 ring-offset-1 ring-gray-500 dark:ring-gray-300":""}`},e))}),(0,l.jsx)("button",{type:"button",onClick:()=>n("eraser"===t?"pen":"eraser"),"aria-pressed":"eraser"===t,className:`${d} transition-colors cursor-pointer ${"eraser"===t?"bg-red-600 text-white border-red-600":h}`,children:e.penEraser}),(0,l.jsx)("button",{type:"button",onClick:s,className:`${d} transition-colors cursor-pointer ${h}`,children:e.penUndo}),(0,l.jsx)("button",{type:"button",onClick:u,className:`${d} transition-colors cursor-pointer ${h}`,children:e.clearUnderline})]})}],44980)},32538,51807,e=>{"use strict";var t=e.i(71645),r=e.i(31582);let n="/audio";function l(e,t,l,a){return(0,r.toAssetUrl)(`${n}/${e}/${t}/${l.trim().toLowerCase().replace(/\s+/g,"-")}/${a}`)}let a=(0,r.toAssetUrl)(`${n}/index.json`),o=e=>"number"==typeof e&&Number.isInteger(e)&&e>0,i=e=>"number"==typeof e&&Number.isFinite(e)&&e>=0;function s(e){if(!e||"object"!=typeof e)return null;let t=e.voices;if(!t||"object"!=typeof t)return null;let r={voices:{}};for(let[e,n]of Object.entries(t)){let t=n?.books;if(!t||"object"!=typeof t)continue;let l={};for(let[e,r]of Object.entries(t)){if(!Array.isArray(r))continue;let t=r.filter(o);t.length>0&&(l[e]=t)}r.voices[e]={books:l}}return r}function u(e,t,r,n,l){return!!e&&(e.voices[`${t}/${r}`]?.books[n]?.includes(l)??!1)}function c(e){let t=[];return e.forEach((e,r)=>{let n=t[t.length-1];n&&n.book===e.book&&n.chapter===e.chapter?n.indexes.push(r):t.push({book:e.book,chapter:e.chapter,indexes:[r]})}),t}let d=null;async function h(e,t,r,n,a=fetch){try{let s=await a(`${l(e,t,r,n)}.json`);if(!s.ok)return null;return function(e){if(!e||"object"!=typeof e)return null;let{durationMs:t,verses:r}=e;if(!i(t)||!Array.isArray(r)||0===r.length)return null;let n=[];for(let e of r){let{verse:t,startMs:r,endMs:l}=e??{};if(!o(t)||!i(r)||!i(l)||l{let r=await e.A(62401);await t(r.MediaSession)}).catch(()=>{}))}function x(){p(async e=>{await e.setPlaybackState({playbackState:"none"}),await e.setActionHandler({action:"play"},null),await e.setActionHandler({action:"pause"},null)})}var b=e.i(86939);let m={ko:"ko-KR",en:"en-US",enm:"en-US",fr:"fr-FR",de:"de-DE",es:"es-ES",pt:"pt-PT",mn:"mn-MN","zh-hant":"zh-TW",lzh:"zh-TW",ja:"ja-JP",ru:"ru-RU",he:"he-IL",hbo:"he-IL",el:"el-GR",grc:"el-GR",uk:"uk-UA",vi:"vi-VN",th:"th-TH",nl:"nl-NL",vls:"nl-NL",sv:"sv-SE",nb:"nb-NO",nn:"nn-NO",da:"da-DK",fi:"fi-FI",pl:"pl-PL",cs:"cs-CZ",hr:"hr-HR",hu:"hu-HU",sl:"sl-SI",sr:"sr-RS",sq:"sq-AL",hy:"hy-AM",my:"my-MM",tl:"fil-PH",et:"et-EE",lv:"lv-LV",mg:"mg-MG",mi:"mi-NZ"},y=(e,t,r,n)=>`${e}/${t}/${r}/${n}`;function v(e,t,r,n,l,a,o){let i=y(r,n,l,a);e.has(i)||t.has(i)||(t.add(i),h(r,n,l,a).then(r=>{t.delete(i),r&&(e.set(i,r),o(i))}))}e.s(["useTts",0,function(e,r,n){let[o,i]=(0,t.useState)(!1),[h,g]=(0,t.useState)(!1),[f,w]=(0,t.useState)(null),[k,S]=(0,t.useState)(null),[T,N]=(0,t.useState)(null),[j,E]=(0,t.useState)(()=>new Set),$=e=>E(t=>t.has(e)?t:new Set(t).add(e)),C=e=>{B.current=e,w(e)},R=(0,t.useRef)(e),M=(0,t.useRef)(r),P=(0,t.useRef)(n),I=(0,t.useRef)(T);(0,t.useEffect)(()=>{R.current=e,M.current=r,P.current=n,I.current=T},[e,r,n,T]);let L=(0,t.useRef)(null),A=(0,t.useRef)(!1),O=(0,t.useRef)(0),U=(0,t.useRef)(null),D=(0,t.useRef)(new Map),Y=(0,t.useRef)(new Set),B=(0,t.useRef)(null),H=(0,t.useRef)(null),z=(0,t.useRef)(null),F=()=>{z.current&&(clearTimeout(z.current),z.current=null)},V=(0,t.useRef)(()=>{});(0,t.useEffect)(()=>{if(!("speechSynthesis"in window))return;let e=(m[r]??r).split("-")[0],t=()=>{g(window.speechSynthesis.getVoices().some(t=>t.lang.startsWith(e)))};return t(),window.speechSynthesis.addEventListener("voiceschanged",t),()=>window.speechSynthesis.removeEventListener("voiceschanged",t)},[r]);let W=void 0!==n;(0,t.useEffect)(()=>{if(!W)return;let e=!0;return(function e(t=fetch){let r=Date.now();if(d){let n=d;return n.value.then(l=>l||r-n.at<6e4?l:(d=null,e(t)))}let n=t(a).then(e=>e.ok?e.json():null).then(s).catch(()=>null);return d={at:r,value:n},n})().then(t=>{e&&N(t)}),()=>{e=!1}},[W]),(0,t.useEffect)(()=>{if(n&&T&&n.refs.length===e.length)for(let e of c(n.refs))u(T,r,n.version,e.book,e.chapter)&&v(D.current,Y.current,r,n.version,e.book,e.chapter,$)},[n,T,r,e.length]);let K=()=>{O.current++,A.current=!1,"speechSynthesis"in window&&window.speechSynthesis.cancel(),F(),x();let e=U.current;e&&(e.onended=null,e.onerror=null,e.onpause=null,e.ontimeupdate=null,e.pause())};(0,t.useEffect)(()=>()=>{K(),U.current=null},[]);let X=e.map(e=>e.text).join("\n"),[G,q]=(0,t.useState)(X);X!==G&&(q(X),o&&(i(!1),w(null),S(null)));let J=(0,t.useRef)(!0);(0,t.useEffect)(()=>{if(J.current){J.current=!1;return}B.current=null,H.current=null,x(),A.current&&K()},[X]);let Z=void 0!==n&&n.refs.length===e.length&&c(n.refs).some(e=>u(T,r,n.version,e.book,e.chapter)&&j.has(y(r,n.version,e.book,e.chapter))),_=()=>{let e="speechSynthesis"in window,t=P.current,r=I.current,n=M.current,a=R.current.map(e=>e.text),o=H.current,s=null!==o&&o>0&&o0?s:null,K();let d=++O.current,h=()=>O.current!==d||!A.current;A.current=!0,i(!0);let g=(e=!1,t=!1)=>{O.current===d&&(t||x(),H.current=e?B.current:null,A.current=!1,i(!1),C(null),S(null))},f=t&&t.refs.length===a.length?t.refs:null,w=f?c(f):[{book:"",chapter:0,indexes:a.map((e,t)=>t)}],k=0===s?w:w.map(e=>({...e,indexes:e.indexes.filter(e=>e>=s)})).filter(e=>e.indexes.length>0),T=(t,r,l)=>{if(!e)return void g(!0);S("tts");let o=r,i=()=>{if(h()||o>=t.length){if(h())return;l();return}let e=t[o++];C(e);let r=new SpeechSynthesisUtterance(a[e]);L.current=r,r.lang=m[n]??n,r.onend=i,r.onerror=e=>{"interrupted"!==e.error&&"canceled"!==e.error&&g(!0)},window.speechSynthesis.speak(r)};setTimeout(i,50)},N=e=>{if(h())return;if(e>=k.length)return void g(!1);let a=k[e],o=()=>N(e+1);t&&f&&u(r,n,t.version,a.book,a.chapter)?((e,r)=>{var a,o,i,s;let u,c,d,x,m=e.indexes.map(e=>f[e].verse),w=Math.min(...m),k=Math.max(...m),N=D.current.get(y(n,t.version,e.book,e.chapter)),j=N?function(e,t,r){let n=e.verses.filter(e=>e.verse>=t&&e.verse<=r);if(0===n.length)return null;let l=n[0].startMs,a=n[n.length-1].endMs;return{startMs:l,endMs:a,toEnd:a>=e.durationMs-1e3}}(N,w,k):null;if(!N||!j){v(D.current,Y.current,n,t.version,e.book,e.chapter,$),T(e.indexes,0,r);return}let E=U.current??(U.current=new Audio),R=new Map(e.indexes.map(e=>[f[e].verse,e])),M=e.indexes[0],P=!1;S("audio"),C(M),i={title:t.title??(a=e.book,o=e.chapter,u=b.bookNameMap[n]?.[a]??a,"ko"===n?`${u} ${o}μž₯`:`${u} ${o}`)},s={onPlay:()=>V.current(),onPause:()=>{U.current?.pause()}},p(async e=>{await e.setMetadata({title:i.title,artist:i.artist??"Alaskah Bible"}),await e.setActionHandler({action:"play"},()=>s.onPlay()),await e.setActionHandler({action:"pause"},()=>s.onPause()),await e.setPlaybackState({playbackState:"playing"})});let I=()=>{E.onended=null,E.onerror=null,E.onpause=null,E.ontimeupdate=null},L=()=>{h()||P||(P=!0,I(),F(),E.pause(),T(e.indexes,Math.max(0,e.indexes.indexOf(M)),r))},A=e=>{try{E.currentTime=e/1e3}catch{}},O=()=>{h()||(I(),F(),E.pause(),r())};E.onended=()=>{h()||(I(),F(),r())},E.onerror=L,E.onpause=()=>{h()||E.ended||(I(),F(),p(async e=>{await e.setPlaybackState({playbackState:"paused"})}),g(!0,!0))},E.ontimeupdate=()=>{if(h())return;let e=1e3*E.currentTime;if(j.startMs>0&&e+500=j.endMs)return void O();let t=R.get(function(e,t){let r=e.verses,n=0,l=r.length-1,a=0;for(;n<=l;){let e=n+l>>1;r[e].startMs<=t?(a=e,n=e+1):l=e-1}return r[a].verse}(N,e));void 0!==t&&t!==M&&(M=t,C(t)),j.toEnd||(F(),z.current=setTimeout(O,Math.max(0,j.endMs-e)))},c=t.version,d=e.book,x=e.chapter,E.src=`${l(n,c,d,x)}.mp3`,j.startMs>0&&A(j.startMs);let B=E.play();B&&B.catch(e=>{e?.name!=="AbortError"&&L()})})(a,o):T(a.indexes,0,o)};N(0)};return(0,t.useEffect)(()=>{V.current=_}),{playing:o,supported:h||Z,play:_,stop:()=>{null!==B.current&&(H.current=B.current),K(),i(!1),C(null),S(null)},currentIndex:f,source:k,voice:o?"audio"===k:Z}}],32538),e.s(["ttsButtonView",0,function(e,t){return e.voice?e.playing?{icon:"πŸŽ™οΈβΉοΈ",label:t.voiceStop}:{icon:"πŸŽ™οΈ",label:t.voicePlay}:e.playing?{icon:"⏹",label:t.ttsStop}:{icon:"β–Ά",label:t.ttsPlay}}],51807)},8709,28949,e=>{"use strict";var t=e.i(66382);let r=[1.375,1.5,1.75,2.25],n="bible-line-height";function l(e){let t=parseFloat(e??"");return r.includes(t)?t:1.5}e.s(["useLineHeight",0,function(){let[e,a]=(0,t.useStoredValue)(n,l,1.5),o=e=>{localStorage.setItem(n,String(e)),a(e)};return{height:e,increase:()=>o(r[Math.min(r.indexOf(e)+1,r.length-1)]),decrease:()=>o(r[Math.max(r.indexOf(e)-1,0)]),style:{lineHeight:e},atMin:e===r[0],atMax:e===r[r.length-1]}}],8709);let a="bible-version:";function o(e){if(!e)return null;try{return window.localStorage.getItem(`${a}${e}`)}catch{return null}}e.s(["loadLastBibleVersion",0,o,"pickSavedOrDefaultVersion",0,function(e,t){let r=o(e);return r&&t.some(e=>e.version===r)?r:t[0]?.version||""},"resolveVersionOnIndexLoad",0,function(e){let{lang:t,versions:r,currentVersion:n,queryVersion:l}=e;if(r.includes(n))return n;if(l&&r.includes(l))return l;let a=o(t);return a&&r.includes(a)?a:r[0]??""},"saveLastBibleVersion",0,function(e,t){if(e&&t)try{window.localStorage.setItem(`${a}${e}`,t)}catch{}}],28949)},771,e=>{"use strict";var t=e.i(71645);e.s(["useSwipeNavigation",0,function({onPrev:e,onNext:r,enabled:n=!0}){let l=(0,t.useRef)({onPrev:e,onNext:r});(0,t.useEffect)(()=>{l.current={onPrev:e,onNext:r}},[e,r]),(0,t.useEffect)(()=>{if(!n)return;let e=null,t=t=>{var r;if(1!==t.touches.length||(r=t.target)instanceof Element&&r.closest('input, textarea, select, button, a, [role="dialog"], [contenteditable="true"]')){e=null;return}let n=t.touches[0];e=n.clientX<24||n.clientX>window.innerWidth-24?null:{x:n.clientX,y:n.clientY,time:Date.now()}},r=t=>{let r=e;if(e=null,!r||window.getSelection()?.toString())return;let n=t.changedTouches[0],a=n.clientX-r.x,o=n.clientY-r.y;if(Date.now()-r.time>700||80>Math.abs(a)||Math.abs(o)>.5*Math.abs(a))return;let{onPrev:i,onNext:s}=l.current;a>0?i?.():s?.()};return window.addEventListener("touchstart",t,{passive:!0}),window.addEventListener("touchend",r,{passive:!0}),()=>{window.removeEventListener("touchstart",t),window.removeEventListener("touchend",r)}},[n])}])}]);