@impakers/debug 1.4.21 → 1.4.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react.js +182 -13
- package/dist/react.mjs +182 -13
- package/package.json +1 -1
package/dist/react.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";"use client";var
|
|
2
|
+
"use strict";"use client";var Fo=Object.create;var Ln=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Ao=Object.getOwnPropertyNames;var $o=Object.getPrototypeOf,Ho=Object.prototype.hasOwnProperty;var Bo=(e,n)=>{for(var t in n)Ln(e,t,{get:n[t],enumerable:!0})},kt=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Ao(n))!Ho.call(e,r)&&r!==t&&Ln(e,r,{get:()=>n[r],enumerable:!(o=Po(n,r))||o.enumerable});return e};var On=(e,n,t)=>(t=e!=null?Fo($o(e)):{},kt(n||!e||!e.__esModule?Ln(t,"default",{value:e,enumerable:!0}):t,e)),zo=e=>kt(Ln({},"__esModule",{value:!0}),e);var vs={};Bo(vs,{ImpakersDebug:()=>He,ImpakersDebugProvider:()=>ks});module.exports=zo(vs);var ve=require("react");var vt="impakers-debug-token",Nn="impakers-debug-token-data";function Vn(){if(typeof window>"u")return null;try{let e=localStorage.getItem(Nn);if(!e)return null;let n=JSON.parse(e);return new Date(n.expiresAt)<new Date?(Kn(),null):n.token}catch{return null}}function Ke(){return Vn()!==null}function Ct(){if(typeof window>"u")return null;try{let e=localStorage.getItem(Nn);return e?JSON.parse(e).serviceName:null}catch{return null}}function Do(e){if(!(typeof window>"u"))try{let n={token:e.token,serviceName:e.serviceName,expiresAt:e.expiresAt};localStorage.setItem(Nn,JSON.stringify(n)),localStorage.setItem(vt,e.token)}catch{}}function Kn(){if(!(typeof window>"u"))try{localStorage.removeItem(Nn),localStorage.removeItem(vt)}catch{}}async function wt(e,n){let t=window.location.hostname,o=await fetch(`${e}/auth`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:n,domain:t})});if(!o.ok){let s=await o.json().catch(()=>({message:"\uC778\uC99D \uC2E4\uD328"}));throw new Error(s.message||"\uC778\uC99D \uC2E4\uD328")}let r=await o.json();return Do(r),r}var Me=class Me{static showAuth(){Me._eventTarget?.dispatchEvent(new CustomEvent("impakers-debug:show-auth"))}static isActive(){return Ke()}static deactivate(){Kn(),Me._eventTarget?.dispatchEvent(new CustomEvent("impakers-debug:deactivate"))}static open(){if(!Ke()){Me.showAuth();return}Me._eventTarget?.dispatchEvent(new CustomEvent("impakers-debug:open"))}static _on(n,t){return Me._eventTarget?.addEventListener(n,t),()=>Me._eventTarget?.removeEventListener(n,t)}};Me._eventTarget=typeof EventTarget<"u"?new EventTarget:null;var He=Me;var f=require("react"),yo=require("react-dom");var U=require("react");var jo=`.styles-module__popup___IhzrD svg[fill=none] {
|
|
3
3
|
fill: none !important;
|
|
4
4
|
}
|
|
5
5
|
.styles-module__popup___IhzrD svg[fill=none] :not([fill]) {
|
|
@@ -329,11 +329,11 @@
|
|
|
329
329
|
.styles-module__light___6AaSQ .styles-module__deleteButton___4VuAE:hover {
|
|
330
330
|
background-color: color-mix(in srgb, var(--agentation-color-red) 25%, transparent);
|
|
331
331
|
color: var(--agentation-color-red);
|
|
332
|
-
}`,Bo={popup:"styles-module__popup___IhzrD",enter:"styles-module__enter___L7U7N",popupEnter:"styles-module__popupEnter___AuQDN",entered:"styles-module__entered___COX-w",exit:"styles-module__exit___5eGjE",popupExit:"styles-module__popupExit___JJKQX",shake:"styles-module__shake___jdbWe",header:"styles-module__header___wWsSi",element:"styles-module__element___fTV2z",headerToggle:"styles-module__headerToggle___WpW0b",chevron:"styles-module__chevron___ZZJlR",expanded:"styles-module__expanded___2Hxgv",stylesWrapper:"styles-module__stylesWrapper___pnHgy",stylesInner:"styles-module__stylesInner___YYZe2",stylesBlock:"styles-module__stylesBlock___VfQKn",styleLine:"styles-module__styleLine___1YQiD",styleProperty:"styles-module__styleProperty___84L1i",styleValue:"styles-module__styleValue___q51-h",timestamp:"styles-module__timestamp___Dtpsv",quote:"styles-module__quote___mcMmQ",textarea:"styles-module__textarea___jrSae",green:"styles-module__green___99l3h",actions:"styles-module__actions___D6x3f",cancel:"styles-module__cancel___hRjnL",submit:"styles-module__submit___K-mIR",shortcutHint:"styles-module__shortcutHint___ihsrd",deleteWrapper:"styles-module__deleteWrapper___oSjdo",deleteButton:"styles-module__deleteButton___4VuAE",light:"styles-module__light___6AaSQ"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-annotation-popup-css-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-annotation-popup-css-styles",document.head.appendChild(e)),e.textContent=Ho}var I=Bo;var Ln=require("react/jsx-runtime");var xt=({size:e=24})=>(0,Ln.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ln.jsx)("path",{d:"M13.5 4C14.7426 4 15.75 5.00736 15.75 6.25V7H18.5C18.9142 7 19.25 7.33579 19.25 7.75C19.25 8.16421 18.9142 8.5 18.5 8.5H17.9678L17.6328 16.2217C17.61 16.7475 17.5912 17.1861 17.5469 17.543C17.5015 17.9087 17.4225 18.2506 17.2461 18.5723C16.9747 19.0671 16.5579 19.4671 16.0518 19.7168C15.7227 19.8791 15.3772 19.9422 15.0098 19.9717C14.6514 20.0004 14.2126 20 13.6865 20H10.3135C9.78735 20 9.34856 20.0004 8.99023 19.9717C8.62278 19.9422 8.27729 19.8791 7.94824 19.7168C7.44205 19.4671 7.02532 19.0671 6.75391 18.5723C6.57751 18.2506 6.49853 17.9087 6.45312 17.543C6.40883 17.1861 6.39005 16.7475 6.36719 16.2217L6.03223 8.5H5.5C5.08579 8.5 4.75 8.16421 4.75 7.75C4.75 7.33579 5.08579 7 5.5 7H8.25V6.25C8.25 5.00736 9.25736 4 10.5 4H13.5ZM7.86621 16.1562C7.89013 16.7063 7.90624 17.0751 7.94141 17.3584C7.97545 17.6326 8.02151 17.7644 8.06934 17.8516C8.19271 18.0763 8.38239 18.2577 8.6123 18.3711C8.70153 18.4151 8.83504 18.4545 9.11035 18.4766C9.39482 18.4994 9.76335 18.5 10.3135 18.5H13.6865C14.2367 18.5 14.6052 18.4994 14.8896 18.4766C15.165 18.4545 15.2985 18.4151 15.3877 18.3711C15.6176 18.2577 15.8073 18.0763 15.9307 17.8516C15.9785 17.7644 16.0245 17.6326 16.0586 17.3584C16.0938 17.0751 16.1099 16.7063 16.1338 16.1562L16.4668 8.5H7.5332L7.86621 16.1562ZM9.97656 10.75C10.3906 10.7371 10.7371 11.0626 10.75 11.4766L10.875 15.4766C10.8879 15.8906 10.5624 16.2371 10.1484 16.25C9.73443 16.2629 9.38794 15.9374 9.375 15.5234L9.25 11.5234C9.23706 11.1094 9.56255 10.7629 9.97656 10.75ZM14.0244 10.75C14.4383 10.7635 14.7635 11.1105 14.75 11.5244L14.6201 15.5244C14.6066 15.9384 14.2596 16.2634 13.8457 16.25C13.4317 16.2365 13.1067 15.8896 13.1201 15.4756L13.251 11.4756C13.2645 11.0617 13.6105 10.7366 14.0244 10.75ZM10.5 5.5C10.0858 5.5 9.75 5.83579 9.75 6.25V7H14.25V6.25C14.25 5.83579 13.9142 5.5 13.5 5.5H10.5Z",fill:"currentColor"})});var zo=["data-feedback-toolbar","data-annotation-popup","data-annotation-marker"],vs=zo.flatMap(e=>[`:not([${e}])`,`:not([${e}] *)`]).join("");var Wn="__agentation_freeze";function Do(){if(typeof window>"u")return{frozen:!1,installed:!0,origSetTimeout:setTimeout,origSetInterval:setInterval,origRAF:n=>0,pausedAnimations:[],frozenTimeoutQueue:[],frozenRAFQueue:[]};let e=window;return e[Wn]||(e[Wn]={frozen:!1,installed:!1,origSetTimeout:null,origSetInterval:null,origRAF:null,pausedAnimations:[],frozenTimeoutQueue:[],frozenRAFQueue:[]}),e[Wn]}var G=Do();typeof window<"u"&&!G.installed&&(G.origSetTimeout=window.setTimeout.bind(window),G.origSetInterval=window.setInterval.bind(window),G.origRAF=window.requestAnimationFrame.bind(window),window.setTimeout=(e,n,...t)=>typeof e=="string"?G.origSetTimeout(e,n):G.origSetTimeout((...o)=>{G.frozen?G.frozenTimeoutQueue.push(()=>e(...o)):e(...o)},n,...t),window.setInterval=(e,n,...t)=>typeof e=="string"?G.origSetInterval(e,n):G.origSetInterval((...o)=>{G.frozen||e(...o)},n,...t),window.requestAnimationFrame=e=>G.origRAF(n=>{G.frozen?G.frozenRAFQueue.push(e):e(n)}),G.installed=!0);var de=G.origSetTimeout,Cs=G.origSetInterval,ws=G.origRAF;var z=require("react/jsx-runtime");function On(e){if(!e)return;let n=t=>t.stopImmediatePropagation();document.addEventListener("focusin",n,!0),document.addEventListener("focusout",n,!0);try{e.focus()}finally{document.removeEventListener("focusin",n,!0),document.removeEventListener("focusout",n,!0)}}var kt=(0,V.forwardRef)(function({element:n,timestamp:t,selectedText:o,placeholder:r="What should change?",initialValue:s="",submitLabel:l="Add",onSubmit:i,onCancel:_,onDelete:C,style:h,accentColor:v="#3c82f7",isExiting:w=!1,lightMode:H=!1,computedStyles:M},D){let[K,ce]=(0,V.useState)(s),[ge,se]=(0,V.useState)(!1),[Y,ee]=(0,V.useState)("initial"),[ue,x]=(0,V.useState)(!1),[P,N]=(0,V.useState)(!1),be=(0,V.useRef)(null),q=(0,V.useRef)(null),me=(0,V.useRef)(null),xe=(0,V.useRef)(null);(0,V.useEffect)(()=>{w&&Y!=="exit"&&ee("exit")},[w,Y]),(0,V.useEffect)(()=>{de(()=>{ee("enter")},0);let L=de(()=>{ee("entered")},200),ae=de(()=>{let ne=be.current;ne&&(On(ne),ne.selectionStart=ne.selectionEnd=ne.value.length,ne.scrollTop=ne.scrollHeight)},50);return()=>{clearTimeout(L),clearTimeout(ae),me.current&&clearTimeout(me.current),xe.current&&clearTimeout(xe.current)}},[]);let he=(0,V.useCallback)(()=>{xe.current&&clearTimeout(xe.current),se(!0),xe.current=de(()=>{se(!1),On(be.current)},250)},[]);(0,V.useImperativeHandle)(D,()=>({shake:he}),[he]);let _e=(0,V.useCallback)(()=>{ee("exit"),me.current=de(()=>{_()},150)},[_]),ie=(0,V.useCallback)(()=>{K.trim()&&i(K.trim())},[K,i]),g=(0,V.useCallback)(L=>{L.stopPropagation(),!L.nativeEvent.isComposing&&(L.key==="Enter"&&(L.metaKey||L.ctrlKey)&&(L.preventDefault(),ie()),L.key==="Escape"&&_e())},[ie,_e]),T=[I.popup,H?I.light:"",Y==="enter"?I.enter:"",Y==="entered"?I.entered:"",Y==="exit"?I.exit:"",ge?I.shake:""].filter(Boolean).join(" ");return(0,z.jsxs)("div",{ref:q,className:T,"data-annotation-popup":!0,style:h,onClick:L=>L.stopPropagation(),children:[(0,z.jsxs)("div",{className:I.header,children:[M&&Object.keys(M).length>0?(0,z.jsxs)("button",{className:I.headerToggle,onClick:()=>{let L=P;N(!P),L&&de(()=>On(be.current),0)},type:"button",children:[(0,z.jsx)("svg",{className:`${I.chevron} ${P?I.expanded:""}`,width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,z.jsx)("path",{d:"M5.5 10.25L9 7.25L5.75 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,z.jsx)("span",{className:I.element,children:n})]}):(0,z.jsx)("span",{className:I.element,children:n}),t&&(0,z.jsx)("span",{className:I.timestamp,children:t})]}),M&&Object.keys(M).length>0&&(0,z.jsx)("div",{className:`${I.stylesWrapper} ${P?I.expanded:""}`,children:(0,z.jsx)("div",{className:I.stylesInner,children:(0,z.jsx)("div",{className:I.stylesBlock,children:Object.entries(M).map(([L,ae])=>(0,z.jsxs)("div",{className:I.styleLine,children:[(0,z.jsx)("span",{className:I.styleProperty,children:L.replace(/([A-Z])/g,"-$1").toLowerCase()}),": ",(0,z.jsx)("span",{className:I.styleValue,children:ae}),";"]},L))})})}),o&&(0,z.jsxs)("div",{className:I.quote,children:["\u201C",o.slice(0,80),o.length>80?"...":"","\u201D"]}),(0,z.jsx)("textarea",{ref:be,className:I.textarea,style:{borderColor:ue?v:void 0},placeholder:r,value:K,onChange:L=>{ce(L.target.value);let ae=L.target;ae.style.height="auto",ae.style.height=`${Math.min(ae.scrollHeight,200)}px`},onFocus:()=>x(!0),onBlur:()=>x(!1),rows:4,onKeyDown:g}),(0,z.jsxs)("div",{className:I.actions,children:[C&&(0,z.jsx)("div",{className:I.deleteWrapper,children:(0,z.jsx)("button",{className:I.deleteButton,onClick:C,type:"button",children:(0,z.jsx)(xt,{size:22})})}),(0,z.jsx)("button",{className:I.cancel,onClick:_e,children:"Cancel"}),(0,z.jsx)("button",{className:I.submit,style:{backgroundColor:v,opacity:K.trim()?1:.4},onClick:ie,disabled:!K.trim(),children:l})]}),(0,z.jsxs)("div",{className:I.shortcutHint,children:[navigator?.platform?.includes("Mac")?"\u2318":"Ctrl","+Enter to submit"]})]})});function rn(e){if(e.parentElement)return e.parentElement;let n=e.getRootNode();return n instanceof ShadowRoot?n.host:null}function He(e,n){let t=e;for(;t;){if(t.matches(n))return t;t=rn(t)}return null}function jo(e,n=4){let t=[],o=e,r=0;for(;o&&r<n;){let s=o.tagName.toLowerCase();if(s==="html"||s==="body")break;let l=s;if(o.id)l=`#${o.id}`;else if(o.className&&typeof o.className=="string"){let _=o.className.split(/\s+/).find(C=>C.length>2&&!C.match(/^[a-z]{1,2}$/)&&!C.match(/[A-Z0-9]{5,}/));_&&(l=`.${_.split("_")[0]}`)}let i=rn(o);!o.parentElement&&i&&(l=`\u27E8shadow\u27E9 ${l}`),t.unshift(l),o=i,r++}return t.join(" > ")}function Vn(e){let n=jo(e);if(e.dataset.element)return{name:e.dataset.element,path:n};let t=e.tagName.toLowerCase();if(["path","circle","rect","line","g"].includes(t)){let o=He(e,"svg");if(o){let r=rn(o);if(r instanceof HTMLElement)return{name:`graphic in ${Vn(r).name}`,path:n}}return{name:"graphic element",path:n}}if(t==="svg"){let o=rn(e);if(o?.tagName.toLowerCase()==="button"){let r=o.textContent?.trim();return{name:r?`icon in "${r}" button`:"button icon",path:n}}return{name:"icon",path:n}}if(t==="button"){let o=e.textContent?.trim(),r=e.getAttribute("aria-label");return r?{name:`button [${r}]`,path:n}:{name:o?`button "${o.slice(0,25)}"`:"button",path:n}}if(t==="a"){let o=e.textContent?.trim(),r=e.getAttribute("href");return o?{name:`link "${o.slice(0,25)}"`,path:n}:r?{name:`link to ${r.slice(0,30)}`,path:n}:{name:"link",path:n}}if(t==="input"){let o=e.getAttribute("type")||"text",r=e.getAttribute("placeholder"),s=e.getAttribute("name");return r?{name:`input "${r}"`,path:n}:s?{name:`input [${s}]`,path:n}:{name:`${o} input`,path:n}}if(["h1","h2","h3","h4","h5","h6"].includes(t)){let o=e.textContent?.trim();return{name:o?`${t} "${o.slice(0,35)}"`:t,path:n}}if(t==="p"){let o=e.textContent?.trim();return o?{name:`paragraph: "${o.slice(0,40)}${o.length>40?"...":""}"`,path:n}:{name:"paragraph",path:n}}if(t==="span"||t==="label"){let o=e.textContent?.trim();return o&&o.length<40?{name:`"${o}"`,path:n}:{name:t,path:n}}if(t==="li"){let o=e.textContent?.trim();return o&&o.length<40?{name:`list item: "${o.slice(0,35)}"`,path:n}:{name:"list item",path:n}}if(t==="blockquote")return{name:"blockquote",path:n};if(t==="code"){let o=e.textContent?.trim();return o&&o.length<30?{name:`code: \`${o}\``,path:n}:{name:"code",path:n}}if(t==="pre")return{name:"code block",path:n};if(t==="img"){let o=e.getAttribute("alt");return{name:o?`image "${o.slice(0,30)}"`:"image",path:n}}if(t==="video")return{name:"video",path:n};if(["div","section","article","nav","header","footer","aside","main"].includes(t)){let o=e.className,r=e.getAttribute("role"),s=e.getAttribute("aria-label");if(s)return{name:`${t} [${s}]`,path:n};if(r)return{name:`${r}`,path:n};if(typeof o=="string"&&o){let l=o.split(/[\s_-]+/).map(i=>i.replace(/[A-Z0-9]{5,}.*$/,"")).filter(i=>i.length>2&&!/^[a-z]{1,2}$/.test(i)).slice(0,2);if(l.length>0)return{name:l.join(" "),path:n}}return{name:t==="div"?"container":t,path:n}}return{name:t,path:n}}function vt(e){let n=[],t=e.textContent?.trim();t&&t.length<100&&n.push(t);let o=e.previousElementSibling;if(o){let s=o.textContent?.trim();s&&s.length<50&&n.unshift(`[before: "${s.slice(0,40)}"]`)}let r=e.nextElementSibling;if(r){let s=r.textContent?.trim();s&&s.length<50&&n.push(`[after: "${s.slice(0,40)}"]`)}return n.join(" ")}function Ct(e){let n=e.className;return typeof n!="string"||!n?"":n.split(/\s+/).filter(o=>o.length>0).map(o=>{let r=o.match(/^([a-zA-Z][a-zA-Z0-9_-]*?)(?:_[a-zA-Z0-9]{5,})?$/);return r?r[1]:o}).filter((o,r,s)=>s.indexOf(o)===r).join(", ")}var wt=new Set(["none","normal","auto","0px","rgba(0, 0, 0, 0)","transparent","static","visible"]),Wo=new Set(["p","span","h1","h2","h3","h4","h5","h6","label","li","td","th","blockquote","figcaption","caption","legend","dt","dd","pre","code","em","strong","b","i","a","time","cite","q"]),Oo=new Set(["input","textarea","select"]),Vo=new Set(["img","video","canvas","svg"]),Ko=new Set(["div","section","article","nav","header","footer","aside","main","ul","ol","form","fieldset"]);function St(e){if(typeof window>"u")return{};let n=window.getComputedStyle(e),t={},o=e.tagName.toLowerCase(),r;Wo.has(o)?r=["color","fontSize","fontWeight","fontFamily","lineHeight"]:o==="button"||o==="a"&&e.getAttribute("role")==="button"?r=["backgroundColor","color","padding","borderRadius","fontSize"]:Oo.has(o)?r=["backgroundColor","color","padding","borderRadius","fontSize"]:Vo.has(o)?r=["width","height","objectFit","borderRadius"]:Ko.has(o)?r=["display","padding","margin","gap","backgroundColor"]:r=["color","fontSize","margin","padding","backgroundColor"];for(let s of r){let l=s.replace(/([A-Z])/g,"-$1").toLowerCase(),i=n.getPropertyValue(l);i&&!wt.has(i)&&(t[s]=i)}return t}var Zo=["color","backgroundColor","borderColor","fontSize","fontWeight","fontFamily","lineHeight","letterSpacing","textAlign","width","height","padding","margin","border","borderRadius","display","position","top","right","bottom","left","zIndex","flexDirection","justifyContent","alignItems","gap","opacity","visibility","overflow","boxShadow","transform"];function Lt(e){if(typeof window>"u")return"";let n=window.getComputedStyle(e),t=[];for(let o of Zo){let r=o.replace(/([A-Z])/g,"-$1").toLowerCase(),s=n.getPropertyValue(r);s&&!wt.has(s)&&t.push(`${r}: ${s}`)}return t.join("; ")}function Nt(e){let n=[],t=e.getAttribute("role"),o=e.getAttribute("aria-label"),r=e.getAttribute("aria-describedby"),s=e.getAttribute("tabindex"),l=e.getAttribute("aria-hidden");return t&&n.push(`role="${t}"`),o&&n.push(`aria-label="${o}"`),r&&n.push(`aria-describedby="${r}"`),s&&n.push(`tabindex=${s}`),l==="true"&&n.push("aria-hidden"),e.matches("a, button, input, select, textarea, [tabindex]")&&n.push("focusable"),n.join(", ")}function Tt(e){let n=[],t=e;for(;t&&t.tagName.toLowerCase()!=="html";){let o=t.tagName.toLowerCase(),r=o;if(t.id)r=`${o}#${t.id}`;else if(t.className&&typeof t.className=="string"){let l=t.className.split(/\s+/).map(i=>i.replace(/[_][a-zA-Z0-9]{5,}.*$/,"")).find(i=>i.length>2);l&&(r=`${o}.${l}`)}let s=rn(t);!t.parentElement&&s&&(r=`\u27E8shadow\u27E9 ${r}`),n.unshift(r),t=s}return n.join(" > ")}var R={FunctionComponent:0,ClassComponent:1,IndeterminateComponent:2,HostRoot:3,HostPortal:4,HostComponent:5,HostText:6,Fragment:7,Mode:8,ContextConsumer:9,ContextProvider:10,ForwardRef:11,Profiler:12,SuspenseComponent:13,MemoComponent:14,SimpleMemoComponent:15,LazyComponent:16,IncompleteClassComponent:17,DehydratedFragment:18,SuspenseListComponent:19,ScopeComponent:21,OffscreenComponent:22,LegacyHiddenComponent:23,CacheComponent:24,TracingMarkerComponent:25,HostHoistable:26,HostSingleton:27,IncompleteFunctionComponent:28,Throw:29,ViewTransitionComponent:30,ActivityComponent:31},Rt=new Set(["Component","PureComponent","Fragment","Suspense","Profiler","StrictMode","Routes","Route","Outlet","Root","ErrorBoundaryHandler","HotReload","Hot"]),Et=[/Boundary$/,/BoundaryHandler$/,/Provider$/,/Consumer$/,/^(Inner|Outer)/,/Router$/,/^Client(Page|Segment|Root)/,/^Segment(ViewNode|Node)$/,/^LayoutSegment/,/^Server(Root|Component|Render)/,/^RSC/,/Context$/,/^Hot(Reload)?$/,/^(Dev|React)(Overlay|Tools|Root)/,/Overlay$/,/Handler$/,/^With[A-Z]/,/Wrapper$/,/^Root$/],Uo=[/Page$/,/View$/,/Screen$/,/Section$/,/Card$/,/List$/,/Item$/,/Form$/,/Modal$/,/Dialog$/,/Button$/,/Nav$/,/Header$/,/Footer$/,/Layout$/,/Panel$/,/Tab$/,/Menu$/];function Xo(e){let n=e?.mode??"filtered",t=Rt;if(e?.skipExact){let o=e.skipExact instanceof Set?e.skipExact:new Set(e.skipExact);t=new Set([...Rt,...o])}return{maxComponents:e?.maxComponents??6,maxDepth:e?.maxDepth??30,mode:n,skipExact:t,skipPatterns:e?.skipPatterns?[...Et,...e.skipPatterns]:Et,userPatterns:e?.userPatterns??Uo,filter:e?.filter}}function Qo(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").toLowerCase()}function Yo(e,n=10){let t=new Set,o=e,r=0;for(;o&&r<n;)o.className&&typeof o.className=="string"&&o.className.split(/\s+/).forEach(s=>{if(s.length>1){let l=s.replace(/[_][a-zA-Z0-9]{5,}.*$/,"").toLowerCase();l.length>1&&t.add(l)}}),o=o.parentElement,r++;return t}function qo(e,n){let t=Qo(e);for(let o of n){if(o===t)return!0;let r=t.split("-").filter(l=>l.length>2),s=o.split("-").filter(l=>l.length>2);for(let l of r)for(let i of s)if(l===i||l.includes(i)||i.includes(l))return!0}return!1}function Jo(e,n,t,o){if(t.filter)return t.filter(e,n);switch(t.mode){case"all":return!0;case"filtered":return!(t.skipExact.has(e)||t.skipPatterns.some(r=>r.test(e)));case"smart":return t.skipExact.has(e)||t.skipPatterns.some(r=>r.test(e))?!1:!!(o&&qo(e,o)||t.userPatterns.some(r=>r.test(e)));default:return!0}}var Ve=null,Go=new WeakMap;function Kn(e){return Object.keys(e).some(n=>n.startsWith("__reactFiber$")||n.startsWith("__reactInternalInstance$")||n.startsWith("__reactProps$"))}function er(){if(Ve!==null)return Ve;if(typeof document>"u")return!1;if(document.body&&Kn(document.body))return Ve=!0,!0;let e=["#root","#app","#__next","[data-reactroot]"];for(let n of e){let t=document.querySelector(n);if(t&&Kn(t))return Ve=!0,!0}if(document.body){for(let n of document.body.children)if(Kn(n))return Ve=!0,!0}return Ve=!1,!1}var sn={map:Go};function nr(e){return Object.keys(e).find(t=>t.startsWith("__reactFiber$")||t.startsWith("__reactInternalInstance$"))||null}function tr(e){let n=nr(e);return n?e[n]:null}function Be(e){return e?e.displayName?e.displayName:e.name?e.name:null:null}function or(e){let{tag:n,type:t,elementType:o}=e;if(n===R.HostComponent||n===R.HostText||n===R.HostHoistable||n===R.HostSingleton||n===R.Fragment||n===R.Mode||n===R.Profiler||n===R.DehydratedFragment||n===R.HostRoot||n===R.HostPortal||n===R.ScopeComponent||n===R.OffscreenComponent||n===R.LegacyHiddenComponent||n===R.CacheComponent||n===R.TracingMarkerComponent||n===R.Throw||n===R.ViewTransitionComponent||n===R.ActivityComponent)return null;if(n===R.ForwardRef){let r=o;if(r?.render){let s=Be(r.render);if(s)return s}return r?.displayName?r.displayName:Be(t)}if(n===R.MemoComponent||n===R.SimpleMemoComponent){let r=o;if(r?.type){let s=Be(r.type);if(s)return s}return r?.displayName?r.displayName:Be(t)}if(n===R.ContextProvider){let r=t;return r?._context?.displayName?`${r._context.displayName}.Provider`:null}if(n===R.ContextConsumer){let r=t;return r?.displayName?`${r.displayName}.Consumer`:null}if(n===R.LazyComponent){let r=o;return r?._status===1&&r._result?Be(r._result):null}return n===R.SuspenseComponent||n===R.SuspenseListComponent?null:n===R.IncompleteClassComponent||n===R.IncompleteFunctionComponent||n===R.FunctionComponent||n===R.ClassComponent||n===R.IndeterminateComponent?Be(t):null}function rr(e){return e.length<=2||e.length<=3&&e===e.toLowerCase()}function It(e,n){let t=Xo(n),o=t.mode==="all";if(o){let _=sn.map.get(e);if(_!==void 0)return _}if(!er()){let _={path:null,components:[]};return o&&sn.map.set(e,_),_}let r=t.mode==="smart"?Yo(e):void 0,s=[];try{let _=tr(e),C=0;for(;_&&C<t.maxDepth&&s.length<t.maxComponents;){let h=or(_);h&&!rr(h)&&Jo(h,C,t,r)&&s.push(h),_=_.return,C++}}catch{let _={path:null,components:[]};return o&&sn.map.set(e,_),_}if(s.length===0){let _={path:null,components:[]};return o&&sn.map.set(e,_),_}let i={path:s.slice().reverse().map(_=>`<${_}>`).join(" "),components:s};return o&&sn.map.set(e,i),i}var Mt=zn(require("react")),an={FunctionComponent:0,ClassComponent:1,IndeterminateComponent:2,HostRoot:3,HostPortal:4,HostComponent:5,HostText:6,Fragment:7,Mode:8,ContextConsumer:9,ContextProvider:10,ForwardRef:11,Profiler:12,SuspenseComponent:13,MemoComponent:14,SimpleMemoComponent:15,LazyComponent:16};function sr(e){if(!e||typeof e!="object")return null;let n=Object.keys(e),t=n.find(s=>s.startsWith("__reactFiber$"));if(t)return e[t]||null;let o=n.find(s=>s.startsWith("__reactInternalInstance$"));if(o)return e[o]||null;let r=n.find(s=>{if(!s.startsWith("__react"))return!1;let l=e[s];return l&&typeof l=="object"&&"_debugSource"in l});return r&&e[r]||null}function ln(e){if(!e.type||typeof e.type=="string")return null;if(typeof e.type=="object"||typeof e.type=="function"){let n=e.type;if(n.displayName)return n.displayName;if(n.name)return n.name}return null}function ir(e,n=50){let t=e,o=0;for(;t&&o<n;){if(t._debugSource)return{source:t._debugSource,componentName:ln(t)};if(t._debugOwner?._debugSource)return{source:t._debugOwner._debugSource,componentName:ln(t._debugOwner)};t=t.return,o++}return null}function ar(e){let n=e,t=0,o=50;for(;n&&t<o;){let r=n,s=["_debugSource","__source","_source","debugSource"];for(let l of s){let i=r[l];if(i&&typeof i=="object"&&"fileName"in i)return{source:i,componentName:ln(n)}}if(n.memoizedProps){let l=n.memoizedProps;if(l.__source&&typeof l.__source=="object"){let i=l.__source;if(i.fileName&&i.lineNumber)return{source:{fileName:i.fileName,lineNumber:i.lineNumber,columnNumber:i.columnNumber},componentName:ln(n)}}}n=n.return,t++}return null}var Nn=new Map;function lr(e){let n=e.tag,t=e.type,o=e.elementType;if(typeof t=="string"||t==null||typeof t=="function"&&t.prototype?.isReactComponent)return null;if((n===an.FunctionComponent||n===an.IndeterminateComponent)&&typeof t=="function")return t;if(n===an.ForwardRef&&o){let r=o.render;if(typeof r=="function")return r}if((n===an.MemoComponent||n===an.SimpleMemoComponent)&&o){let r=o.type;if(typeof r=="function")return r}return typeof t=="function"?t:null}function dr(){let e=Mt.default,n=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;if(n&&"H"in n)return{get:()=>n.H,set:o=>{n.H=o}};let t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;if(t){let o=t.ReactCurrentDispatcher;if(o&&"current"in o)return{get:()=>o.current,set:r=>{o.current=r}}}return null}function cr(e){let n=e.split(`
|
|
333
|
-
`),t=[/source-location/,/\/dist\/index\./,/\/dist\/react\./,/node_modules\//,/react-dom/,/react\.development/,/react\.production/,/chunk-[A-Z0-9]+/i,/react-stack-bottom-frame/,/react-reconciler/,/scheduler/,/at <anonymous>:/],o=/^\s*at\s+(?:.*?\s+\()?(.+?):(\d+):(\d+)\)?$/,r=/^[^@]*@(.+?):(\d+):(\d+)$/,s=0;for(let
|
|
332
|
+
}`,Wo={popup:"styles-module__popup___IhzrD",enter:"styles-module__enter___L7U7N",popupEnter:"styles-module__popupEnter___AuQDN",entered:"styles-module__entered___COX-w",exit:"styles-module__exit___5eGjE",popupExit:"styles-module__popupExit___JJKQX",shake:"styles-module__shake___jdbWe",header:"styles-module__header___wWsSi",element:"styles-module__element___fTV2z",headerToggle:"styles-module__headerToggle___WpW0b",chevron:"styles-module__chevron___ZZJlR",expanded:"styles-module__expanded___2Hxgv",stylesWrapper:"styles-module__stylesWrapper___pnHgy",stylesInner:"styles-module__stylesInner___YYZe2",stylesBlock:"styles-module__stylesBlock___VfQKn",styleLine:"styles-module__styleLine___1YQiD",styleProperty:"styles-module__styleProperty___84L1i",styleValue:"styles-module__styleValue___q51-h",timestamp:"styles-module__timestamp___Dtpsv",quote:"styles-module__quote___mcMmQ",textarea:"styles-module__textarea___jrSae",green:"styles-module__green___99l3h",actions:"styles-module__actions___D6x3f",cancel:"styles-module__cancel___hRjnL",submit:"styles-module__submit___K-mIR",shortcutHint:"styles-module__shortcutHint___ihsrd",deleteWrapper:"styles-module__deleteWrapper___oSjdo",deleteButton:"styles-module__deleteButton___4VuAE",light:"styles-module__light___6AaSQ"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-annotation-popup-css-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-annotation-popup-css-styles",document.head.appendChild(e)),e.textContent=jo}var $=Wo;var En=require("react/jsx-runtime");var St=({size:e=24})=>(0,En.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,En.jsx)("path",{d:"M13.5 4C14.7426 4 15.75 5.00736 15.75 6.25V7H18.5C18.9142 7 19.25 7.33579 19.25 7.75C19.25 8.16421 18.9142 8.5 18.5 8.5H17.9678L17.6328 16.2217C17.61 16.7475 17.5912 17.1861 17.5469 17.543C17.5015 17.9087 17.4225 18.2506 17.2461 18.5723C16.9747 19.0671 16.5579 19.4671 16.0518 19.7168C15.7227 19.8791 15.3772 19.9422 15.0098 19.9717C14.6514 20.0004 14.2126 20 13.6865 20H10.3135C9.78735 20 9.34856 20.0004 8.99023 19.9717C8.62278 19.9422 8.27729 19.8791 7.94824 19.7168C7.44205 19.4671 7.02532 19.0671 6.75391 18.5723C6.57751 18.2506 6.49853 17.9087 6.45312 17.543C6.40883 17.1861 6.39005 16.7475 6.36719 16.2217L6.03223 8.5H5.5C5.08579 8.5 4.75 8.16421 4.75 7.75C4.75 7.33579 5.08579 7 5.5 7H8.25V6.25C8.25 5.00736 9.25736 4 10.5 4H13.5ZM7.86621 16.1562C7.89013 16.7063 7.90624 17.0751 7.94141 17.3584C7.97545 17.6326 8.02151 17.7644 8.06934 17.8516C8.19271 18.0763 8.38239 18.2577 8.6123 18.3711C8.70153 18.4151 8.83504 18.4545 9.11035 18.4766C9.39482 18.4994 9.76335 18.5 10.3135 18.5H13.6865C14.2367 18.5 14.6052 18.4994 14.8896 18.4766C15.165 18.4545 15.2985 18.4151 15.3877 18.3711C15.6176 18.2577 15.8073 18.0763 15.9307 17.8516C15.9785 17.7644 16.0245 17.6326 16.0586 17.3584C16.0938 17.0751 16.1099 16.7063 16.1338 16.1562L16.4668 8.5H7.5332L7.86621 16.1562ZM9.97656 10.75C10.3906 10.7371 10.7371 11.0626 10.75 11.4766L10.875 15.4766C10.8879 15.8906 10.5624 16.2371 10.1484 16.25C9.73443 16.2629 9.38794 15.9374 9.375 15.5234L9.25 11.5234C9.23706 11.1094 9.56255 10.7629 9.97656 10.75ZM14.0244 10.75C14.4383 10.7635 14.7635 11.1105 14.75 11.5244L14.6201 15.5244C14.6066 15.9384 14.2596 16.2634 13.8457 16.25C13.4317 16.2365 13.1067 15.8896 13.1201 15.4756L13.251 11.4756C13.2645 11.0617 13.6105 10.7366 14.0244 10.75ZM10.5 5.5C10.0858 5.5 9.75 5.83579 9.75 6.25V7H14.25V6.25C14.25 5.83579 13.9142 5.5 13.5 5.5H10.5Z",fill:"currentColor"})});var Oo=["data-feedback-toolbar","data-annotation-popup","data-annotation-marker"],Rs=Oo.flatMap(e=>[`:not([${e}])`,`:not([${e}] *)`]).join("");var Zn="__agentation_freeze";function Vo(){if(typeof window>"u")return{frozen:!1,installed:!0,origSetTimeout:setTimeout,origSetInterval:setInterval,origRAF:n=>0,pausedAnimations:[],frozenTimeoutQueue:[],frozenRAFQueue:[]};let e=window;return e[Zn]||(e[Zn]={frozen:!1,installed:!1,origSetTimeout:null,origSetInterval:null,origRAF:null,pausedAnimations:[],frozenTimeoutQueue:[],frozenRAFQueue:[]}),e[Zn]}var oe=Vo();typeof window<"u"&&!oe.installed&&(oe.origSetTimeout=window.setTimeout.bind(window),oe.origSetInterval=window.setInterval.bind(window),oe.origRAF=window.requestAnimationFrame.bind(window),window.setTimeout=(e,n,...t)=>typeof e=="string"?oe.origSetTimeout(e,n):oe.origSetTimeout((...o)=>{oe.frozen?oe.frozenTimeoutQueue.push(()=>e(...o)):e(...o)},n,...t),window.setInterval=(e,n,...t)=>typeof e=="string"?oe.origSetInterval(e,n):oe.origSetInterval((...o)=>{oe.frozen||e(...o)},n,...t),window.requestAnimationFrame=e=>oe.origRAF(n=>{oe.frozen?oe.frozenRAFQueue.push(e):e(n)}),oe.installed=!0);var fe=oe.origSetTimeout,Is=oe.origSetInterval,Ms=oe.origRAF;var V=require("react/jsx-runtime");function Un(e){if(!e)return;let n=t=>t.stopImmediatePropagation();document.addEventListener("focusin",n,!0),document.addEventListener("focusout",n,!0);try{e.focus()}finally{document.removeEventListener("focusin",n,!0),document.removeEventListener("focusout",n,!0)}}var Lt=(0,U.forwardRef)(function({element:n,timestamp:t,selectedText:o,placeholder:r="What should change?",initialValue:s="",submitLabel:a="Add",onSubmit:i,onCancel:_,onDelete:k,style:y,accentColor:v="#3c82f7",isExiting:C=!1,lightMode:A=!1,computedStyles:I},H){let[K,ae]=(0,U.useState)(s),[_e,re]=(0,U.useState)(!1),[R,N]=(0,U.useState)("initial"),[q,b]=(0,U.useState)(!1),[P,E]=(0,U.useState)(!1),pe=(0,U.useRef)(null),T=(0,U.useRef)(null),Y=(0,U.useRef)(null),le=(0,U.useRef)(null);(0,U.useEffect)(()=>{C&&R!=="exit"&&N("exit")},[C,R]),(0,U.useEffect)(()=>{fe(()=>{N("enter")},0);let h=fe(()=>{N("entered")},200),Z=fe(()=>{let ce=pe.current;ce&&(Un(ce),ce.selectionStart=ce.selectionEnd=ce.value.length,ce.scrollTop=ce.scrollHeight)},50);return()=>{clearTimeout(h),clearTimeout(Z),Y.current&&clearTimeout(Y.current),le.current&&clearTimeout(le.current)}},[]);let be=(0,U.useCallback)(()=>{le.current&&clearTimeout(le.current),re(!0),le.current=fe(()=>{re(!1),Un(pe.current)},250)},[]);(0,U.useImperativeHandle)(H,()=>({shake:be}),[be]);let Te=(0,U.useCallback)(()=>{N("exit"),Y.current=fe(()=>{_()},150)},[_]),xe=(0,U.useCallback)(()=>{K.trim()&&i(K.trim())},[K,i]),de=(0,U.useCallback)(h=>{h.stopPropagation(),!h.nativeEvent.isComposing&&(h.key==="Enter"&&(h.metaKey||h.ctrlKey)&&(h.preventDefault(),xe()),h.key==="Escape"&&Te())},[xe,Te]),g=[$.popup,A?$.light:"",R==="enter"?$.enter:"",R==="entered"?$.entered:"",R==="exit"?$.exit:"",_e?$.shake:""].filter(Boolean).join(" ");return(0,V.jsxs)("div",{ref:T,className:g,"data-annotation-popup":!0,style:y,onClick:h=>h.stopPropagation(),children:[(0,V.jsxs)("div",{className:$.header,children:[I&&Object.keys(I).length>0?(0,V.jsxs)("button",{className:$.headerToggle,onClick:()=>{let h=P;E(!P),h&&fe(()=>Un(pe.current),0)},type:"button",children:[(0,V.jsx)("svg",{className:`${$.chevron} ${P?$.expanded:""}`,width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,V.jsx)("path",{d:"M5.5 10.25L9 7.25L5.75 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,V.jsx)("span",{className:$.element,children:n})]}):(0,V.jsx)("span",{className:$.element,children:n}),t&&(0,V.jsx)("span",{className:$.timestamp,children:t})]}),I&&Object.keys(I).length>0&&(0,V.jsx)("div",{className:`${$.stylesWrapper} ${P?$.expanded:""}`,children:(0,V.jsx)("div",{className:$.stylesInner,children:(0,V.jsx)("div",{className:$.stylesBlock,children:Object.entries(I).map(([h,Z])=>(0,V.jsxs)("div",{className:$.styleLine,children:[(0,V.jsx)("span",{className:$.styleProperty,children:h.replace(/([A-Z])/g,"-$1").toLowerCase()}),": ",(0,V.jsx)("span",{className:$.styleValue,children:Z}),";"]},h))})})}),o&&(0,V.jsxs)("div",{className:$.quote,children:["\u201C",o.slice(0,80),o.length>80?"...":"","\u201D"]}),(0,V.jsx)("textarea",{ref:pe,className:$.textarea,style:{borderColor:q?v:void 0},placeholder:r,value:K,onChange:h=>{ae(h.target.value);let Z=h.target;Z.style.height="auto",Z.style.height=`${Math.min(Z.scrollHeight,200)}px`},onFocus:()=>b(!0),onBlur:()=>b(!1),rows:4,onKeyDown:de}),(0,V.jsxs)("div",{className:$.actions,children:[k&&(0,V.jsx)("div",{className:$.deleteWrapper,children:(0,V.jsx)("button",{className:$.deleteButton,onClick:k,type:"button",children:(0,V.jsx)(St,{size:22})})}),(0,V.jsx)("button",{className:$.cancel,onClick:Te,children:"Cancel"}),(0,V.jsx)("button",{className:$.submit,style:{backgroundColor:v,opacity:K.trim()?1:.4},onClick:xe,disabled:!K.trim(),children:a})]}),(0,V.jsxs)("div",{className:$.shortcutHint,children:[navigator?.platform?.includes("Mac")?"\u2318":"Ctrl","+Enter to submit"]})]})});function rn(e){if(e.parentElement)return e.parentElement;let n=e.getRootNode();return n instanceof ShadowRoot?n.host:null}function je(e,n){let t=e;for(;t;){if(t.matches(n))return t;t=rn(t)}return null}function Ko(e,n=4){let t=[],o=e,r=0;for(;o&&r<n;){let s=o.tagName.toLowerCase();if(s==="html"||s==="body")break;let a=s;if(o.id)a=`#${o.id}`;else if(o.className&&typeof o.className=="string"){let _=o.className.split(/\s+/).find(k=>k.length>2&&!k.match(/^[a-z]{1,2}$/)&&!k.match(/[A-Z0-9]{5,}/));_&&(a=`.${_.split("_")[0]}`)}let i=rn(o);!o.parentElement&&i&&(a=`\u27E8shadow\u27E9 ${a}`),t.unshift(a),o=i,r++}return t.join(" > ")}function Xn(e){let n=Ko(e);if(e.dataset.element)return{name:e.dataset.element,path:n};let t=e.tagName.toLowerCase();if(["path","circle","rect","line","g"].includes(t)){let o=je(e,"svg");if(o){let r=rn(o);if(r instanceof HTMLElement)return{name:`graphic in ${Xn(r).name}`,path:n}}return{name:"graphic element",path:n}}if(t==="svg"){let o=rn(e);if(o?.tagName.toLowerCase()==="button"){let r=o.textContent?.trim();return{name:r?`icon in "${r}" button`:"button icon",path:n}}return{name:"icon",path:n}}if(t==="button"){let o=e.textContent?.trim(),r=e.getAttribute("aria-label");return r?{name:`button [${r}]`,path:n}:{name:o?`button "${o.slice(0,25)}"`:"button",path:n}}if(t==="a"){let o=e.textContent?.trim(),r=e.getAttribute("href");return o?{name:`link "${o.slice(0,25)}"`,path:n}:r?{name:`link to ${r.slice(0,30)}`,path:n}:{name:"link",path:n}}if(t==="input"){let o=e.getAttribute("type")||"text",r=e.getAttribute("placeholder"),s=e.getAttribute("name");return r?{name:`input "${r}"`,path:n}:s?{name:`input [${s}]`,path:n}:{name:`${o} input`,path:n}}if(["h1","h2","h3","h4","h5","h6"].includes(t)){let o=e.textContent?.trim();return{name:o?`${t} "${o.slice(0,35)}"`:t,path:n}}if(t==="p"){let o=e.textContent?.trim();return o?{name:`paragraph: "${o.slice(0,40)}${o.length>40?"...":""}"`,path:n}:{name:"paragraph",path:n}}if(t==="span"||t==="label"){let o=e.textContent?.trim();return o&&o.length<40?{name:`"${o}"`,path:n}:{name:t,path:n}}if(t==="li"){let o=e.textContent?.trim();return o&&o.length<40?{name:`list item: "${o.slice(0,35)}"`,path:n}:{name:"list item",path:n}}if(t==="blockquote")return{name:"blockquote",path:n};if(t==="code"){let o=e.textContent?.trim();return o&&o.length<30?{name:`code: \`${o}\``,path:n}:{name:"code",path:n}}if(t==="pre")return{name:"code block",path:n};if(t==="img"){let o=e.getAttribute("alt");return{name:o?`image "${o.slice(0,30)}"`:"image",path:n}}if(t==="video")return{name:"video",path:n};if(["div","section","article","nav","header","footer","aside","main"].includes(t)){let o=e.className,r=e.getAttribute("role"),s=e.getAttribute("aria-label");if(s)return{name:`${t} [${s}]`,path:n};if(r)return{name:`${r}`,path:n};if(typeof o=="string"&&o){let a=o.split(/[\s_-]+/).map(i=>i.replace(/[A-Z0-9]{5,}.*$/,"")).filter(i=>i.length>2&&!/^[a-z]{1,2}$/.test(i)).slice(0,2);if(a.length>0)return{name:a.join(" "),path:n}}return{name:t==="div"?"container":t,path:n}}return{name:t,path:n}}function Nt(e){let n=[],t=e.textContent?.trim();t&&t.length<100&&n.push(t);let o=e.previousElementSibling;if(o){let s=o.textContent?.trim();s&&s.length<50&&n.unshift(`[before: "${s.slice(0,40)}"]`)}let r=e.nextElementSibling;if(r){let s=r.textContent?.trim();s&&s.length<50&&n.push(`[after: "${s.slice(0,40)}"]`)}return n.join(" ")}function Et(e){let n=e.className;return typeof n!="string"||!n?"":n.split(/\s+/).filter(o=>o.length>0).map(o=>{let r=o.match(/^([a-zA-Z][a-zA-Z0-9_-]*?)(?:_[a-zA-Z0-9]{5,})?$/);return r?r[1]:o}).filter((o,r,s)=>s.indexOf(o)===r).join(", ")}var Tt=new Set(["none","normal","auto","0px","rgba(0, 0, 0, 0)","transparent","static","visible"]),Zo=new Set(["p","span","h1","h2","h3","h4","h5","h6","label","li","td","th","blockquote","figcaption","caption","legend","dt","dd","pre","code","em","strong","b","i","a","time","cite","q"]),Uo=new Set(["input","textarea","select"]),Xo=new Set(["img","video","canvas","svg"]),Yo=new Set(["div","section","article","nav","header","footer","aside","main","ul","ol","form","fieldset"]);function Rt(e){if(typeof window>"u")return{};let n=window.getComputedStyle(e),t={},o=e.tagName.toLowerCase(),r;Zo.has(o)?r=["color","fontSize","fontWeight","fontFamily","lineHeight"]:o==="button"||o==="a"&&e.getAttribute("role")==="button"?r=["backgroundColor","color","padding","borderRadius","fontSize"]:Uo.has(o)?r=["backgroundColor","color","padding","borderRadius","fontSize"]:Xo.has(o)?r=["width","height","objectFit","borderRadius"]:Yo.has(o)?r=["display","padding","margin","gap","backgroundColor"]:r=["color","fontSize","margin","padding","backgroundColor"];for(let s of r){let a=s.replace(/([A-Z])/g,"-$1").toLowerCase(),i=n.getPropertyValue(a);i&&!Tt.has(i)&&(t[s]=i)}return t}var Qo=["color","backgroundColor","borderColor","fontSize","fontWeight","fontFamily","lineHeight","letterSpacing","textAlign","width","height","padding","margin","border","borderRadius","display","position","top","right","bottom","left","zIndex","flexDirection","justifyContent","alignItems","gap","opacity","visibility","overflow","boxShadow","transform"];function It(e){if(typeof window>"u")return"";let n=window.getComputedStyle(e),t=[];for(let o of Qo){let r=o.replace(/([A-Z])/g,"-$1").toLowerCase(),s=n.getPropertyValue(r);s&&!Tt.has(s)&&t.push(`${r}: ${s}`)}return t.join("; ")}function Mt(e){let n=[],t=e.getAttribute("role"),o=e.getAttribute("aria-label"),r=e.getAttribute("aria-describedby"),s=e.getAttribute("tabindex"),a=e.getAttribute("aria-hidden");return t&&n.push(`role="${t}"`),o&&n.push(`aria-label="${o}"`),r&&n.push(`aria-describedby="${r}"`),s&&n.push(`tabindex=${s}`),a==="true"&&n.push("aria-hidden"),e.matches("a, button, input, select, textarea, [tabindex]")&&n.push("focusable"),n.join(", ")}function Ft(e){let n=[],t=e;for(;t&&t.tagName.toLowerCase()!=="html";){let o=t.tagName.toLowerCase(),r=o;if(t.id)r=`${o}#${t.id}`;else if(t.className&&typeof t.className=="string"){let a=t.className.split(/\s+/).map(i=>i.replace(/[_][a-zA-Z0-9]{5,}.*$/,"")).find(i=>i.length>2);a&&(r=`${o}.${a}`)}let s=rn(t);!t.parentElement&&s&&(r=`\u27E8shadow\u27E9 ${r}`),n.unshift(r),t=s}return n.join(" > ")}var F={FunctionComponent:0,ClassComponent:1,IndeterminateComponent:2,HostRoot:3,HostPortal:4,HostComponent:5,HostText:6,Fragment:7,Mode:8,ContextConsumer:9,ContextProvider:10,ForwardRef:11,Profiler:12,SuspenseComponent:13,MemoComponent:14,SimpleMemoComponent:15,LazyComponent:16,IncompleteClassComponent:17,DehydratedFragment:18,SuspenseListComponent:19,ScopeComponent:21,OffscreenComponent:22,LegacyHiddenComponent:23,CacheComponent:24,TracingMarkerComponent:25,HostHoistable:26,HostSingleton:27,IncompleteFunctionComponent:28,Throw:29,ViewTransitionComponent:30,ActivityComponent:31},Pt=new Set(["Component","PureComponent","Fragment","Suspense","Profiler","StrictMode","Routes","Route","Outlet","Root","ErrorBoundaryHandler","HotReload","Hot"]),At=[/Boundary$/,/BoundaryHandler$/,/Provider$/,/Consumer$/,/^(Inner|Outer)/,/Router$/,/^Client(Page|Segment|Root)/,/^Segment(ViewNode|Node)$/,/^LayoutSegment/,/^Server(Root|Component|Render)/,/^RSC/,/Context$/,/^Hot(Reload)?$/,/^(Dev|React)(Overlay|Tools|Root)/,/Overlay$/,/Handler$/,/^With[A-Z]/,/Wrapper$/,/^Root$/],qo=[/Page$/,/View$/,/Screen$/,/Section$/,/Card$/,/List$/,/Item$/,/Form$/,/Modal$/,/Dialog$/,/Button$/,/Nav$/,/Header$/,/Footer$/,/Layout$/,/Panel$/,/Tab$/,/Menu$/];function Jo(e){let n=e?.mode??"filtered",t=Pt;if(e?.skipExact){let o=e.skipExact instanceof Set?e.skipExact:new Set(e.skipExact);t=new Set([...Pt,...o])}return{maxComponents:e?.maxComponents??6,maxDepth:e?.maxDepth??30,mode:n,skipExact:t,skipPatterns:e?.skipPatterns?[...At,...e.skipPatterns]:At,userPatterns:e?.userPatterns??qo,filter:e?.filter}}function Go(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").toLowerCase()}function er(e,n=10){let t=new Set,o=e,r=0;for(;o&&r<n;)o.className&&typeof o.className=="string"&&o.className.split(/\s+/).forEach(s=>{if(s.length>1){let a=s.replace(/[_][a-zA-Z0-9]{5,}.*$/,"").toLowerCase();a.length>1&&t.add(a)}}),o=o.parentElement,r++;return t}function nr(e,n){let t=Go(e);for(let o of n){if(o===t)return!0;let r=t.split("-").filter(a=>a.length>2),s=o.split("-").filter(a=>a.length>2);for(let a of r)for(let i of s)if(a===i||a.includes(i)||i.includes(a))return!0}return!1}function tr(e,n,t,o){if(t.filter)return t.filter(e,n);switch(t.mode){case"all":return!0;case"filtered":return!(t.skipExact.has(e)||t.skipPatterns.some(r=>r.test(e)));case"smart":return t.skipExact.has(e)||t.skipPatterns.some(r=>r.test(e))?!1:!!(o&&nr(e,o)||t.userPatterns.some(r=>r.test(e)));default:return!0}}var Ze=null,or=new WeakMap;function Yn(e){return Object.keys(e).some(n=>n.startsWith("__reactFiber$")||n.startsWith("__reactInternalInstance$")||n.startsWith("__reactProps$"))}function rr(){if(Ze!==null)return Ze;if(typeof document>"u")return!1;if(document.body&&Yn(document.body))return Ze=!0,!0;let e=["#root","#app","#__next","[data-reactroot]"];for(let n of e){let t=document.querySelector(n);if(t&&Yn(t))return Ze=!0,!0}if(document.body){for(let n of document.body.children)if(Yn(n))return Ze=!0,!0}return Ze=!1,!1}var sn={map:or};function sr(e){return Object.keys(e).find(t=>t.startsWith("__reactFiber$")||t.startsWith("__reactInternalInstance$"))||null}function ir(e){let n=sr(e);return n?e[n]:null}function We(e){return e?e.displayName?e.displayName:e.name?e.name:null:null}function ar(e){let{tag:n,type:t,elementType:o}=e;if(n===F.HostComponent||n===F.HostText||n===F.HostHoistable||n===F.HostSingleton||n===F.Fragment||n===F.Mode||n===F.Profiler||n===F.DehydratedFragment||n===F.HostRoot||n===F.HostPortal||n===F.ScopeComponent||n===F.OffscreenComponent||n===F.LegacyHiddenComponent||n===F.CacheComponent||n===F.TracingMarkerComponent||n===F.Throw||n===F.ViewTransitionComponent||n===F.ActivityComponent)return null;if(n===F.ForwardRef){let r=o;if(r?.render){let s=We(r.render);if(s)return s}return r?.displayName?r.displayName:We(t)}if(n===F.MemoComponent||n===F.SimpleMemoComponent){let r=o;if(r?.type){let s=We(r.type);if(s)return s}return r?.displayName?r.displayName:We(t)}if(n===F.ContextProvider){let r=t;return r?._context?.displayName?`${r._context.displayName}.Provider`:null}if(n===F.ContextConsumer){let r=t;return r?.displayName?`${r.displayName}.Consumer`:null}if(n===F.LazyComponent){let r=o;return r?._status===1&&r._result?We(r._result):null}return n===F.SuspenseComponent||n===F.SuspenseListComponent?null:n===F.IncompleteClassComponent||n===F.IncompleteFunctionComponent||n===F.FunctionComponent||n===F.ClassComponent||n===F.IndeterminateComponent?We(t):null}function lr(e){return e.length<=2||e.length<=3&&e===e.toLowerCase()}function $t(e,n){let t=Jo(n),o=t.mode==="all";if(o){let _=sn.map.get(e);if(_!==void 0)return _}if(!rr()){let _={path:null,components:[]};return o&&sn.map.set(e,_),_}let r=t.mode==="smart"?er(e):void 0,s=[];try{let _=ir(e),k=0;for(;_&&k<t.maxDepth&&s.length<t.maxComponents;){let y=ar(_);y&&!lr(y)&&tr(y,k,t,r)&&s.push(y),_=_.return,k++}}catch{let _={path:null,components:[]};return o&&sn.map.set(e,_),_}if(s.length===0){let _={path:null,components:[]};return o&&sn.map.set(e,_),_}let i={path:s.slice().reverse().map(_=>`<${_}>`).join(" "),components:s};return o&&sn.map.set(e,i),i}var Ht=On(require("react")),an={FunctionComponent:0,ClassComponent:1,IndeterminateComponent:2,HostRoot:3,HostPortal:4,HostComponent:5,HostText:6,Fragment:7,Mode:8,ContextConsumer:9,ContextProvider:10,ForwardRef:11,Profiler:12,SuspenseComponent:13,MemoComponent:14,SimpleMemoComponent:15,LazyComponent:16};function dr(e){if(!e||typeof e!="object")return null;let n=Object.keys(e),t=n.find(s=>s.startsWith("__reactFiber$"));if(t)return e[t]||null;let o=n.find(s=>s.startsWith("__reactInternalInstance$"));if(o)return e[o]||null;let r=n.find(s=>{if(!s.startsWith("__react"))return!1;let a=e[s];return a&&typeof a=="object"&&"_debugSource"in a});return r&&e[r]||null}function ln(e){if(!e.type||typeof e.type=="string")return null;if(typeof e.type=="object"||typeof e.type=="function"){let n=e.type;if(n.displayName)return n.displayName;if(n.name)return n.name}return null}function cr(e,n=50){let t=e,o=0;for(;t&&o<n;){if(t._debugSource)return{source:t._debugSource,componentName:ln(t)};if(t._debugOwner?._debugSource)return{source:t._debugOwner._debugSource,componentName:ln(t._debugOwner)};t=t.return,o++}return null}function ur(e){let n=e,t=0,o=50;for(;n&&t<o;){let r=n,s=["_debugSource","__source","_source","debugSource"];for(let a of s){let i=r[a];if(i&&typeof i=="object"&&"fileName"in i)return{source:i,componentName:ln(n)}}if(n.memoizedProps){let a=n.memoizedProps;if(a.__source&&typeof a.__source=="object"){let i=a.__source;if(i.fileName&&i.lineNumber)return{source:{fileName:i.fileName,lineNumber:i.lineNumber,columnNumber:i.columnNumber},componentName:ln(n)}}}n=n.return,t++}return null}var Tn=new Map;function mr(e){let n=e.tag,t=e.type,o=e.elementType;if(typeof t=="string"||t==null||typeof t=="function"&&t.prototype?.isReactComponent)return null;if((n===an.FunctionComponent||n===an.IndeterminateComponent)&&typeof t=="function")return t;if(n===an.ForwardRef&&o){let r=o.render;if(typeof r=="function")return r}if((n===an.MemoComponent||n===an.SimpleMemoComponent)&&o){let r=o.type;if(typeof r=="function")return r}return typeof t=="function"?t:null}function _r(){let e=Ht.default,n=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;if(n&&"H"in n)return{get:()=>n.H,set:o=>{n.H=o}};let t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;if(t){let o=t.ReactCurrentDispatcher;if(o&&"current"in o)return{get:()=>o.current,set:r=>{o.current=r}}}return null}function pr(e){let n=e.split(`
|
|
333
|
+
`),t=[/source-location/,/\/dist\/index\./,/\/dist\/react\./,/node_modules\//,/react-dom/,/react\.development/,/react\.production/,/chunk-[A-Z0-9]+/i,/react-stack-bottom-frame/,/react-reconciler/,/scheduler/,/at <anonymous>:/],o=/^\s*at\s+(?:.*?\s+\()?(.+?):(\d+):(\d+)\)?$/,r=/^[^@]*@(.+?):(\d+):(\d+)$/,s=0;for(let a of n){let i=a.trim();if(!i||t.some(k=>k.test(i)))continue;let _=o.exec(i)||r.exec(i);if(_&&(s++,s>=3))return{fileName:_[1],line:parseInt(_[2],10),column:parseInt(_[3],10)}}return null}function fr(e){let n=e;return n=n.replace(/[?#].*$/,""),n=n.replace(/^turbopack:\/\/\/\[project\]\//,""),n=n.replace(/^webpack-internal:\/\/\/\.\//,""),n=n.replace(/^webpack-internal:\/\/\//,""),n=n.replace(/^webpack:\/\/\/\.\//,""),n=n.replace(/^webpack:\/\/\//,""),n=n.replace(/^turbopack:\/\/\//,""),n=n.replace(/^https?:\/\/[^/]+\//,""),n=n.replace(/^file:\/\/\//,"/"),n=n.replace(/^\([^)]+\)\/\.\//,""),n=n.replace(/^\.\//,""),n}function gr(e){let n=mr(e);if(!n)return null;if(Tn.has(n))return Tn.get(n);let t=_r();if(!t)return Tn.set(n,null),null;let o=t.get(),r=null;try{let s=new Proxy({},{get(){throw new Error("probe")}});t.set(s);try{n({})}catch(a){if(a instanceof Error&&a.stack){let i=pr(a.stack);i&&(r={fileName:fr(i.fileName),lineNumber:i.line,columnNumber:i.column,componentName:ln(e)||void 0})}}}finally{t.set(o)}return Tn.set(n,r),r}function hr(e,n=15){let t=[],o=new Set,r=e,s=0;for(;r&&s<n;){let a=gr(r);a&&!o.has(a.fileName)&&(o.add(a.fileName),t.push(a)),r=r.return,s++}return t}function dn(e){let n=dr(e);if(!n)return{found:!1,reason:"no-fiber",isReactApp:!1,isProduction:!1};let t=cr(n);if(t||(t=ur(n)),t?.source)return{found:!0,source:{fileName:t.source.fileName,lineNumber:t.source.lineNumber,columnNumber:t.source.columnNumber,componentName:t.componentName||void 0},isReactApp:!0,isProduction:!1};let o=hr(n);return o.length>0?{found:!0,source:o[0],sourceCandidates:o,isReactApp:!0,isProduction:!1}:{found:!1,reason:"no-debug-source",isReactApp:!0,isProduction:!1}}function Rn(e,n="path"){let{fileName:t,lineNumber:o,columnNumber:r}=e,s=`${t}:${o}`;return r!==void 0&&(s+=`:${r}`),n==="vscode"?`vscode://file${t.startsWith("/")?"":"/"}${s}`:s}function Qn(e,n=10){let t=e,o=0;for(;t&&o<n;){let r=dn(t);if(r.found)return r;t=t.parentElement,o++}return dn(e)}async function In(e,n={}){let{quality:t=.7,maxScale:o=2}=n,r=(await import("html2canvas-pro")).default;return(await r(e,{useCORS:!0,allowTaint:!0,scale:Math.min(window.devicePixelRatio,o),logging:!1})).toDataURL("image/jpeg",t)}async function Bt(e={}){let{quality:n=.5,hideSelectors:t=[]}=e,r=[...["[data-impakers-debug]","[data-annotation-popup]","[data-annotation-marker]"],...t],s=document.querySelectorAll(r.join(", "));try{s.forEach(_=>_.style.visibility="hidden");let a=(await import("html2canvas-pro")).default;return(await a(document.body,{useCORS:!0,allowTaint:!0,scale:1,logging:!1,width:window.innerWidth,height:window.innerHeight})).toDataURL("image/jpeg",n)}catch{return}finally{s.forEach(a=>a.style.visibility="")}}var he=[],un=[],zt=!1;function qn(e){return e.map(n=>{if(n instanceof Error)return`${n.message}
|
|
334
334
|
${n.stack?.split(`
|
|
335
335
|
`).slice(0,3).join(`
|
|
336
|
-
`)}`;if(typeof n=="object"&&n!==null)try{return JSON.stringify(n).slice(0,300)}catch{return String(n)}return String(n)}).join(" ")}function cn(e,n){un.push({level:e,message:n.slice(0,500),timestamp:Date.now()}),un.length>50&&un.shift()}function pr(){if(Ft||typeof window>"u")return;Ft=!0;let e=console.error,n=console.warn,t=console.log;console.error=(...o)=>{let r=Un(o);fe.push(r.slice(0,500)),fe.length>20&&fe.shift(),cn("error",r),e.apply(console,o)},console.warn=(...o)=>{let r=Un(o);fe.push(`[warn] ${r}`.slice(0,500)),fe.length>20&&fe.shift(),cn("warn",r),n.apply(console,o)},console.log=(...o)=>{cn("log",Un(o)),t.apply(console,o)},window.addEventListener("error",o=>{let r=`${o.message} (${o.filename}:${o.lineno})`;fe.push(r.slice(0,500)),fe.length>20&&fe.shift(),cn("error",r)}),window.addEventListener("unhandledrejection",o=>{let r=`Unhandled Promise: ${o.reason}`;fe.push(r.slice(0,500)),fe.length>20&&fe.shift(),cn("error",r)})}pr();function fr(e){let n=e.match(/Edg\/(\d+[\d.]*)/);if(n)return`Edge ${n[1]}`;let t=e.match(/Chrome\/(\d+[\d.]*)/);if(t&&!e.includes("Edg/")&&!e.includes("OPR/"))return`Chrome ${t[1]}`;let o=e.match(/Firefox\/(\d+[\d.]*)/);if(o)return`Firefox ${o[1]}`;let r=e.match(/Version\/(\d+[\d.]*).*Safari/);if(r)return`Safari ${r[1]}`;let s=e.match(/OPR\/(\d+[\d.]*)/);return s?`Opera ${s[1]}`:e}var gr=[/session/i,/csrf/i,/xsrf/i,/secret/i,/password/i,/key/i];function hr(){if(typeof document>"u")return{};let e={};try{document.cookie.split(";").forEach(n=>{let[t,...o]=n.trim().split("=");if(!t)return;let r=t.trim(),s=gr.some(l=>l.test(r));e[r]=s?"[masked]":decodeURIComponent(o.join("=")).slice(0,200)})}catch{}return e}function $t(e){try{let n=e.split(".");if(n.length!==3)return null;let t=n[1].replace(/-/g,"+").replace(/_/g,"/"),o=t+"==".slice(0,(4-t.length%4)%4);return JSON.parse(atob(o))}catch{return null}}function yr(){if(typeof window>"u")return null;let e=["token","access_token","accessToken","auth_token","authToken","jwt","id_token","idToken"];for(let n of e)try{let t=localStorage.getItem(n);if(t){let o=t.startsWith('"')?JSON.parse(t):t,r=$t(o);if(r){let s={},l=["sub","email","name","role","roles","org","iat","exp","aud","iss","user_id","user_role"];for(let i of l)i in r&&(s[i]=r[i]);return Object.keys(s).length>0?s:null}}}catch{continue}try{let n=document.cookie.split(";");for(let t of n){let[,...o]=t.trim().split("="),r=o.join("="),s=$t(r);if(s&&s.sub){let l={},i=["sub","email","name","role","roles","org","iat","exp"];for(let _ of i)_ in s&&(l[_]=s[_]);return Object.keys(l).length>0?l:null}}}catch{}return null}function Ke(e){let n=Math.round(e);return isNaN(n)||!isFinite(n)?void 0:n}function br(){if(typeof performance>"u")return{};let e={};try{let n=performance.getEntriesByType("navigation")[0];if(n){let r=Ke(n.loadEventEnd-n.startTime),s=Ke(n.domContentLoadedEventEnd-n.startTime),l=Ke(n.responseStart-n.requestStart);r&&(e.pageLoadTime=r),s&&(e.domContentLoaded=s),l&&(e.ttfb=l)}let t=performance.getEntriesByName("first-contentful-paint")[0];if(t){let r=Ke(t.startTime);r&&(e.firstContentfulPaint=r)}let o=performance.memory;if(o){let r=Ke(o.usedJSHeapSize/1024/1024),s=Ke(o.totalJSHeapSize/1024/1024);r&&(e.usedJSHeapMB=r),s&&(e.totalJSHeapMB=s)}}catch{}return e}function Ht(e){let n={url:window.location.href,timestamp:new Date().toISOString(),browser:fr(navigator.userAgent),userAgent:navigator.userAgent,viewport:`${window.innerWidth}x${window.innerHeight}`,pixelRatio:window.devicePixelRatio,language:navigator.language,referrer:document.referrer,cookies:hr(),jwtClaims:yr()??void 0,consoleErrors:fe.length>0?[...fe]:void 0,consoleLogs:un.length>0?[...un]:void 0,performance:br()};if(e)try{let t=e();t&&(n.user={...t,id:String(t.id),name:String(t.name||"")})}catch{}return n}var xr="/_next/static/chunks/impakers-debug-route-manifest.json",Rn=null,En=!1;function Bt(e){return!e||e==="/"?"/":e.endsWith("/")?e.slice(0,-1)||"/":e}function kr(e){let n=Bt(e);return n==="/"?[]:n.slice(1).split("/").map(t=>decodeURIComponent(t)).filter(Boolean)}function vr(e){return/^\[[^\]]+\]$/.test(e)}function Cr(e){return/^\[\.\.\.[^\]]+\]$/.test(e)}function wr(e){return/^\[\[\.\.\.[^\]]+\]\]$/.test(e)}function Sr(e,n){let t=0,o=0,r=0;for(;t<e.length;){let s=e[t];if(wr(s)){r+=1,o=n.length,t+=1;break}if(Cr(s)){if(o>=n.length)return null;r+=2,o=n.length,t+=1;break}let l=n[o];if(l===void 0)return null;if(vr(s)){r+=5,t+=1,o+=1;continue}if(s!==l)return null;r+=20,t+=1,o+=1}return t!==e.length||o!==n.length?null:r}async function Lr(){return En?null:Rn||(Rn=(async()=>{try{let e=await fetch(xr,{cache:"force-cache"});if(!e.ok)return En=!0,null;let n=await e.json();return!n||typeof n!="object"||!Array.isArray(n.entries)?(En=!0,null):n}catch{return En=!0,null}})(),Rn)}function Nr(e){let n=e.files.find(r=>r.kind==="page"),t=e.files.filter(r=>r.kind==="layout"),o=[];return n&&o.push({kind:"route-page",file:n.file,label:"Current page route",confidence:1,reason:"matched-current-url"}),t.forEach((r,s)=>{o.push({kind:"route-layout",file:r.file,label:s===t.length-1?"Nearest layout":"Ancestor layout",confidence:Math.max(.7,.95-s*.08),reason:"matched-layout-chain"})}),o}async function zt(e){if(typeof window>"u")return null;let n=e??window.location.pathname,t=await Lr();if(!t)return null;let o=kr(n),r=null,s=-1;for(let l of t.entries){let i=Sr(l.segments,o);i!==null&&i>s&&(s=i,r=l)}return r?{targets:Nr(r),context:{pathname:Bt(n),matchedRoute:r.route,source:"next-route-manifest"}}:null}function Dt(...e){let n=[],t=new Set;return e.forEach(o=>{o?.forEach(r=>{let s=`${r.kind}:${r.file}:${r.line??""}:${r.column??""}`;t.has(s)||(t.add(s),n.push(r))})}),n.sort((o,r)=>r.confidence-o.confidence)}function jt(){let e=Dn();if(!e)throw new Error("\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4");return e}async function Ee(e,n={}){let t=jt(),o=await fetch(e,{...n,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`,...n.headers}});if(!o.ok){if(o.status===401)throw new Error("\uC778\uC99D\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");let r=await o.json().catch(()=>({error:"\uC694\uCCAD \uC2E4\uD328"}));throw new Error(r.error||r.message||"\uC694\uCCAD \uC2E4\uD328")}return o}var In=new Map,Xn=new Map,mn=new Map,Tr=3e4;function Ae(e){return`feedbacks:${e}`}function Ze(){return"feedbacks:__all__"}function Fe(e){return`comments:${e}`}function Se(e,n){In.set(e,{data:n,timestamp:Date.now()});let t=mn.get(e);t&&t.forEach(o=>o(n))}function Pe(e){return In.get(e)?.data??null}function Rr(e){let n=In.get(e);return n?Date.now()-n.timestamp<=Tr:!1}function Yn(e){return Array.from(In.keys()).filter(n=>n.includes(e))}function Er(e){let n=new Map;for(let t of Yn(e)){let o=Pe(t);o!==null&&n.set(t,o)}return n}function Ir(e){e.forEach((n,t)=>Se(t,n))}function Qn(e,n){let t=n(Pe(e));return Se(e,t),t}function Mr(e,n){for(let t of Yn(e)){let o=Pe(t);o!==null&&Se(t,n(o))}}async function _n(e,n){let t=Xn.get(e);if(t)return t;let o=(async()=>{try{let r=await n();return Se(e,r),r}finally{Xn.delete(e)}})();return Xn.set(e,o),o}async function qn(e,n,t={}){let o=Pe(e);return o!==null&&!t.force?((t.staleWhileRevalidate||!Rr(e))&&_n(e,n),o):_n(e,n)}function pn(e,n){let t=mn.get(e)||new Set;return t.add(n),mn.set(e,t),()=>{let o=mn.get(e);o&&(o.delete(n),o.size===0&&mn.delete(e))}}function Ue(e){return Pe(e)}async function Wt(e,n){let t=`temp-task-${Date.now()}`,o=n.feedbackUrl,r=n.feedbackMarker,s=o?Pe(Ae(o))||[]:null,l=Pe(Ze()),i=o?{id:t,taskNumber:0,title:n.title,status:"todo",priority:n.priority,feedbackUrl:o,feedbackMarker:r||null,createdAt:new Date().toISOString(),commentCount:0,_optimistic:!0}:null;o&&i&&(Se(Ae(o),[i,...s]),l&&Se(Ze(),[i,...l]));try{let C=await(await Ee(e,{method:"POST",body:JSON.stringify(n)})).json().catch(()=>({}));if(o&&i){let h={...i,id:C.taskId||t,taskNumber:C.taskNumber||0,_optimistic:!1};Qn(Ae(o),v=>(v||[]).map(w=>w.id===t?h:w)),l&&Qn(Ze(),v=>(v||[]).map(w=>w.id===t?h:w)),Kt(e,o).catch(()=>{}),l&&Zt(e).catch(()=>{})}return C}catch(_){throw o&&s&&Se(Ae(o),s),l&&Se(Ze(),l),_}}async function Ot(e,n,t={}){let o=Ae(n);return qn(o,async()=>(await(await Ee(`${e}?url=${encodeURIComponent(n)}`)).json()).tasks||[],t)}async function Vt(e,n={}){let t=Ze();return qn(t,async()=>(await(await Ee(`${e}?url=__all__`)).json()).tasks||[],n)}async function Kt(e,n){let t=Ae(n);return _n(t,async()=>(await(await Ee(`${e}?url=${encodeURIComponent(n)}`)).json()).tasks||[])}async function Zt(e){let n=Ze();return _n(n,async()=>(await(await Ee(`${e}?url=__all__`)).json()).tasks||[])}async function Mn(e,n,t={}){let o=Fe(n);return qn(o,async()=>(await(await Ee(`${e}/${n}/comments`)).json()).comments||[],t)}async function Ar(e,n){let t=Fe(n);return _n(t,async()=>(await(await Ee(`${e}/${n}/comments`)).json()).comments||[])}function Pr(e,n){Mr("feedbacks:",t=>t.map(o=>o.id===e?{...o,commentCount:Math.max(0,(o.commentCount||0)+n)}:o))}function Fr(e){Yn("feedbacks:").forEach(t=>{let o=t.replace("feedbacks:","");o==="__all__"?Zt(e).catch(()=>{}):Kt(e,o).catch(()=>{})})}async function An(e,n,t,o,r,s,l){let i={id:`temp-${Date.now()}`,content:t,authorName:o,authorId:r,imageUrl:s||void 0,fileUrl:l?.url,fileName:l?.fileName,fileType:l?.fileType,fileSize:l?.fileSize,fileSource:l?.fileSource,createdAt:new Date().toISOString()},_=Fe(n),C=Pe(_)||[],h=Er("feedbacks:");Se(_,[...C,i]),Pr(n,1);try{let H=(await(await Ee(`${e}/${n}/comments`,{method:"POST",body:JSON.stringify({content:t,authorName:o,authorId:r,screenshot:s,...l&&{fileUrl:l.url,fileName:l.fileName,fileType:l.fileType,fileSize:l.fileSize,fileSource:l.fileSource}})})).json()).comment;return Qn(_,M=>(M||[]).map(D=>D.id===i.id?H:D)),Ar(e,n),Fr(e),H}catch(v){throw Se(_,C),Ir(h),v}}var $r=4.5*1024*1024;async function Ut(e,n,t,o){if(n.size>$r)throw new Error(`\uD30C\uC77C \uD06C\uAE30\uAC00 4.5MB\uB97C \uCD08\uACFC\uD569\uB2C8\uB2E4. (${(n.size/1024/1024).toFixed(1)}MB)`);let r=jt(),s=new FormData;s.append("file",n),s.append("context",t),o&&s.append("taskId",o);let l=await fetch(`${e}/upload`,{method:"POST",headers:{Authorization:`Bearer ${r}`},body:s});if(!l.ok){if(l.status===401)throw new Error("\uC778\uC99D\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");if(l.status===413)throw new Error("\uD30C\uC77C \uD06C\uAE30\uAC00 4.5MB\uB97C \uCD08\uACFC\uD569\uB2C8\uB2E4.");let i=await l.json().catch(()=>({error:"\uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328"}));throw new Error(i.error||"\uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328")}return l.json()}async function Pn(e,n={}){let t=new URLSearchParams;n.since&&t.set("since",n.since),n.date&&t.set("date",n.date),n.limit&&t.set("limit",String(n.limit));let o=t.toString(),r=`${e}/history${o?`?${o}`:""}`;return(await(await Ee(r)).json()).events||[]}var gn=require("@jridgewell/trace-mapping"),fn=new Map,Xt=new Set;async function Hr(e){try{let n=await fetch(e,{cache:"force-cache"});if(!n.ok)return null;let o=(await n.text()).match(/\/\/[#@]\s*sourceMappingURL\s*=\s*(\S+)\s*$/m);if(!o)return null;let r=o[1];return r.startsWith("http")?r:e.substring(0,e.lastIndexOf("/")+1)+r}catch{return null}}async function Br(e){if(fn.has(e))return fn.get(e)??null;if(Xt.has(e))return null;let n=e.endsWith(".map")?e:`${e}.map`;try{let o=await fetch(n,{cache:"force-cache"});if(o.ok){let r=await o.json(),s=new gn.AnyMap(r);return fn.set(e,s),s}}catch{}let t=await Hr(e);if(t)try{let o=await fetch(t,{cache:"force-cache"});if(o.ok){let r=await o.json(),s=new gn.AnyMap(r);return fn.set(e,s),s}}catch{}return Xt.add(e),fn.set(e,null),null}async function zr(e,n,t){let o;try{e.startsWith("http")?o=e:o=new URL(e,window.location.origin).href}catch{return null}let r=await Br(o);if(!r)return null;try{let s=(0,gn.originalPositionFor)(r,{line:n,column:t});if(!s.source)return null;let l=s.source;return l=l.replace(/^webpack:\/\/\//,""),l=l.replace(/^turbopack:\/\/\//,""),l=l.replace(/^\[project\]\//,""),l=l.replace(/^\.\//,""),l.includes("node_modules/")?null:{source:l,line:s.line??0,column:s.column??0,name:s.name??null}}catch{return null}}async function Jn(e){if(!e)return null;let n=e.match(/^(.+):(\d+):(\d+)$/);if(!n)return null;let[,t,o,r]=n,s=parseInt(o,10),l=parseInt(r,10);return isNaN(s)||isNaN(l)?null:zr(t,s,l)}var Dr=`@keyframes styles-module__markerIn___7B1j9 {
|
|
336
|
+
`)}`;if(typeof n=="object"&&n!==null)try{return JSON.stringify(n).slice(0,300)}catch{return String(n)}return String(n)}).join(" ")}function cn(e,n){un.push({level:e,message:n.slice(0,500),timestamp:Date.now()}),un.length>50&&un.shift()}function yr(){if(zt||typeof window>"u")return;zt=!0;let e=console.error,n=console.warn,t=console.log;console.error=(...o)=>{let r=qn(o);he.push(r.slice(0,500)),he.length>20&&he.shift(),cn("error",r),e.apply(console,o)},console.warn=(...o)=>{let r=qn(o);he.push(`[warn] ${r}`.slice(0,500)),he.length>20&&he.shift(),cn("warn",r),n.apply(console,o)},console.log=(...o)=>{cn("log",qn(o)),t.apply(console,o)},window.addEventListener("error",o=>{let r=`${o.message} (${o.filename}:${o.lineno})`;he.push(r.slice(0,500)),he.length>20&&he.shift(),cn("error",r)}),window.addEventListener("unhandledrejection",o=>{let r=`Unhandled Promise: ${o.reason}`;he.push(r.slice(0,500)),he.length>20&&he.shift(),cn("error",r)})}yr();function br(e){let n=e.match(/Edg\/(\d+[\d.]*)/);if(n)return`Edge ${n[1]}`;let t=e.match(/Chrome\/(\d+[\d.]*)/);if(t&&!e.includes("Edg/")&&!e.includes("OPR/"))return`Chrome ${t[1]}`;let o=e.match(/Firefox\/(\d+[\d.]*)/);if(o)return`Firefox ${o[1]}`;let r=e.match(/Version\/(\d+[\d.]*).*Safari/);if(r)return`Safari ${r[1]}`;let s=e.match(/OPR\/(\d+[\d.]*)/);return s?`Opera ${s[1]}`:e}var xr=[/session/i,/csrf/i,/xsrf/i,/secret/i,/password/i,/key/i];function kr(){if(typeof document>"u")return{};let e={};try{document.cookie.split(";").forEach(n=>{let[t,...o]=n.trim().split("=");if(!t)return;let r=t.trim(),s=xr.some(a=>a.test(r));e[r]=s?"[masked]":decodeURIComponent(o.join("=")).slice(0,200)})}catch{}return e}function Dt(e){try{let n=e.split(".");if(n.length!==3)return null;let t=n[1].replace(/-/g,"+").replace(/_/g,"/"),o=t+"==".slice(0,(4-t.length%4)%4);return JSON.parse(atob(o))}catch{return null}}function vr(){if(typeof window>"u")return null;let e=["token","access_token","accessToken","auth_token","authToken","jwt","id_token","idToken"];for(let n of e)try{let t=localStorage.getItem(n);if(t){let o=t.startsWith('"')?JSON.parse(t):t,r=Dt(o);if(r){let s={},a=["sub","email","name","role","roles","org","iat","exp","aud","iss","user_id","user_role"];for(let i of a)i in r&&(s[i]=r[i]);return Object.keys(s).length>0?s:null}}}catch{continue}try{let n=document.cookie.split(";");for(let t of n){let[,...o]=t.trim().split("="),r=o.join("="),s=Dt(r);if(s&&s.sub){let a={},i=["sub","email","name","role","roles","org","iat","exp"];for(let _ of i)_ in s&&(a[_]=s[_]);return Object.keys(a).length>0?a:null}}}catch{}return null}function Ue(e){let n=Math.round(e);return isNaN(n)||!isFinite(n)?void 0:n}function Cr(){if(typeof performance>"u")return{};let e={};try{let n=performance.getEntriesByType("navigation")[0];if(n){let r=Ue(n.loadEventEnd-n.startTime),s=Ue(n.domContentLoadedEventEnd-n.startTime),a=Ue(n.responseStart-n.requestStart);r&&(e.pageLoadTime=r),s&&(e.domContentLoaded=s),a&&(e.ttfb=a)}let t=performance.getEntriesByName("first-contentful-paint")[0];if(t){let r=Ue(t.startTime);r&&(e.firstContentfulPaint=r)}let o=performance.memory;if(o){let r=Ue(o.usedJSHeapSize/1024/1024),s=Ue(o.totalJSHeapSize/1024/1024);r&&(e.usedJSHeapMB=r),s&&(e.totalJSHeapMB=s)}}catch{}return e}function jt(e){let n={url:window.location.href,timestamp:new Date().toISOString(),browser:br(navigator.userAgent),userAgent:navigator.userAgent,viewport:`${window.innerWidth}x${window.innerHeight}`,pixelRatio:window.devicePixelRatio,language:navigator.language,referrer:document.referrer,cookies:kr(),jwtClaims:vr()??void 0,consoleErrors:he.length>0?[...he]:void 0,consoleLogs:un.length>0?[...un]:void 0,performance:Cr()};if(e)try{let t=e();t&&(n.user={...t,id:String(t.id),name:String(t.name||"")})}catch{}return n}var wr="/_next/static/chunks/impakers-debug-route-manifest.json",Mn=null,Fn=!1;function Wt(e){return!e||e==="/"?"/":e.endsWith("/")?e.slice(0,-1)||"/":e}function Sr(e){let n=Wt(e);return n==="/"?[]:n.slice(1).split("/").map(t=>decodeURIComponent(t)).filter(Boolean)}function Lr(e){return/^\[[^\]]+\]$/.test(e)}function Nr(e){return/^\[\.\.\.[^\]]+\]$/.test(e)}function Er(e){return/^\[\[\.\.\.[^\]]+\]\]$/.test(e)}function Tr(e,n){let t=0,o=0,r=0;for(;t<e.length;){let s=e[t];if(Er(s)){r+=1,o=n.length,t+=1;break}if(Nr(s)){if(o>=n.length)return null;r+=2,o=n.length,t+=1;break}let a=n[o];if(a===void 0)return null;if(Lr(s)){r+=5,t+=1,o+=1;continue}if(s!==a)return null;r+=20,t+=1,o+=1}return t!==e.length||o!==n.length?null:r}async function Rr(){return Fn?null:Mn||(Mn=(async()=>{try{let e=await fetch(wr,{cache:"force-cache"});if(!e.ok)return Fn=!0,null;let n=await e.json();return!n||typeof n!="object"||!Array.isArray(n.entries)?(Fn=!0,null):n}catch{return Fn=!0,null}})(),Mn)}function Ir(e){let n=e.files.find(r=>r.kind==="page"),t=e.files.filter(r=>r.kind==="layout"),o=[];return n&&o.push({kind:"route-page",file:n.file,label:"Current page route",confidence:1,reason:"matched-current-url"}),t.forEach((r,s)=>{o.push({kind:"route-layout",file:r.file,label:s===t.length-1?"Nearest layout":"Ancestor layout",confidence:Math.max(.7,.95-s*.08),reason:"matched-layout-chain"})}),o}async function Ot(e){if(typeof window>"u")return null;let n=e??window.location.pathname,t=await Rr();if(!t)return null;let o=Sr(n),r=null,s=-1;for(let a of t.entries){let i=Tr(a.segments,o);i!==null&&i>s&&(s=i,r=a)}return r?{targets:Ir(r),context:{pathname:Wt(n),matchedRoute:r.route,source:"next-route-manifest"}}:null}function Vt(...e){let n=[],t=new Set;return e.forEach(o=>{o?.forEach(r=>{let s=`${r.kind}:${r.file}:${r.line??""}:${r.column??""}`;t.has(s)||(t.add(s),n.push(r))})}),n.sort((o,r)=>r.confidence-o.confidence)}function Kt(){let e=Vn();if(!e)throw new Error("\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4");return e}async function Fe(e,n={}){let t=Kt(),o=await fetch(e,{...n,headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`,...n.headers}});if(!o.ok){if(o.status===401)throw new Error("\uC778\uC99D\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");let r=await o.json().catch(()=>({error:"\uC694\uCCAD \uC2E4\uD328"}));throw new Error(r.error||r.message||"\uC694\uCCAD \uC2E4\uD328")}return o}var Pn=new Map,Jn=new Map,mn=new Map,Mr=3e4;function Be(e){return`feedbacks:${e}`}function Xe(){return"feedbacks:__all__"}function De(e){return`comments:${e}`}function Re(e,n){Pn.set(e,{data:n,timestamp:Date.now()});let t=mn.get(e);t&&t.forEach(o=>o(n))}function ze(e){return Pn.get(e)?.data??null}function Fr(e){let n=Pn.get(e);return n?Date.now()-n.timestamp<=Mr:!1}function et(e){return Array.from(Pn.keys()).filter(n=>n.includes(e))}function Pr(e){let n=new Map;for(let t of et(e)){let o=ze(t);o!==null&&n.set(t,o)}return n}function Ar(e){e.forEach((n,t)=>Re(t,n))}function Gn(e,n){let t=n(ze(e));return Re(e,t),t}function $r(e,n){for(let t of et(e)){let o=ze(t);o!==null&&Re(t,n(o))}}async function _n(e,n){let t=Jn.get(e);if(t)return t;let o=(async()=>{try{let r=await n();return Re(e,r),r}finally{Jn.delete(e)}})();return Jn.set(e,o),o}async function nt(e,n,t={}){let o=ze(e);return o!==null&&!t.force?((t.staleWhileRevalidate||!Fr(e))&&_n(e,n),o):_n(e,n)}function pn(e,n){let t=mn.get(e)||new Set;return t.add(n),mn.set(e,t),()=>{let o=mn.get(e);o&&(o.delete(n),o.size===0&&mn.delete(e))}}function Ye(e){return ze(e)}async function Zt(e,n){let t=`temp-task-${Date.now()}`,o=n.feedbackUrl,r=n.feedbackMarker,s=o?ze(Be(o))||[]:null,a=ze(Xe()),i=o?{id:t,taskNumber:0,title:n.title,status:"todo",priority:n.priority,feedbackUrl:o,feedbackMarker:r||null,createdAt:new Date().toISOString(),commentCount:0,_optimistic:!0}:null;o&&i&&(Re(Be(o),[i,...s]),a&&Re(Xe(),[i,...a]));try{let k=await(await Fe(e,{method:"POST",body:JSON.stringify(n)})).json().catch(()=>({}));if(o&&i){let y={...i,id:k.taskId||t,taskNumber:k.taskNumber||0,_optimistic:!1};Gn(Be(o),v=>(v||[]).map(C=>C.id===t?y:C)),a&&Gn(Xe(),v=>(v||[]).map(C=>C.id===t?y:C)),Yt(e,o).catch(()=>{}),a&&Qt(e).catch(()=>{})}return k}catch(_){throw o&&s&&Re(Be(o),s),a&&Re(Xe(),a),_}}async function Ut(e,n,t={}){let o=Be(n);return nt(o,async()=>(await(await Fe(`${e}?url=${encodeURIComponent(n)}`)).json()).tasks||[],t)}async function Xt(e,n={}){let t=Xe();return nt(t,async()=>(await(await Fe(`${e}?url=__all__`)).json()).tasks||[],n)}async function Yt(e,n){let t=Be(n);return _n(t,async()=>(await(await Fe(`${e}?url=${encodeURIComponent(n)}`)).json()).tasks||[])}async function Qt(e){let n=Xe();return _n(n,async()=>(await(await Fe(`${e}?url=__all__`)).json()).tasks||[])}async function An(e,n,t={}){let o=De(n);return nt(o,async()=>(await(await Fe(`${e}/${n}/comments`)).json()).comments||[],t)}async function Hr(e,n){let t=De(n);return _n(t,async()=>(await(await Fe(`${e}/${n}/comments`)).json()).comments||[])}function Br(e,n){$r("feedbacks:",t=>t.map(o=>o.id===e?{...o,commentCount:Math.max(0,(o.commentCount||0)+n)}:o))}function zr(e){et("feedbacks:").forEach(t=>{let o=t.replace("feedbacks:","");o==="__all__"?Qt(e).catch(()=>{}):Yt(e,o).catch(()=>{})})}async function $n(e,n,t,o,r,s,a){let i={id:`temp-${Date.now()}`,content:t,authorName:o,authorId:r,imageUrl:s||void 0,fileUrl:a?.url,fileName:a?.fileName,fileType:a?.fileType,fileSize:a?.fileSize,fileSource:a?.fileSource,createdAt:new Date().toISOString()},_=De(n),k=ze(_)||[],y=Pr("feedbacks:");Re(_,[...k,i]),Br(n,1);try{let A=(await(await Fe(`${e}/${n}/comments`,{method:"POST",body:JSON.stringify({content:t,authorName:o,authorId:r,screenshot:s,...a&&{fileUrl:a.url,fileName:a.fileName,fileType:a.fileType,fileSize:a.fileSize,fileSource:a.fileSource}})})).json()).comment;return Gn(_,I=>(I||[]).map(H=>H.id===i.id?A:H)),Hr(e,n),zr(e),A}catch(v){throw Re(_,k),Ar(y),v}}var Dr=4.5*1024*1024;async function Hn(e,n,t,o){if(n.size>Dr)throw new Error(`\uD30C\uC77C \uD06C\uAE30\uAC00 4.5MB\uB97C \uCD08\uACFC\uD569\uB2C8\uB2E4. (${(n.size/1024/1024).toFixed(1)}MB)`);let r=Kt(),s=new FormData;s.append("file",n),s.append("context",t),o&&s.append("taskId",o);let a=await fetch(`${e}/upload`,{method:"POST",headers:{Authorization:`Bearer ${r}`},body:s});if(!a.ok){if(a.status===401)throw new Error("\uC778\uC99D\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");if(a.status===413)throw new Error("\uD30C\uC77C \uD06C\uAE30\uAC00 4.5MB\uB97C \uCD08\uACFC\uD569\uB2C8\uB2E4.");let i=await a.json().catch(()=>({error:"\uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328"}));throw new Error(i.error||"\uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328")}return a.json()}async function Bn(e,n={}){let t=new URLSearchParams;n.since&&t.set("since",n.since),n.date&&t.set("date",n.date),n.limit&&t.set("limit",String(n.limit));let o=t.toString(),r=`${e}/history${o?`?${o}`:""}`;return(await(await Fe(r)).json()).events||[]}var gn=require("@jridgewell/trace-mapping"),fn=new Map,qt=new Set;async function jr(e){try{let n=await fetch(e,{cache:"force-cache"});if(!n.ok)return null;let o=(await n.text()).match(/\/\/[#@]\s*sourceMappingURL\s*=\s*(\S+)\s*$/m);if(!o)return null;let r=o[1];return r.startsWith("http")?r:e.substring(0,e.lastIndexOf("/")+1)+r}catch{return null}}async function Wr(e){if(fn.has(e))return fn.get(e)??null;if(qt.has(e))return null;let n=e.endsWith(".map")?e:`${e}.map`;try{let o=await fetch(n,{cache:"force-cache"});if(o.ok){let r=await o.json(),s=new gn.AnyMap(r);return fn.set(e,s),s}}catch{}let t=await jr(e);if(t)try{let o=await fetch(t,{cache:"force-cache"});if(o.ok){let r=await o.json(),s=new gn.AnyMap(r);return fn.set(e,s),s}}catch{}return qt.add(e),fn.set(e,null),null}async function Or(e,n,t){let o;try{e.startsWith("http")?o=e:o=new URL(e,window.location.origin).href}catch{return null}let r=await Wr(o);if(!r)return null;try{let s=(0,gn.originalPositionFor)(r,{line:n,column:t});if(!s.source)return null;let a=s.source;return a=a.replace(/^webpack:\/\/\//,""),a=a.replace(/^turbopack:\/\/\//,""),a=a.replace(/^\[project\]\//,""),a=a.replace(/^\.\//,""),a.includes("node_modules/")?null:{source:a,line:s.line??0,column:s.column??0,name:s.name??null}}catch{return null}}async function tt(e){if(!e)return null;let n=e.match(/^(.+):(\d+):(\d+)$/);if(!n)return null;let[,t,o,r]=n,s=parseInt(o,10),a=parseInt(r,10);return isNaN(s)||isNaN(a)?null:Or(t,s,a)}var Vr=`@keyframes styles-module__markerIn___7B1j9 {
|
|
337
337
|
from {
|
|
338
338
|
opacity: 0;
|
|
339
339
|
transform: translate(-50%, -50%) scale(0.3);
|
|
@@ -440,7 +440,7 @@ ${n.stack?.split(`
|
|
|
440
440
|
margin-top: 2px;
|
|
441
441
|
overflow: hidden;
|
|
442
442
|
text-overflow: ellipsis;
|
|
443
|
-
}`,
|
|
443
|
+
}`,Kr={marker:"styles-module__marker___7PVX9",enter:"styles-module__enter___V7KfW",markerIn:"styles-module__markerIn___7B1j9",hovered:"styles-module__hovered___ojzb7",done:"styles-module__done___J6WOE",pending:"styles-module__pending___qQbOR",markerTooltip:"styles-module__markerTooltip___ns-gQ",tooltipIn:"styles-module__tooltipIn___3o7t0",markerQuote:"styles-module__markerQuote___1bRQp",markerNote:"styles-module__markerNote___3iWm4"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-annotation-marker-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-annotation-marker-styles",document.head.appendChild(e)),e.textContent=Vr}var Le=Kr;var Ne=require("react/jsx-runtime"),Zr="#3b82f6",Ur="#9ca3af";function ot({annotation:e,layerIndex:n,isAnimated:t,isHovered:o,accentColor:r,onHover:s,onHoverEnd:a,onClick:i}){let _=t?"":Le.enter,k=e.status==="done"||e.status==="resolved",y=e.status==="in_progress",v=k?Ur:y?Zr:r;return(0,Ne.jsxs)("div",{className:`${Le.marker} ${_} ${o?Le.hovered:""} ${k?Le.done:""}`,"data-annotation-marker":!0,style:{left:`${e.x}%`,top:e.y,backgroundColor:v,animationDelay:`${n*20}ms`},onMouseEnter:s,onMouseLeave:a,onClick:C=>{C.stopPropagation(),i()},children:[(0,Ne.jsx)("span",{children:n+1}),o&&(0,Ne.jsxs)("div",{className:`${Le.markerTooltip} ${Le.enter}`,children:[(0,Ne.jsx)("span",{className:Le.markerQuote,children:e.element}),e.comment&&(0,Ne.jsx)("span",{className:Le.markerNote,children:e.comment})]})]})}function Jt({x:e,y:n,accentColor:t}){return(0,Ne.jsx)("div",{className:`${Le.pending} ${Le.enter}`,"data-annotation-marker":!0,style:{left:`${e}%`,top:n,backgroundColor:t},children:(0,Ne.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",children:[(0,Ne.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,Ne.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})}var X=require("react");var Xr=`@keyframes styles-module__spin___h0C6p {
|
|
444
444
|
to {
|
|
445
445
|
transform: rotate(360deg);
|
|
446
446
|
}
|
|
@@ -466,7 +466,7 @@ ${n.stack?.split(`
|
|
|
466
466
|
.styles-module__message___70Ayy {
|
|
467
467
|
font-size: 12px;
|
|
468
468
|
color: #9ca3af;
|
|
469
|
-
}`,
|
|
469
|
+
}`,Yr={container:"styles-module__container___YKn1h",spinner:"styles-module__spinner___4ELZK",spin:"styles-module__spin___h0C6p",message:"styles-module__message___70Ayy"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-loading-spinner-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-loading-spinner-styles",document.head.appendChild(e)),e.textContent=Xr}var zn=Yr;var hn=require("react/jsx-runtime");function Dn({message:e="\uB85C\uB529 \uC911..."}){return(0,hn.jsxs)("div",{className:zn.container,children:[(0,hn.jsx)("div",{className:zn.spinner}),(0,hn.jsx)("span",{className:zn.message,children:e})]})}var Qr=`@keyframes styles-module__threadIn___pBTFZ {
|
|
470
470
|
from {
|
|
471
471
|
opacity: 0;
|
|
472
472
|
transform: scale(0.96) translateY(4px);
|
|
@@ -489,7 +489,7 @@ ${n.stack?.split(`
|
|
|
489
489
|
.styles-module__thread___ua2EO {
|
|
490
490
|
position: fixed;
|
|
491
491
|
width: 340px;
|
|
492
|
-
max-height: min(480px, 100vh - 40px);
|
|
492
|
+
max-height: min(480px, 100vh - var(--thread-top, 40px) - 20px);
|
|
493
493
|
background: #fff;
|
|
494
494
|
border-radius: 12px;
|
|
495
495
|
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
|
|
@@ -950,7 +950,7 @@ ${n.stack?.split(`
|
|
|
950
950
|
}
|
|
951
951
|
.styles-module__lightboxClose___tGZlm:hover {
|
|
952
952
|
background: rgba(255, 255, 255, 0.25);
|
|
953
|
-
}`,Ur={thread:"styles-module__thread___ua2EO",threadIn:"styles-module__threadIn___pBTFZ",exiting:"styles-module__exiting___RIPeX",threadOut:"styles-module__threadOut___-ccKh",header:"styles-module__header___GiEBq",avatar:"styles-module__avatar___JElAd",headerInfo:"styles-module__headerInfo___E8809",headerTop:"styles-module__headerTop___eDiCd",authorName:"styles-module__authorName___T1BfB",timestamp:"styles-module__timestamp___WusBf",headerActions:"styles-module__headerActions___8FsMY",headerAction:"styles-module__headerAction___Tinmq",title:"styles-module__title___qkfqY",commentsList:"styles-module__commentsList___kYqAR",comment:"styles-module__comment___pW3IO",commentActions:"styles-module__commentActions___wO0fs",commentHighlight:"styles-module__commentHighlight___EiTmx",commentContent:"styles-module__commentContent___RObGr",commentTop:"styles-module__commentTop___BbTF3",commentAuthor:"styles-module__commentAuthor___tBjpl",commentTime:"styles-module__commentTime___0OLrz",commentText:"styles-module__commentText___ldy2V",screenshot:"styles-module__screenshot___jUqau",screenshotBadge:"styles-module__screenshotBadge___roEqY",fileCard:"styles-module__fileCard___-iOro",fileIcon:"styles-module__fileIcon___dNJMT",fileInfo:"styles-module__fileInfo___dVrLV",fileCardName:"styles-module__fileCardName___SHOj-",fileCardSize:"styles-module__fileCardSize___W53JL",pendingFile:"styles-module__pendingFile___-OSRs",divider:"styles-module__divider___kDjxN",pendingImage:"styles-module__pendingImage___gHaF3",pendingRemove:"styles-module__pendingRemove___FRL4h",replyArea:"styles-module__replyArea___VQn9b",replyInput:"styles-module__replyInput___uZNBW",replyToolbar:"styles-module__replyToolbar___fTFJU",replyTool:"styles-module__replyTool___Ho-Rx",replySend:"styles-module__replySend___e0VSb",active:"styles-module__active___R--Jj",empty:"styles-module__empty___XXGiw",statusBadge:"styles-module__statusBadge___el8ml",todo:"styles-module__todo___rUWBr",inProgress:"styles-module__inProgress___HEWgU",done:"styles-module__done___zC12n",lightbox:"styles-module__lightbox___KoWEF",lightboxClose:"styles-module__lightboxClose___tGZlm"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-comment-thread-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-comment-thread-styles",document.head.appendChild(e)),e.textContent=Zr}var b=Ur;var p=require("react/jsx-runtime");function Yt(e){let n=new Date(e),t=Date.now()-n.getTime(),o=_=>String(_).padStart(2,"0"),r=`${n.getMonth()+1}/${n.getDate()} ${o(n.getHours())}:${o(n.getMinutes())}`,s=Math.floor(t/6e4);if(s<1)return`${r} (\uBC29\uAE08)`;if(s<60)return`${r} (${s}\uBD84 \uC804)`;let l=Math.floor(s/60);if(l<24)return`${r} (${l}\uC2DC\uAC04 \uC804)`;let i=Math.floor(l/24);return`${r} (${i}\uC77C \uC804)`}function qt(e){return e.slice(0,1).toUpperCase()}function Jt(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(0)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}function Gt(e){return e.includes("pdf")?"PDF":e.includes("spreadsheet")||e.includes("excel")||e.includes("csv")?"XLS":e.includes("presentation")||e.includes("powerpoint")?"PPT":e.includes("document")||e.includes("word")?"DOC":e.includes("zip")||e.includes("compressed")||e.includes("archive")?"ZIP":e.includes("video")?"VID":e.includes("audio")?"AUD":"FILE"}function eo({task:e,currentUserName:n,currentUserId:t,left:o,top:r,bottom:s,loading:l,onClose:i,onReply:_}){let[C,h]=(0,Z.useState)(""),[v,w]=(0,Z.useState)(!1),[H,M]=(0,Z.useState)(null),[D,K]=(0,Z.useState)(null),[ce,ge]=(0,Z.useState)(!1),se=(0,Z.useRef)(null),Y=(0,Z.useRef)(null),[ee,ue]=(0,Z.useState)(null),x=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{Y.current&&(Y.current.scrollTop=Y.current.scrollHeight),se.current?.focus()},[e.comments.length]),(0,Z.useEffect)(()=>{if(ce)return;let g=T=>{let L=T.target;L.closest(`.${b.thread}`)||L.closest("[data-annotation-marker]")||L.closest("[data-impakers-debug]")||P()};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[ce]);let P=(0,Z.useCallback)(()=>{w(!0),setTimeout(()=>i(),120)},[i]),N=(0,Z.useCallback)(()=>{!C.trim()&&!H&&!D||(_(e.id,C.trim(),H||void 0,D||void 0),h(""),M(null),K(null))},[C,H,D,e.id,_]),be=(0,Z.useCallback)(g=>{g.stopPropagation(),!g.nativeEvent.isComposing&&(g.key==="Enter"&&!g.shiftKey&&(g.preventDefault(),N()),g.key==="Escape"&&P())},[P,N]),q=(0,Z.useCallback)(()=>{ge(!0);let g=document.querySelectorAll("[data-impakers-debug], [data-annotation-marker]");g.forEach(j=>j.style.visibility="hidden"),document.documentElement.classList.add("impakers-selecting");let T=null,L=j=>{T||(T=document.createElement("div"),T.style.cssText="position:fixed;border:2px solid #3b82f6;background:rgba(59,130,246,0.05);border-radius:4px;pointer-events:none;z-index:999999;transition:all 0.08s ease",document.body.appendChild(T)),T.style.left=`${j.left}px`,T.style.top=`${j.top}px`,T.style.width=`${j.width}px`,T.style.height=`${j.height}px`},ae=()=>{document.removeEventListener("mousemove",ne),document.removeEventListener("click",Ne,!0),document.removeEventListener("keydown",Le),document.documentElement.classList.remove("impakers-selecting"),T?.remove(),g.forEach(j=>j.style.visibility=""),ge(!1)},ne=j=>{let U=document.elementFromPoint(j.clientX,j.clientY);!U||U===T||L(U.getBoundingClientRect())},Le=j=>{j.key==="Escape"&&ae()},Ne=async j=>{j.preventDefault(),j.stopPropagation(),j.stopImmediatePropagation();let U=document.elementFromPoint(j.clientX,j.clientY);if(ae(),!!U){try{let $e=await At(U);M($e)}catch($e){console.error("[@impakers/debug] DOM \uC2A4\uD06C\uB9B0\uC0F7 \uC2E4\uD328:",$e)}se.current?.focus()}};document.addEventListener("mousemove",ne),document.addEventListener("click",Ne,!0),document.addEventListener("keydown",Le)},[]),me=(0,Z.useCallback)(()=>{q()},[q]),xe=(0,Z.useCallback)(()=>{x.current?.click()},[]),he=(0,Z.useCallback)(g=>{let T=g.target.files?.[0];if(T){if(T.size>4.5*1024*1024){console.warn("[@impakers/debug] \uD30C\uC77C \uD06C\uAE30\uAC00 4.5MB\uB97C \uCD08\uACFC\uD569\uB2C8\uB2E4."),g.target.value="";return}if(T.type.startsWith("image/")){K(null);let L=new FileReader;L.onload=()=>{M(L.result)},L.readAsDataURL(T)}else M(null),K(T);g.target.value=""}},[]),_e=e.title.replace(/^\[피드백\]\s*/,""),ie={left:o,...r!==void 0?{top:r}:{},...s!==void 0?{bottom:s}:{}};return(0,p.jsxs)("div",{className:`${b.thread} ${v?b.exiting:""}`,style:ie,"data-impakers-debug":"",onClick:g=>g.stopPropagation(),children:[(0,p.jsxs)("div",{className:b.header,children:[(0,p.jsx)("div",{className:b.avatar,children:qt(e.authorName||n)}),(0,p.jsxs)("div",{className:b.headerInfo,children:[(0,p.jsxs)("div",{className:b.headerTop,children:[(0,p.jsx)("span",{className:b.authorName,children:e.authorName||n}),(0,p.jsx)("span",{className:b.timestamp,children:Yt(e.createdAt)})]}),(0,p.jsx)("div",{className:b.title,children:_e})]}),(0,p.jsx)("div",{className:b.headerActions,children:(0,p.jsx)("button",{className:b.headerAction,onClick:P,title:"\uB2EB\uAE30",type:"button",children:(0,p.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,p.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})})})})]}),l&&e.comments.length===0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{className:b.divider}),(0,p.jsx)($n,{message:"\uB313\uAE00 \uB85C\uB529 \uC911..."})]}),e.comments.length>0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{className:b.divider}),(0,p.jsx)("div",{className:b.commentsList,ref:Y,children:e.comments.map(g=>(0,p.jsxs)("div",{className:b.comment,children:[(0,p.jsx)("div",{className:b.avatar,style:{width:22,height:22,fontSize:10},children:qt(g.authorName)}),(0,p.jsxs)("div",{className:b.commentContent,children:[(0,p.jsxs)("div",{className:b.commentTop,children:[(0,p.jsx)("span",{className:b.commentAuthor,children:g.authorName}),(0,p.jsx)("span",{className:b.commentTime,children:Yt(g.createdAt)})]}),g.content&&(0,p.jsx)("div",{className:b.commentText,children:g.content}),g.imageUrl&&g.imageUrl!=="loading..."&&(0,p.jsx)("div",{className:b.screenshot,onClick:()=>ue(g.imageUrl),style:{cursor:"pointer"},children:(0,p.jsx)("img",{src:g.imageUrl,alt:"screenshot"})}),g.fileUrl&&(0,p.jsxs)("a",{className:b.fileCard,href:g.fileUrl,target:"_blank",rel:"noopener noreferrer",onClick:T=>T.stopPropagation(),children:[(0,p.jsx)("span",{className:b.fileIcon,children:Gt(g.fileType||"")}),(0,p.jsxs)("span",{className:b.fileInfo,children:[(0,p.jsx)("span",{className:b.fileCardName,children:g.fileName||"\uD30C\uC77C"}),g.fileSize!=null&&(0,p.jsx)("span",{className:b.fileCardSize,children:Jt(g.fileSize)})]})]})]})]},g.id))})]}),H&&(0,p.jsxs)("div",{className:b.pendingImage,children:[(0,p.jsx)("img",{src:H,alt:"pending"}),(0,p.jsx)("button",{className:b.pendingRemove,onClick:()=>M(null),type:"button",children:"\xD7"})]}),D&&(0,p.jsxs)("div",{className:b.pendingFile,children:[(0,p.jsx)("span",{className:b.fileIcon,children:Gt(D.type)}),(0,p.jsxs)("span",{className:b.fileInfo,children:[(0,p.jsx)("span",{className:b.fileCardName,children:D.name}),(0,p.jsx)("span",{className:b.fileCardSize,children:Jt(D.size)})]}),(0,p.jsx)("button",{className:b.pendingRemove,onClick:()=>K(null),type:"button",children:"\xD7"})]}),(0,p.jsx)("div",{className:b.replyArea,children:(0,p.jsx)("textarea",{ref:se,className:b.replyInput,placeholder:"Reply...",value:C,onChange:g=>{h(g.target.value);let T=g.target;T.style.height="auto",T.style.height=`${Math.min(T.scrollHeight,120)}px`},onKeyDown:be,rows:2})}),(0,p.jsxs)("div",{className:b.replyToolbar,children:[(0,p.jsx)("button",{className:b.replyTool,onClick:xe,type:"button",title:"\uD30C\uC77C \uCCA8\uBD80",children:(0,p.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,p.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,p.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}),(0,p.jsx)("button",{className:b.replyTool,onClick:me,type:"button",title:"\uC694\uC18C \uC2A4\uD06C\uB9B0\uC0F7",children:(0,p.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,p.jsx)("path",{d:"M14.5 4h-5L7 7H4a2 2 0 00-2 2v9a2 2 0 002 2h16a2 2 0 002-2V9a2 2 0 00-2-2h-3l-2.5-3z"}),(0,p.jsx)("circle",{cx:"12",cy:"13",r:"3"})]})}),(0,p.jsx)("button",{className:`${b.replySend} ${C.trim()||H||D?b.active:""}`,onClick:N,disabled:!C.trim()&&!H&&!D,type:"button",title:"\uC804\uC1A1",children:(0,p.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,p.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,p.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})})]}),(0,p.jsx)("input",{ref:x,type:"file",accept:"*/*",style:{display:"none"},onChange:he}),ee&&(0,p.jsxs)("div",{className:b.lightbox,onClick:()=>ue(null),"data-impakers-debug":"",children:[(0,p.jsx)("img",{src:ee,alt:"enlarged",onClick:g=>g.stopPropagation()}),(0,p.jsx)("button",{className:b.lightboxClose,onClick:()=>ue(null),type:"button",children:"\xD7"})]})]})}var X=require("react");var Xr=`@keyframes styles-module__fabEnter___DMJoo {
|
|
953
|
+
}`,qr={thread:"styles-module__thread___ua2EO",threadIn:"styles-module__threadIn___pBTFZ",exiting:"styles-module__exiting___RIPeX",threadOut:"styles-module__threadOut___-ccKh",header:"styles-module__header___GiEBq",avatar:"styles-module__avatar___JElAd",headerInfo:"styles-module__headerInfo___E8809",headerTop:"styles-module__headerTop___eDiCd",authorName:"styles-module__authorName___T1BfB",timestamp:"styles-module__timestamp___WusBf",headerActions:"styles-module__headerActions___8FsMY",headerAction:"styles-module__headerAction___Tinmq",title:"styles-module__title___qkfqY",commentsList:"styles-module__commentsList___kYqAR",comment:"styles-module__comment___pW3IO",commentActions:"styles-module__commentActions___wO0fs",commentHighlight:"styles-module__commentHighlight___EiTmx",commentContent:"styles-module__commentContent___RObGr",commentTop:"styles-module__commentTop___BbTF3",commentAuthor:"styles-module__commentAuthor___tBjpl",commentTime:"styles-module__commentTime___0OLrz",commentText:"styles-module__commentText___ldy2V",screenshot:"styles-module__screenshot___jUqau",screenshotBadge:"styles-module__screenshotBadge___roEqY",fileCard:"styles-module__fileCard___-iOro",fileIcon:"styles-module__fileIcon___dNJMT",fileInfo:"styles-module__fileInfo___dVrLV",fileCardName:"styles-module__fileCardName___SHOj-",fileCardSize:"styles-module__fileCardSize___W53JL",pendingFile:"styles-module__pendingFile___-OSRs",divider:"styles-module__divider___kDjxN",pendingImage:"styles-module__pendingImage___gHaF3",pendingRemove:"styles-module__pendingRemove___FRL4h",replyArea:"styles-module__replyArea___VQn9b",replyInput:"styles-module__replyInput___uZNBW",replyToolbar:"styles-module__replyToolbar___fTFJU",replyTool:"styles-module__replyTool___Ho-Rx",replySend:"styles-module__replySend___e0VSb",active:"styles-module__active___R--Jj",empty:"styles-module__empty___XXGiw",statusBadge:"styles-module__statusBadge___el8ml",todo:"styles-module__todo___rUWBr",inProgress:"styles-module__inProgress___HEWgU",done:"styles-module__done___zC12n",lightbox:"styles-module__lightbox___KoWEF",lightboxClose:"styles-module__lightboxClose___tGZlm"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-comment-thread-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-comment-thread-styles",document.head.appendChild(e)),e.textContent=Qr}var S=qr;var p=require("react/jsx-runtime");function Gt(e){let n=new Date(e),t=Date.now()-n.getTime(),o=_=>String(_).padStart(2,"0"),r=`${n.getMonth()+1}/${n.getDate()} ${o(n.getHours())}:${o(n.getMinutes())}`,s=Math.floor(t/6e4);if(s<1)return`${r} (\uBC29\uAE08)`;if(s<60)return`${r} (${s}\uBD84 \uC804)`;let a=Math.floor(s/60);if(a<24)return`${r} (${a}\uC2DC\uAC04 \uC804)`;let i=Math.floor(a/24);return`${r} (${i}\uC77C \uC804)`}function eo(e){return e.slice(0,1).toUpperCase()}function no(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(0)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}function to(e){return e.includes("pdf")?"PDF":e.includes("spreadsheet")||e.includes("excel")||e.includes("csv")?"XLS":e.includes("presentation")||e.includes("powerpoint")?"PPT":e.includes("document")||e.includes("word")?"DOC":e.includes("zip")||e.includes("compressed")||e.includes("archive")?"ZIP":e.includes("video")?"VID":e.includes("audio")?"AUD":"FILE"}function oo({task:e,currentUserName:n,currentUserId:t,left:o,top:r,bottom:s,loading:a,onClose:i,onReply:_}){let[k,y]=(0,X.useState)(""),[v,C]=(0,X.useState)(!1),[A,I]=(0,X.useState)(null),[H,K]=(0,X.useState)(null),[ae,_e]=(0,X.useState)(!1),re=(0,X.useRef)(null),R=(0,X.useRef)(null),[N,q]=(0,X.useState)(null),b=(0,X.useRef)(null);(0,X.useEffect)(()=>{R.current&&(R.current.scrollTop=R.current.scrollHeight),re.current?.focus()},[e.comments.length]),(0,X.useEffect)(()=>{if(ae)return;let g=h=>{let Z=h.target;Z.closest(`.${S.thread}`)||Z.closest("[data-annotation-marker]")||Z.closest("[data-impakers-debug]")||P()};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[ae]);let P=(0,X.useCallback)(()=>{C(!0),setTimeout(()=>i(),120)},[i]),E=(0,X.useCallback)(()=>{!k.trim()&&!A&&!H||(_(e.id,k.trim(),A||void 0,H||void 0),y(""),I(null),K(null))},[k,A,H,e.id,_]),pe=(0,X.useCallback)(g=>{g.stopPropagation(),!g.nativeEvent.isComposing&&(g.key==="Enter"&&!g.shiftKey&&(g.preventDefault(),E()),g.key==="Escape"&&P())},[P,E]),T=(0,X.useCallback)(()=>{_e(!0);let g=document.querySelectorAll("[data-impakers-debug], [data-annotation-marker]");g.forEach(M=>M.style.visibility="hidden"),document.documentElement.classList.add("impakers-selecting");let h=null,Z=M=>{h||(h=document.createElement("div"),h.style.cssText="position:fixed;border:2px solid #3b82f6;background:rgba(59,130,246,0.05);border-radius:4px;pointer-events:none;z-index:999999;transition:all 0.08s ease",document.body.appendChild(h)),h.style.left=`${M.left}px`,h.style.top=`${M.top}px`,h.style.width=`${M.width}px`,h.style.height=`${M.height}px`},ce=()=>{document.removeEventListener("mousemove",Pe),document.removeEventListener("click",Ae,!0),document.removeEventListener("keydown",Ie),document.documentElement.classList.remove("impakers-selecting"),h?.remove(),g.forEach(M=>M.style.visibility=""),_e(!1)},Pe=M=>{let Ce=document.elementFromPoint(M.clientX,M.clientY);!Ce||Ce===h||Z(Ce.getBoundingClientRect())},Ie=M=>{M.key==="Escape"&&ce()},Ae=async M=>{M.preventDefault(),M.stopPropagation(),M.stopImmediatePropagation();let Ce=document.elementFromPoint(M.clientX,M.clientY);if(ce(),!!Ce){try{let we=await In(Ce);I(we)}catch(we){console.error("[@impakers/debug] DOM \uC2A4\uD06C\uB9B0\uC0F7 \uC2E4\uD328:",we)}re.current?.focus()}};document.addEventListener("mousemove",Pe),document.addEventListener("click",Ae,!0),document.addEventListener("keydown",Ie)},[]),Y=(0,X.useCallback)(()=>{T()},[T]),le=(0,X.useCallback)(()=>{b.current?.click()},[]),be=(0,X.useCallback)(g=>{let h=g.target.files?.[0];if(h){if(h.size>4.5*1024*1024){console.warn("[@impakers/debug] \uD30C\uC77C \uD06C\uAE30\uAC00 4.5MB\uB97C \uCD08\uACFC\uD569\uB2C8\uB2E4."),g.target.value="";return}if(h.type.startsWith("image/")){K(null);let Z=new FileReader;Z.onload=()=>{I(Z.result)},Z.readAsDataURL(h)}else I(null),K(h);g.target.value=""}},[]),Te=e.title.replace(/^\[피드백\]\s*/,""),de={left:o,...r!==void 0?{top:r}:{},...s!==void 0?{bottom:s}:{},"--thread-top":`${r!==void 0?r:40}px`};return(0,p.jsxs)("div",{className:`${S.thread} ${v?S.exiting:""}`,style:de,"data-impakers-debug":"",onClick:g=>g.stopPropagation(),children:[(0,p.jsxs)("div",{className:S.header,children:[(0,p.jsx)("div",{className:S.avatar,children:eo(e.authorName||n)}),(0,p.jsxs)("div",{className:S.headerInfo,children:[(0,p.jsxs)("div",{className:S.headerTop,children:[(0,p.jsx)("span",{className:S.authorName,children:e.authorName||n}),(0,p.jsx)("span",{className:S.timestamp,children:Gt(e.createdAt)})]}),(0,p.jsx)("div",{className:S.title,children:Te})]}),(0,p.jsx)("div",{className:S.headerActions,children:(0,p.jsx)("button",{className:S.headerAction,onClick:P,title:"\uB2EB\uAE30",type:"button",children:(0,p.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,p.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})})})})]}),a&&e.comments.length===0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{className:S.divider}),(0,p.jsx)(Dn,{message:"\uB313\uAE00 \uB85C\uB529 \uC911..."})]}),e.comments.length>0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{className:S.divider}),(0,p.jsx)("div",{className:S.commentsList,ref:R,children:e.comments.map(g=>(0,p.jsxs)("div",{className:S.comment,children:[(0,p.jsx)("div",{className:S.avatar,style:{width:22,height:22,fontSize:10},children:eo(g.authorName)}),(0,p.jsxs)("div",{className:S.commentContent,children:[(0,p.jsxs)("div",{className:S.commentTop,children:[(0,p.jsx)("span",{className:S.commentAuthor,children:g.authorName}),(0,p.jsx)("span",{className:S.commentTime,children:Gt(g.createdAt)})]}),g.content&&(0,p.jsx)("div",{className:S.commentText,children:g.content}),g.imageUrl&&g.imageUrl!=="loading..."&&(0,p.jsx)("div",{className:S.screenshot,onClick:()=>q(g.imageUrl),style:{cursor:"pointer"},children:(0,p.jsx)("img",{src:g.imageUrl,alt:"screenshot"})}),g.fileUrl&&(0,p.jsxs)("a",{className:S.fileCard,href:g.fileUrl,target:"_blank",rel:"noopener noreferrer",onClick:h=>h.stopPropagation(),children:[(0,p.jsx)("span",{className:S.fileIcon,children:to(g.fileType||"")}),(0,p.jsxs)("span",{className:S.fileInfo,children:[(0,p.jsx)("span",{className:S.fileCardName,children:g.fileName||"\uD30C\uC77C"}),g.fileSize!=null&&(0,p.jsx)("span",{className:S.fileCardSize,children:no(g.fileSize)})]})]})]})]},g.id))})]}),A&&(0,p.jsxs)("div",{className:S.pendingImage,children:[(0,p.jsx)("img",{src:A,alt:"pending"}),(0,p.jsx)("button",{className:S.pendingRemove,onClick:()=>I(null),type:"button",children:"\xD7"})]}),H&&(0,p.jsxs)("div",{className:S.pendingFile,children:[(0,p.jsx)("span",{className:S.fileIcon,children:to(H.type)}),(0,p.jsxs)("span",{className:S.fileInfo,children:[(0,p.jsx)("span",{className:S.fileCardName,children:H.name}),(0,p.jsx)("span",{className:S.fileCardSize,children:no(H.size)})]}),(0,p.jsx)("button",{className:S.pendingRemove,onClick:()=>K(null),type:"button",children:"\xD7"})]}),(0,p.jsx)("div",{className:S.replyArea,children:(0,p.jsx)("textarea",{ref:re,className:S.replyInput,placeholder:"Reply...",value:k,onChange:g=>{y(g.target.value);let h=g.target;h.style.height="auto",h.style.height=`${Math.min(h.scrollHeight,120)}px`},onKeyDown:pe,rows:2})}),(0,p.jsxs)("div",{className:S.replyToolbar,children:[(0,p.jsx)("button",{className:S.replyTool,onClick:le,type:"button",title:"\uD30C\uC77C \uCCA8\uBD80",children:(0,p.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,p.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,p.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}),(0,p.jsx)("button",{className:S.replyTool,onClick:Y,type:"button",title:"\uC694\uC18C \uC2A4\uD06C\uB9B0\uC0F7",children:(0,p.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,p.jsx)("path",{d:"M14.5 4h-5L7 7H4a2 2 0 00-2 2v9a2 2 0 002 2h16a2 2 0 002-2V9a2 2 0 00-2-2h-3l-2.5-3z"}),(0,p.jsx)("circle",{cx:"12",cy:"13",r:"3"})]})}),(0,p.jsx)("button",{className:`${S.replySend} ${k.trim()||A||H?S.active:""}`,onClick:E,disabled:!k.trim()&&!A&&!H,type:"button",title:"\uC804\uC1A1",children:(0,p.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,p.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,p.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})})]}),(0,p.jsx)("input",{ref:b,type:"file",accept:"*/*",style:{display:"none"},onChange:be}),N&&(0,p.jsxs)("div",{className:S.lightbox,onClick:()=>q(null),"data-impakers-debug":"",children:[(0,p.jsx)("img",{src:N,alt:"enlarged",onClick:g=>g.stopPropagation()}),(0,p.jsx)("button",{className:S.lightboxClose,onClick:()=>q(null),type:"button",children:"\xD7"})]})]})}var G=require("react");var Jr=`@keyframes styles-module__fabEnter___DMJoo {
|
|
954
954
|
from {
|
|
955
955
|
opacity: 0;
|
|
956
956
|
transform: scale(0.5);
|
|
@@ -1143,7 +1143,176 @@ ${n.stack?.split(`
|
|
|
1143
1143
|
justify-content: center;
|
|
1144
1144
|
padding: 0 4px;
|
|
1145
1145
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
1146
|
-
}`,
|
|
1146
|
+
}`,Gr={fab:"styles-module__fab___wShP-",fabEnter:"styles-module__fabEnter___DMJoo",expanded:"styles-module__expanded___qyto6",menuItems:"styles-module__menuItems___1qNsE",menuItem:"styles-module__menuItem___pB75H",active:"styles-module__active___7ktmc",menuItemIn:"styles-module__menuItemIn___GfmJ3",menuItemClosing:"styles-module__menuItemClosing___m4o-a",menuItemOut:"styles-module__menuItemOut___s0nQD",tooltip:"styles-module__tooltip___Cy6kg",contextMenu:"styles-module__contextMenu___A8fQt",contextMenuItem:"styles-module__contextMenuItem___1u9io",badge:"styles-module__badge___zmiZx"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-fab-menu-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-fab-menu-styles",document.head.appendChild(e)),e.textContent=Jr}var Ee=Gr;var me=require("react/jsx-runtime");function ro({items:e,onSelect:n,onHide:t,onDoubleTap:o}){let[r,s]=(0,G.useState)(!1),[a,i]=(0,G.useState)(!1),[_,k]=(0,G.useState)({right:24,bottom:24}),[y,v]=(0,G.useState)(null),C=(0,G.useRef)(null),A=(0,G.useRef)(!1),I=(0,G.useRef)({x:0,y:0}),H=(0,G.useRef)({x:0,y:0}),K=(0,G.useRef)(!1),ae=(0,G.useRef)(0),_e=(0,G.useCallback)(b=>{if(b.button===2)return;A.current=!0,K.current=!1;let P=C.current;if(!P)return;P.setPointerCapture(b.pointerId);let E=P.getBoundingClientRect();I.current={x:b.clientX,y:b.clientY},H.current={x:b.clientX-E.left,y:b.clientY-E.top}},[]),re=(0,G.useCallback)(b=>{A.current&&((Math.abs(b.clientX-I.current.x)>3||Math.abs(b.clientY-I.current.y)>3)&&(K.current=!0),K.current&&k({right:Math.max(8,Math.min(window.innerWidth-b.clientX-(44-H.current.x),window.innerWidth-52)),bottom:Math.max(8,Math.min(window.innerHeight-b.clientY-(44-H.current.y),window.innerHeight-52))}))},[]),R=(0,G.useCallback)(b=>{if(A.current&&(C.current?.releasePointerCapture(b.pointerId),A.current=!1,!K.current)){let P=Date.now(),E=P-ae.current<350;if(ae.current=P,E&&o){r&&N(),o();return}r?N():s(!0)}},[r,o]),N=(0,G.useCallback)(()=>{i(!0),setTimeout(()=>{s(!1),i(!1)},150)},[]),q=(0,G.useCallback)(b=>{b.preventDefault(),b.stopPropagation(),v({x:b.clientX,y:b.clientY})},[]);return(0,G.useEffect)(()=>{if(!r&&!y)return;let b=P=>{if(!P.target.closest("[data-impakers-fab]")){if(y){v(null);return}r&&N()}};return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[r,y,N]),(0,me.jsxs)(me.Fragment,{children:[(r||a)&&(0,me.jsx)("div",{className:Ee.menuItems,style:{position:"fixed",right:_.right+4/2,bottom:_.bottom+44+8},"data-impakers-debug":"","data-impakers-fab":"",children:[...e].reverse().map((b,P)=>(0,me.jsxs)("button",{className:`${Ee.menuItem} ${b.active?Ee.active:""} ${a?Ee.menuItemClosing:""}`,style:{animationDelay:a?`${P*30}ms`:`${(e.length-1-P)*40}ms`},onClick:E=>{E.stopPropagation(),n(b.id),N()},type:"button","data-impakers-fab":"","data-impakers-debug":"",children:[b.icon,(0,me.jsx)("span",{className:Ee.tooltip,children:b.label}),b.badge&&b.badge>0?(0,me.jsx)("span",{className:Ee.badge,children:b.badge>99?"99+":b.badge}):null]},b.id))}),(0,me.jsx)("button",{ref:C,className:`${Ee.fab} ${r?Ee.expanded:""}`,style:{position:"fixed",right:_.right,bottom:_.bottom},onPointerDown:_e,onPointerMove:re,onPointerUp:R,onContextMenu:q,type:"button","aria-label":"\uD53C\uB4DC\uBC31 \uBA54\uB274","data-impakers-debug":"","data-impakers-fab":"",children:(0,me.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,me.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,me.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}),y&&(0,me.jsx)("div",{style:{position:"fixed",inset:0,zIndex:2147483647},onMouseDown:()=>v(null),"data-impakers-debug":"","data-impakers-fab":"",children:(0,me.jsx)("div",{className:Ee.contextMenu,style:{position:"fixed",left:y.x,top:y.y,zIndex:2147483647},onMouseDown:b=>b.stopPropagation(),"data-impakers-fab":"",children:(0,me.jsx)("button",{className:Ee.contextMenuItem,onMouseDown:b=>{b.stopPropagation(),v(null),t?.()},type:"button",children:"\uC704\uC82F \uC228\uAE30\uAE30"})})})]})}var D=require("react"),io=require("react-dom");var ye=require("react");var es=`.styles-module__replyWrapper___wuGqO {
|
|
1147
|
+
flex-shrink: 0;
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
.styles-module__pendingImage___Sc3K4 {
|
|
1151
|
+
position: relative;
|
|
1152
|
+
margin: 0 16px 8px;
|
|
1153
|
+
border-radius: 8px;
|
|
1154
|
+
border: 1px solid #e5e7eb;
|
|
1155
|
+
overflow: hidden;
|
|
1156
|
+
max-height: 120px;
|
|
1157
|
+
}
|
|
1158
|
+
.styles-module__pendingImage___Sc3K4 img {
|
|
1159
|
+
width: 100%;
|
|
1160
|
+
height: auto;
|
|
1161
|
+
display: block;
|
|
1162
|
+
object-fit: cover;
|
|
1163
|
+
max-height: 120px;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
.styles-module__pendingRemove___ftBrZ {
|
|
1167
|
+
position: absolute;
|
|
1168
|
+
top: 4px;
|
|
1169
|
+
right: 4px;
|
|
1170
|
+
width: 20px;
|
|
1171
|
+
height: 20px;
|
|
1172
|
+
border-radius: 50%;
|
|
1173
|
+
background: rgba(0, 0, 0, 0.6);
|
|
1174
|
+
color: #fff;
|
|
1175
|
+
border: none;
|
|
1176
|
+
cursor: pointer;
|
|
1177
|
+
display: flex;
|
|
1178
|
+
align-items: center;
|
|
1179
|
+
justify-content: center;
|
|
1180
|
+
font-size: 14px;
|
|
1181
|
+
line-height: 1;
|
|
1182
|
+
padding: 0;
|
|
1183
|
+
}
|
|
1184
|
+
.styles-module__pendingRemove___ftBrZ:hover {
|
|
1185
|
+
background: rgba(0, 0, 0, 0.8);
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
.styles-module__pendingFile___ss0Dp {
|
|
1189
|
+
position: relative;
|
|
1190
|
+
margin: 0 16px 8px;
|
|
1191
|
+
padding: 8px 10px;
|
|
1192
|
+
padding-right: 30px;
|
|
1193
|
+
border-radius: 8px;
|
|
1194
|
+
border: 1px solid #e5e7eb;
|
|
1195
|
+
background: #f9fafb;
|
|
1196
|
+
display: flex;
|
|
1197
|
+
align-items: center;
|
|
1198
|
+
gap: 8px;
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
.styles-module__fileIcon___lCxGN {
|
|
1202
|
+
width: 32px;
|
|
1203
|
+
height: 32px;
|
|
1204
|
+
border-radius: 6px;
|
|
1205
|
+
background: #e5e7eb;
|
|
1206
|
+
color: #374151;
|
|
1207
|
+
display: flex;
|
|
1208
|
+
align-items: center;
|
|
1209
|
+
justify-content: center;
|
|
1210
|
+
font-size: 10px;
|
|
1211
|
+
font-weight: 700;
|
|
1212
|
+
flex-shrink: 0;
|
|
1213
|
+
letter-spacing: 0.5px;
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
.styles-module__fileInfo___WpCET {
|
|
1217
|
+
flex: 1;
|
|
1218
|
+
min-width: 0;
|
|
1219
|
+
display: flex;
|
|
1220
|
+
flex-direction: column;
|
|
1221
|
+
gap: 1px;
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
.styles-module__fileCardName___0idJU {
|
|
1225
|
+
font-size: 12px;
|
|
1226
|
+
font-weight: 500;
|
|
1227
|
+
color: #1a1a1a;
|
|
1228
|
+
white-space: nowrap;
|
|
1229
|
+
overflow: hidden;
|
|
1230
|
+
text-overflow: ellipsis;
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
.styles-module__fileCardSize___b9sJT {
|
|
1234
|
+
font-size: 11px;
|
|
1235
|
+
color: #9ca3af;
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
.styles-module__replyArea___tmywT {
|
|
1239
|
+
padding: 10px 16px 8px;
|
|
1240
|
+
border-top: 1px solid #f3f4f6;
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
.styles-module__replyInput___UAMsE {
|
|
1244
|
+
width: 100%;
|
|
1245
|
+
border: none;
|
|
1246
|
+
outline: none;
|
|
1247
|
+
font-size: 13px;
|
|
1248
|
+
font-family: inherit;
|
|
1249
|
+
color: #1a1a1a;
|
|
1250
|
+
resize: none;
|
|
1251
|
+
padding: 0;
|
|
1252
|
+
min-height: 36px;
|
|
1253
|
+
max-height: 120px;
|
|
1254
|
+
line-height: 1.55;
|
|
1255
|
+
transition: height 0.1s ease;
|
|
1256
|
+
}
|
|
1257
|
+
.styles-module__replyInput___UAMsE::placeholder {
|
|
1258
|
+
color: #9ca3af;
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
.styles-module__replyToolbar___c6TcW {
|
|
1262
|
+
display: flex;
|
|
1263
|
+
align-items: center;
|
|
1264
|
+
padding: 4px 16px 10px;
|
|
1265
|
+
gap: 4px;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
.styles-module__replyTool___RBxLW {
|
|
1269
|
+
width: 28px;
|
|
1270
|
+
height: 28px;
|
|
1271
|
+
border: none;
|
|
1272
|
+
background: none;
|
|
1273
|
+
cursor: pointer;
|
|
1274
|
+
display: flex;
|
|
1275
|
+
align-items: center;
|
|
1276
|
+
justify-content: center;
|
|
1277
|
+
border-radius: 6px;
|
|
1278
|
+
color: #9ca3af;
|
|
1279
|
+
transition: background 0.12s, color 0.12s;
|
|
1280
|
+
padding: 0;
|
|
1281
|
+
}
|
|
1282
|
+
.styles-module__replyTool___RBxLW:hover {
|
|
1283
|
+
background: #f3f4f6;
|
|
1284
|
+
color: #374151;
|
|
1285
|
+
}
|
|
1286
|
+
.styles-module__replyTool___RBxLW svg {
|
|
1287
|
+
width: 16px;
|
|
1288
|
+
height: 16px;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
.styles-module__replySend___eTc6O {
|
|
1292
|
+
margin-left: auto;
|
|
1293
|
+
width: 28px;
|
|
1294
|
+
height: 28px;
|
|
1295
|
+
border: none;
|
|
1296
|
+
background: none;
|
|
1297
|
+
cursor: pointer;
|
|
1298
|
+
display: flex;
|
|
1299
|
+
align-items: center;
|
|
1300
|
+
justify-content: center;
|
|
1301
|
+
border-radius: 6px;
|
|
1302
|
+
color: #9ca3af;
|
|
1303
|
+
transition: background 0.12s, color 0.12s;
|
|
1304
|
+
padding: 0;
|
|
1305
|
+
}
|
|
1306
|
+
.styles-module__replySend___eTc6O:hover {
|
|
1307
|
+
color: #3b82f6;
|
|
1308
|
+
}
|
|
1309
|
+
.styles-module__replySend___eTc6O.styles-module__active___-Ce1c {
|
|
1310
|
+
color: #3b82f6;
|
|
1311
|
+
}
|
|
1312
|
+
.styles-module__replySend___eTc6O svg {
|
|
1313
|
+
width: 16px;
|
|
1314
|
+
height: 16px;
|
|
1315
|
+
}`,ns={replyWrapper:"styles-module__replyWrapper___wuGqO",pendingImage:"styles-module__pendingImage___Sc3K4",pendingRemove:"styles-module__pendingRemove___ftBrZ",pendingFile:"styles-module__pendingFile___ss0Dp",fileIcon:"styles-module__fileIcon___lCxGN",fileInfo:"styles-module__fileInfo___WpCET",fileCardName:"styles-module__fileCardName___0idJU",fileCardSize:"styles-module__fileCardSize___b9sJT",replyArea:"styles-module__replyArea___tmywT",replyInput:"styles-module__replyInput___UAMsE",replyToolbar:"styles-module__replyToolbar___c6TcW",replyTool:"styles-module__replyTool___RBxLW",replySend:"styles-module__replySend___eTc6O",active:"styles-module__active___-Ce1c"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-reply-input-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-reply-input-styles",document.head.appendChild(e)),e.textContent=es}var se=ns;var z=require("react/jsx-runtime");function ts(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(0)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}function os(e){return e.includes("pdf")?"PDF":e.includes("spreadsheet")||e.includes("excel")||e.includes("csv")?"XLS":e.includes("presentation")||e.includes("powerpoint")?"PPT":e.includes("document")||e.includes("word")?"DOC":e.includes("zip")||e.includes("compressed")||e.includes("archive")?"ZIP":e.includes("video")?"VID":e.includes("audio")?"AUD":"FILE"}function so({onSend:e,onEscape:n,placeholder:t="Reply...",autoFocus:o=!1}){let[r,s]=(0,ye.useState)(""),[a,i]=(0,ye.useState)(null),[_,k]=(0,ye.useState)(null),[y,v]=(0,ye.useState)(!1),C=(0,ye.useRef)(null),A=(0,ye.useRef)(null),I=r.trim()||a||_,H=(0,ye.useCallback)(()=>{I&&(e(r.trim(),a||void 0,_||void 0),s(""),i(null),k(null),C.current&&(C.current.style.height="auto"))},[r,a,_,I,e]),K=(0,ye.useCallback)(R=>{R.stopPropagation(),!R.nativeEvent.isComposing&&(R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),H()),R.key==="Escape"&&n?.())},[H,n]),ae=(0,ye.useCallback)(()=>{v(!0);let R=document.querySelectorAll("[data-impakers-debug], [data-annotation-marker]");R.forEach(T=>T.style.visibility="hidden"),document.documentElement.classList.add("impakers-selecting");let N=null,q=T=>{N||(N=document.createElement("div"),N.style.cssText="position:fixed;border:2px solid #3b82f6;background:rgba(59,130,246,0.05);border-radius:4px;pointer-events:none;z-index:999999;transition:all 0.08s ease",document.body.appendChild(N)),N.style.left=`${T.left}px`,N.style.top=`${T.top}px`,N.style.width=`${T.width}px`,N.style.height=`${T.height}px`},b=()=>{document.removeEventListener("mousemove",P),document.removeEventListener("click",pe,!0),document.removeEventListener("keydown",E),document.documentElement.classList.remove("impakers-selecting"),N?.remove(),R.forEach(T=>T.style.visibility=""),v(!1)},P=T=>{let Y=document.elementFromPoint(T.clientX,T.clientY);!Y||Y===N||q(Y.getBoundingClientRect())},E=T=>{T.key==="Escape"&&b()},pe=async T=>{T.preventDefault(),T.stopPropagation(),T.stopImmediatePropagation();let Y=document.elementFromPoint(T.clientX,T.clientY);if(b(),!!Y){try{let le=await In(Y);i(le)}catch(le){console.error("[@impakers/debug] DOM \uC2A4\uD06C\uB9B0\uC0F7 \uC2E4\uD328:",le)}C.current?.focus()}};document.addEventListener("mousemove",P),document.addEventListener("click",pe,!0),document.addEventListener("keydown",E)},[]),_e=(0,ye.useCallback)(()=>{A.current?.click()},[]),re=(0,ye.useCallback)(R=>{let N=R.target.files?.[0];if(N){if(N.size>4.5*1024*1024){console.warn("[@impakers/debug] \uD30C\uC77C \uD06C\uAE30\uAC00 4.5MB\uB97C \uCD08\uACFC\uD569\uB2C8\uB2E4."),R.target.value="";return}if(N.type.startsWith("image/")){k(null);let q=new FileReader;q.onload=()=>i(q.result),q.readAsDataURL(N)}else i(null),k(N);R.target.value=""}},[]);return(0,z.jsxs)("div",{className:se.replyWrapper,"data-impakers-debug":"",children:[a&&(0,z.jsxs)("div",{className:se.pendingImage,children:[(0,z.jsx)("img",{src:a,alt:"pending"}),(0,z.jsx)("button",{className:se.pendingRemove,onClick:()=>i(null),type:"button",children:"\xD7"})]}),_&&(0,z.jsxs)("div",{className:se.pendingFile,children:[(0,z.jsx)("span",{className:se.fileIcon,children:os(_.type)}),(0,z.jsxs)("span",{className:se.fileInfo,children:[(0,z.jsx)("span",{className:se.fileCardName,children:_.name}),(0,z.jsx)("span",{className:se.fileCardSize,children:ts(_.size)})]}),(0,z.jsx)("button",{className:se.pendingRemove,onClick:()=>k(null),type:"button",children:"\xD7"})]}),(0,z.jsx)("div",{className:se.replyArea,children:(0,z.jsx)("textarea",{ref:C,className:se.replyInput,placeholder:t,value:r,onChange:R=>{s(R.target.value);let N=R.target;N.style.height="auto",N.style.height=`${Math.min(N.scrollHeight,120)}px`},onKeyDown:K,rows:2,autoFocus:o})}),(0,z.jsxs)("div",{className:se.replyToolbar,children:[(0,z.jsx)("button",{className:se.replyTool,onClick:_e,type:"button",title:"\uD30C\uC77C \uCCA8\uBD80",children:(0,z.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,z.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,z.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}),(0,z.jsx)("button",{className:se.replyTool,onClick:ae,type:"button",title:"\uC694\uC18C \uC2A4\uD06C\uB9B0\uC0F7",children:(0,z.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,z.jsx)("path",{d:"M14.5 4h-5L7 7H4a2 2 0 00-2 2v9a2 2 0 002 2h16a2 2 0 002-2V9a2 2 0 00-2-2h-3l-2.5-3z"}),(0,z.jsx)("circle",{cx:"12",cy:"13",r:"3"})]})}),(0,z.jsx)("button",{className:`${se.replySend} ${I?se.active:""}`,onClick:H,disabled:!I,type:"button",title:"\uC804\uC1A1",children:(0,z.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,z.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,z.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})})]}),(0,z.jsx)("input",{ref:A,type:"file",accept:"*/*",style:{display:"none"},onChange:re})]})}var rs=`@keyframes styles-module__slideIn___0o0s- {
|
|
1147
1316
|
from {
|
|
1148
1317
|
transform: translateX(100%);
|
|
1149
1318
|
}
|
|
@@ -2211,7 +2380,7 @@ ${n.stack?.split(`
|
|
|
2211
2380
|
white-space: nowrap;
|
|
2212
2381
|
overflow: hidden;
|
|
2213
2382
|
text-overflow: ellipsis;
|
|
2214
|
-
}`,qr={backdrop:"styles-module__backdrop___zYhcU",fadeIn:"styles-module__fadeIn___j09Ts",panel:"styles-module__panel___6YS8k",slideIn:"styles-module__slideIn___0o0s-",exiting:"styles-module__exiting___6A-Ag",slideOut:"styles-module__slideOut___nKrBX",header:"styles-module__header___fBbGz",headerLeft:"styles-module__headerLeft___e0YLf",headerTitle:"styles-module__headerTitle___oEPJa",closeBtn:"styles-module__closeBtn___-H8ra",tabs:"styles-module__tabs___nfuX7",tab:"styles-module__tab___Hc-jn",active:"styles-module__active___ZQzA5",tabBadge:"styles-module__tabBadge___IdFDQ",statusFilter:"styles-module__statusFilter___qtBXs",filterChip:"styles-module__filterChip___l2s74",filterCount:"styles-module__filterCount___KukiQ",content:"styles-module__content___L2lRw",card:"styles-module__card___F8qwd",cardHeader:"styles-module__cardHeader___QOVGR",cardAvatar:"styles-module__cardAvatar___FfKmW",cardInfo:"styles-module__cardInfo___BmrdF",cardMeta:"styles-module__cardMeta___7p9KD",cardAuthor:"styles-module__cardAuthor___YvnuR",cardTime:"styles-module__cardTime___N1Png",cardActions:"styles-module__cardActions___7QF72",cardAction:"styles-module__cardAction___t4b3V",cardTitle:"styles-module__cardTitle___xJxDN",cardScreenshot:"styles-module__cardScreenshot___I5-QL",cardRoute:"styles-module__cardRoute___U4gB6",cardRoutePath:"styles-module__cardRoutePath___zP-fh",cardRouteIcon:"styles-module__cardRouteIcon___SBqGj",cardRouteName:"styles-module__cardRouteName___BDH75",cardStatusTime:"styles-module__cardStatusTime___S62W1",cardFooter:"styles-module__cardFooter___wfPa4",cardReplyDot:"styles-module__cardReplyDot___YnqzI",cardReplyCount:"styles-module__cardReplyCount___O1khL",statusDot:"styles-module__statusDot___l4IHG",todo:"styles-module__todo___894P6",inProgress:"styles-module__inProgress___IZ1mJ",done:"styles-module__done___n4cWP",empty:"styles-module__empty___IADrw",emptyIcon:"styles-module__emptyIcon___1x5wT",checkBtn:"styles-module__checkBtn___KjHxm",checked:"styles-module__checked___8pype",cardDone:"styles-module__cardDone___-m4w-",backBtn:"styles-module__backBtn___PTIAl",detailView:"styles-module__detailView___36cvH",detailHeader:"styles-module__detailHeader___Hepgq",detailTitle:"styles-module__detailTitle___7TvrX",detailScreenshot:"styles-module__detailScreenshot___UPF0f",commentsList:"styles-module__commentsList___5Uigg",commentItem:"styles-module__commentItem___5u78u",commentAvatar:"styles-module__commentAvatar___OatKg",commentBody:"styles-module__commentBody___gmv1J",commentMeta:"styles-module__commentMeta___JNJa3",commentAuthorName:"styles-module__commentAuthorName___XNVRk",commentTime:"styles-module__commentTime___CokGf",commentContent:"styles-module__commentContent___yMiLR",loadingComments:"styles-module__loadingComments___zpATD",noComments:"styles-module__noComments___kvl90",replyBox:"styles-module__replyBox___FO-XS",replyInput:"styles-module__replyInput___k8C9e",sendBtn:"styles-module__sendBtn___pBzWa",commentImage:"styles-module__commentImage___LuH8X",commentFileCard:"styles-module__commentFileCard___XE44y",commentFileIcon:"styles-module__commentFileIcon___G58-y",commentFileInfo:"styles-module__commentFileInfo___OFIhR",commentFileName:"styles-module__commentFileName___NUoII",commentFileSize:"styles-module__commentFileSize___sokU8",filePreviewOverlay:"styles-module__filePreviewOverlay___5RxYd",filePreviewModal:"styles-module__filePreviewModal___MGJLW",filePreviewHeader:"styles-module__filePreviewHeader___E9SWJ",filePreviewName:"styles-module__filePreviewName___z8t-L",filePreviewActions:"styles-module__filePreviewActions___weizo",filePreviewOpen:"styles-module__filePreviewOpen___JpaEs",filePreviewClose:"styles-module__filePreviewClose___TFcbr",filePreviewBody:"styles-module__filePreviewBody___gwg1S",filePreviewIframe:"styles-module__filePreviewIframe___OQ3Oo",filePreviewFallback:"styles-module__filePreviewFallback___U1rB2",filePreviewFallbackIcon:"styles-module__filePreviewFallbackIcon___0--41",lightbox:"styles-module__lightbox___8CDdt",lightboxClose:"styles-module__lightboxClose___VGfjh",historyFilter:"styles-module__historyFilter___IoWL4",historyDateWrap:"styles-module__historyDateWrap___reBzb",filterChipClear:"styles-module__filterChipClear___Sx4c3",datePopover:"styles-module__datePopover___AYzLr",dateInput:"styles-module__dateInput___Ofr3Y",historyItem:"styles-module__historyItem___G4kbt",historyDot:"styles-module__historyDot___0z439",historyDot_created:"styles-module__historyDot_created___G-qjM",historyDot_status_changed:"styles-module__historyDot_status_changed___jsanw",historyDot_comment_added:"styles-module__historyDot_comment_added___5-lrl",historyBody:"styles-module__historyBody___i-k1p",historyStatusChange:"styles-module__historyStatusChange___1l8GK",historyStatusBadge:"styles-module__historyStatusBadge___H72NB",status_todo:"styles-module__status_todo___CsneX",status_in_progress:"styles-module__status_in_progress___7-R87",status_done:"styles-module__status_done___0cBE-",historyArrow:"styles-module__historyArrow___gcXso",historyLabel:"styles-module__historyLabel___rfxYN",historyComment:"styles-module__historyComment___U6jkL",historyCommentAuthor:"styles-module__historyCommentAuthor___waQnr",historyCommentContent:"styles-module__historyCommentContent___7hQJ7",historyFooter:"styles-module__historyFooter___RnBO3",historyTime:"styles-module__historyTime___bWpM4",historyRef:"styles-module__historyRef___X8lNJ"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-inbox-panel-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-inbox-panel-styles",document.head.appendChild(e)),e.textContent=Yr}var d=qr;var a=require("react/jsx-runtime");function Jr({src:e,onClose:n}){return(0,E.useEffect)(()=>{let t=o=>{o.key==="Escape"&&n()};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[n]),(0,a.jsxs)("div",{className:d.lightbox,onClick:n,"data-impakers-debug":"",children:[(0,a.jsx)("img",{src:e,alt:"enlarged",onClick:t=>t.stopPropagation()}),(0,a.jsx)("button",{className:d.lightboxClose,onClick:n,type:"button",children:"\xD7"})]})}function Gr(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(0)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}function oo(e){return e.includes("pdf")?"PDF":e.includes("spreadsheet")||e.includes("excel")||e.includes("csv")?"XLS":e.includes("presentation")||e.includes("powerpoint")?"PPT":e.includes("document")||e.includes("word")?"DOC":e.includes("zip")||e.includes("compressed")||e.includes("archive")?"ZIP":e.includes("video")?"VID":e.includes("audio")?"AUD":"FILE"}function es(e){let n=e.match(/\/d\/([^/]+)/);return n?n[1]:null}function ns(e,n,t){let o=/\.(pptx?|xlsx?|docx?)$/i.test(e)||n.includes("presentation")||n.includes("powerpoint")||n.includes("spreadsheet")||n.includes("excel")||n.includes("document")||n.includes("word")||n.includes("msword");if(t==="google_drive"){let r=es(e);if(r)return`https://drive.google.com/file/d/${r}/preview`}return o&&t!=="google_drive"?`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(e)}`:n.includes("pdf")?e:null}function ts({fileUrl:e,fileName:n,fileType:t,fileSource:o,onClose:r}){(0,E.useEffect)(()=>{let l=i=>{i.key==="Escape"&&r()};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[r]);let s=ns(e,t,o);return(0,a.jsx)("div",{className:d.filePreviewOverlay,onClick:r,"data-impakers-debug":"",children:(0,a.jsxs)("div",{className:d.filePreviewModal,onClick:l=>l.stopPropagation(),children:[(0,a.jsxs)("div",{className:d.filePreviewHeader,children:[(0,a.jsx)("span",{className:d.filePreviewName,children:n}),(0,a.jsxs)("div",{className:d.filePreviewActions,children:[(0,a.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:d.filePreviewOpen,children:[(0,a.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"14",height:"14",children:[(0,a.jsx)("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"}),(0,a.jsx)("polyline",{points:"15 3 21 3 21 9"}),(0,a.jsx)("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]}),"\uC5F4\uAE30"]}),(0,a.jsx)("button",{className:d.filePreviewClose,onClick:r,type:"button",children:"\xD7"})]})]}),(0,a.jsx)("div",{className:d.filePreviewBody,children:s?(0,a.jsx)("iframe",{src:s,className:d.filePreviewIframe,title:n}):(0,a.jsxs)("div",{className:d.filePreviewFallback,children:[(0,a.jsx)("span",{className:d.filePreviewFallbackIcon,children:oo(t)}),(0,a.jsx)("span",{children:"\uBBF8\uB9AC\uBCF4\uAE30\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uD30C\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4"}),(0,a.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:"\uD30C\uC77C \uC5F4\uAE30"})]})})]})})}function Xe(e){let n=new Date(e),t=Date.now()-n.getTime(),o=_=>String(_).padStart(2,"0"),r=`${n.getMonth()+1}/${n.getDate()} ${o(n.getHours())}:${o(n.getMinutes())}`,s=Math.floor(t/6e4);if(s<1)return`${r} (\uBC29\uAE08)`;if(s<60)return`${r} (${s}\uBD84 \uC804)`;let l=Math.floor(s/60);if(l<24)return`${r} (${l}\uC2DC\uAC04 \uC804)`;let i=Math.floor(l/24);return`${r} (${i}\uC77C \uC804)`}function et(e){return e.slice(0,1).toUpperCase()}function ro({pageItems:e,allItems:n,currentPath:t,serviceName:o,endpoint:r,currentUserName:s,currentUserId:l,onClose:i,onHistoryViewed:_,newNotiCount:C}){let[h,v]=(0,E.useState)("page"),[w,H]=(0,E.useState)("todo"),[M,D]=(0,E.useState)(""),[K,ce]=(0,E.useState)(!1),ge=(0,E.useRef)(null),[se,Y]=(0,E.useState)([]),[ee,ue]=(0,E.useState)(!1),[x,P]=(0,E.useState)(!1),[N,be]=(0,E.useState)(null),[q,me]=(0,E.useState)([]),[xe,he]=(0,E.useState)(!1),[_e,ie]=(0,E.useState)(""),[g,T]=(0,E.useState)(null),[L,ae]=(0,E.useState)(null),ne=(0,E.useRef)(null),Le=(0,E.useRef)(null),Ne=(0,E.useCallback)(()=>{if(N){be(null),me([]),ie("");return}P(!0),setTimeout(()=>i(),150)},[i,N]),j=(0,E.useCallback)(async m=>{be(m);let W=Ue(Fe(m.id));me(W||[]),he(!W)},[r]);(0,E.useEffect)(()=>{if(!N)return;let m=Fe(N.id),W=Ue(m);W&&(me(W),he(!1));let je=pn(m,Ie=>{me(Ie),he(!1)});return Mn(r,N.id,{staleWhileRevalidate:!0}).then(Ie=>{me(Ie),he(!1)}).catch(()=>{he(!1)}),je},[N,r]),(0,E.useEffect)(()=>{Le.current?.scrollIntoView({behavior:"smooth"})},[q.length]),(0,E.useEffect)(()=>{if(!K)return;let m=W=>{ge.current&&!ge.current.contains(W.target)&&ce(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[K]),(0,E.useEffect)(()=>{N&&ne.current?.focus()},[N]);let U=(0,E.useCallback)(async()=>{if(!_e.trim()||!N)return;let m=_e.trim();ie("");try{await An(r,N.id,m,s,l)}catch(W){console.error("[@impakers/debug] \uCF54\uBA58\uD2B8 \uC804\uC1A1 \uC2E4\uD328:",W)}},[_e,N,r,s,l]),$e=(0,E.useCallback)(m=>{m.stopPropagation(),!m.nativeEvent.isComposing&&(m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),U()),m.key==="Escape"&&Ne())},[U,Ne]),Te=h==="page"?e:h==="all"?n:[],bn=Te.filter(m=>m.status===w),Ye=Te.filter(m=>m.status==="todo").length,De=Te.filter(m=>m.status==="in_progress").length,qe=Te.filter(m=>m.status==="done").length;return(0,E.useEffect)(()=>{h==="history"&&(ue(!0),Pn(r,{date:M||void 0,limit:200}).then(Y).catch(()=>Y([])).finally(()=>ue(!1)))},[h,M,r]),typeof document>"u"?null:(0,to.createPortal)((0,a.jsxs)("div",{"data-impakers-debug":"",children:[(0,a.jsx)("div",{className:d.backdrop,onClick:Ne}),(0,a.jsxs)("div",{className:`${d.panel} ${x?d.exiting:""}`,"data-impakers-debug":"",children:[(0,a.jsxs)("div",{className:d.header,children:[(0,a.jsxs)("div",{className:d.headerLeft,children:[N&&(0,a.jsx)("button",{className:d.backBtn,onClick:Ne,type:"button",children:(0,a.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"16",height:"16",children:(0,a.jsx)("polyline",{points:"15 18 9 12 15 6"})})}),(0,a.jsx)("span",{className:d.headerTitle,children:N?"\uD53C\uB4DC\uBC31 \uC0C1\uC138":o||"Feedback"})]}),(0,a.jsx)("button",{className:d.closeBtn,onClick:()=>{P(!0),setTimeout(()=>i(),150)},type:"button",children:(0,a.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),N?(0,a.jsxs)("div",{className:d.detailView,children:[(0,a.jsxs)("div",{className:d.detailHeader,children:[(0,a.jsx)("div",{className:d.cardAvatar,children:et(N.authorName)}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:d.cardMeta,children:[(0,a.jsx)("span",{className:d.cardAuthor,children:N.authorName}),(0,a.jsx)("span",{className:d.cardTime,children:Xe(N.createdAt)})]}),(0,a.jsx)("div",{className:d.detailTitle,children:N.title.replace(/^\[피드백\]\s*/,"")})]})]}),N.screenshot&&(0,a.jsx)("div",{className:d.detailScreenshot,children:(0,a.jsx)("img",{src:N.screenshot,alt:"screenshot"})}),(0,a.jsxs)("div",{className:d.commentsList,children:[xe&&(0,a.jsx)($n,{message:"\uB313\uAE00 \uB85C\uB529 \uC911..."}),!xe&&q.length===0&&(0,a.jsx)("div",{className:d.noComments,children:"\uC544\uC9C1 \uB313\uAE00\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"}),q.map(m=>(0,a.jsxs)("div",{className:d.commentItem,children:[(0,a.jsx)("div",{className:d.commentAvatar,style:{width:22,height:22,fontSize:10},children:et(m.authorName)}),(0,a.jsxs)("div",{className:d.commentBody,children:[(0,a.jsxs)("div",{className:d.commentMeta,children:[(0,a.jsx)("span",{className:d.commentAuthorName,children:m.authorName}),(0,a.jsx)("span",{className:d.commentTime,children:Xe(m.createdAt)})]}),m.content&&(0,a.jsx)("div",{className:d.commentContent,children:m.content}),m.imageUrl&&(0,a.jsx)("div",{className:d.commentImage,onClick:W=>{W.stopPropagation(),T(m.imageUrl)},children:(0,a.jsx)("img",{src:m.imageUrl,alt:"attachment"})}),m.fileUrl&&(0,a.jsxs)("div",{className:d.commentFileCard,onClick:W=>{W.stopPropagation(),ae({url:m.fileUrl,name:m.fileName||"\uD30C\uC77C",type:m.fileType||"",source:m.fileSource})},children:[(0,a.jsx)("span",{className:d.commentFileIcon,children:oo(m.fileType||"")}),(0,a.jsxs)("span",{className:d.commentFileInfo,children:[(0,a.jsx)("span",{className:d.commentFileName,children:m.fileName||"\uD30C\uC77C"}),m.fileSize!=null&&(0,a.jsx)("span",{className:d.commentFileSize,children:Gr(m.fileSize)})]})]})]})]},m.id)),(0,a.jsx)("div",{ref:Le})]}),(0,a.jsxs)("div",{className:d.replyBox,children:[(0,a.jsx)("textarea",{ref:ne,className:d.replyInput,placeholder:"Reply...",value:_e,onChange:m=>{ie(m.target.value);let W=m.target;W.style.height="auto",W.style.height=`${Math.min(W.scrollHeight,120)}px`},onKeyDown:$e,rows:2}),(0,a.jsx)("button",{className:`${d.sendBtn} ${_e.trim()?d.active:""}`,onClick:U,disabled:!_e.trim(),type:"button",children:(0,a.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"16",height:"16",children:[(0,a.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,a.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})})]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:d.tabs,children:[(0,a.jsxs)("button",{className:`${d.tab} ${h==="page"?d.active:""}`,onClick:()=>v("page"),type:"button",children:["This Page",e.length>0&&(0,a.jsx)("span",{className:d.tabBadge,children:e.length})]}),(0,a.jsxs)("button",{className:`${d.tab} ${h==="all"?d.active:""}`,onClick:()=>v("all"),type:"button",children:["All",n.length>0&&(0,a.jsx)("span",{className:d.tabBadge,children:n.length})]}),(0,a.jsxs)("button",{className:`${d.tab} ${h==="history"?d.active:""}`,onClick:()=>{v("history"),_?.()},type:"button",children:["History",C&&C>0?(0,a.jsx)("span",{className:d.tabBadge,children:C}):null]})]}),h==="history"?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:d.historyFilter,children:[(0,a.jsxs)("div",{className:d.historyDateWrap,ref:ge,children:[(0,a.jsxs)("button",{className:`${d.filterChip} ${M?d.active:""}`,onClick:()=>ce(m=>!m),type:"button",children:[(0,a.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"13",height:"13",children:[(0,a.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,a.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,a.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,a.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),M?`${new Date(M).getMonth()+1}/${new Date(M).getDate()}`:"\uB0A0\uC9DC"]}),K&&(0,a.jsx)("div",{className:d.datePopover,children:(0,a.jsx)("input",{type:"date",value:M,onChange:m=>{D(m.target.value),ce(!1)},className:d.dateInput,autoFocus:!0})})]}),M&&(0,a.jsx)("button",{className:d.filterChipClear,onClick:()=>D(""),type:"button",title:"\uD544\uD130 \uCD08\uAE30\uD654",children:"\xD7"})]}),(0,a.jsx)("div",{className:d.content,children:ee?(0,a.jsx)("div",{className:d.empty,children:"\uB85C\uB529 \uC911..."}):se.length===0?(0,a.jsxs)("div",{className:d.empty,children:[(0,a.jsx)("div",{className:d.emptyIcon,children:(0,a.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("polyline",{points:"12 6 12 12 16 14"})]})}),"\uD788\uC2A4\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4"]}):se.map((m,W)=>(0,a.jsxs)("div",{className:d.historyItem,children:[(0,a.jsx)("div",{className:`${d.historyDot} ${d[`historyDot_${m.action}`]}`}),(0,a.jsxs)("div",{className:d.historyBody,children:[m.action==="status_changed"&&(0,a.jsxs)("div",{className:d.historyStatusChange,children:[(0,a.jsx)("span",{className:`${d.historyStatusBadge} ${d[`status_${m.fromStatus}`]}`,children:m.fromStatus==="todo"?"\uB300\uAE30":m.fromStatus==="in_progress"?"\uC9C4\uD589\uC911":"\uC644\uB8CC"}),(0,a.jsx)("span",{className:d.historyArrow,children:"\u2192"}),(0,a.jsx)("span",{className:`${d.historyStatusBadge} ${d[`status_${m.toStatus}`]}`,children:m.toStatus==="todo"?"\uB300\uAE30":m.toStatus==="in_progress"?"\uC9C4\uD589\uC911":"\uC644\uB8CC"})]}),m.action==="created"&&(0,a.jsxs)("div",{className:d.historyStatusChange,children:[(0,a.jsx)("span",{className:d.historyLabel,children:"\uC0DD\uC131"}),(0,a.jsx)("span",{className:`${d.historyStatusBadge} ${d.status_todo}`,children:"\uB300\uAE30"})]}),m.action==="comment_added"&&(0,a.jsxs)("div",{className:d.historyComment,children:[(0,a.jsx)("span",{className:d.historyCommentAuthor,children:m.actorName||"\uC775\uBA85"}),m.metadata?.content&&(0,a.jsx)("span",{className:d.historyCommentContent,children:String(m.metadata.content).slice(0,100)})]}),(0,a.jsxs)("div",{className:d.historyFooter,children:[(0,a.jsx)("span",{className:d.historyTime,children:Xe(m.createdAt)}),(0,a.jsx)("span",{className:d.historyRef,children:(m.taskTitle||"").replace(/^\[피드백\]\s*/,"")})]})]})]},`${m.id}-${m.action}-${W}`))})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:d.statusFilter,children:[(0,a.jsxs)("button",{className:`${d.filterChip} ${w==="todo"?d.active:""}`,onClick:()=>H("todo"),type:"button",children:["\uC9C4\uD589\uC804",Ye>0&&(0,a.jsx)("span",{className:d.filterCount,children:Ye})]}),(0,a.jsxs)("button",{className:`${d.filterChip} ${w==="in_progress"?d.active:""}`,onClick:()=>H("in_progress"),type:"button",children:["\uC9C4\uD589\uC911",De>0&&(0,a.jsx)("span",{className:d.filterCount,children:De})]}),(0,a.jsxs)("button",{className:`${d.filterChip} ${w==="done"?d.active:""}`,onClick:()=>H("done"),type:"button",children:["\uC644\uB8CC",qe>0&&(0,a.jsx)("span",{className:d.filterCount,children:qe})]})]}),(0,a.jsx)("div",{className:d.content,children:bn.length===0?(0,a.jsxs)("div",{className:d.empty,children:[(0,a.jsx)("div",{className:d.emptyIcon,children:(0,a.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"})})}),h==="page"?"\uC774 \uD398\uC774\uC9C0\uC5D0 \uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4":"\uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"]}):bn.map(m=>(0,a.jsxs)("div",{className:`${d.card} ${m.status==="done"?d.cardDone:""}`,onClick:()=>j(m),children:[(0,a.jsxs)("div",{className:d.cardHeader,children:[(0,a.jsx)("div",{className:d.cardAvatar,children:et(m.authorName)}),(0,a.jsx)("div",{className:d.cardInfo,children:(0,a.jsxs)("div",{className:d.cardMeta,children:[(0,a.jsx)("span",{className:d.cardAuthor,children:m.authorName}),(0,a.jsx)("span",{className:d.cardTime,children:Xe(m.createdAt)})]})})]}),(0,a.jsx)("div",{className:d.cardTitle,children:m.title.replace(/^\[피드백\]\s*/,"")}),m.screenshot&&(0,a.jsx)("div",{className:d.cardScreenshot,children:(0,a.jsx)("img",{src:m.screenshot,alt:"screenshot"})}),h==="all"&&m.feedbackUrl&&(0,a.jsxs)("div",{className:d.cardRoute,onClick:W=>{W.stopPropagation(),window.location.href=m.feedbackUrl},title:"\uD398\uC774\uC9C0\uB85C \uC774\uB3D9",children:[(0,a.jsx)("span",{className:d.cardRoutePath,children:m.feedbackUrl}),(0,a.jsxs)("svg",{className:d.cardRouteIcon,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"12",height:"12",children:[(0,a.jsx)("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"}),(0,a.jsx)("polyline",{points:"15 3 21 3 21 9"}),(0,a.jsx)("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]})]}),(m.startedAt||m.completedAt)&&(0,a.jsxs)("div",{className:d.cardStatusTime,children:[m.startedAt&&m.status!=="todo"&&(0,a.jsxs)("span",{children:["\uC9C4\uD589 \uC2DC\uC791: ",Xe(m.startedAt)]}),m.completedAt&&m.status==="done"&&(0,a.jsxs)("span",{children:["\uC644\uB8CC: ",Xe(m.completedAt)]})]}),(0,a.jsxs)("div",{className:d.cardFooter,children:[(0,a.jsx)("span",{className:d.cardReplyDot}),(0,a.jsxs)("span",{className:d.cardReplyCount,children:[m.commentCount," ",m.commentCount===1?"Reply":"Replies"]})]})]},m.id))})]})]})]}),g&&(0,a.jsx)(Jr,{src:g,onClose:()=>T(null)}),L&&(0,a.jsx)(ts,{fileUrl:L.url,fileName:L.name,fileType:L.type,fileSource:L.source,onClose:()=>ae(null)})]}),document.body)}var yn=require("react"),co=require("react-dom");var so="impakers-debug-settings",nt={markerColor:"#6366f1",markersVisible:!0,hideDoneMarkers:!1,showOnlyMine:!1};function io(){try{let e=localStorage.getItem(so);return e?{...nt,...JSON.parse(e)}:{...nt}}catch{return{...nt}}}function ao(e){try{localStorage.setItem(so,JSON.stringify(e))}catch{}}var lo=[{id:"indigo",label:"\uC778\uB514\uACE0",value:"#6366f1"},{id:"blue",label:"\uBE14\uB8E8",value:"#3b82f6"},{id:"red",label:"\uB808\uB4DC",value:"#ef4444"},{id:"green",label:"\uADF8\uB9B0",value:"#16a34a"},{id:"orange",label:"\uC624\uB80C\uC9C0",value:"#f97316"},{id:"pink",label:"\uD551\uD06C",value:"#ec4899"}];var os=`@keyframes styles-module__panelIn___SmRh6 {
|
|
2383
|
+
}`,ss={backdrop:"styles-module__backdrop___zYhcU",fadeIn:"styles-module__fadeIn___j09Ts",panel:"styles-module__panel___6YS8k",slideIn:"styles-module__slideIn___0o0s-",exiting:"styles-module__exiting___6A-Ag",slideOut:"styles-module__slideOut___nKrBX",header:"styles-module__header___fBbGz",headerLeft:"styles-module__headerLeft___e0YLf",headerTitle:"styles-module__headerTitle___oEPJa",closeBtn:"styles-module__closeBtn___-H8ra",tabs:"styles-module__tabs___nfuX7",tab:"styles-module__tab___Hc-jn",active:"styles-module__active___ZQzA5",tabBadge:"styles-module__tabBadge___IdFDQ",statusFilter:"styles-module__statusFilter___qtBXs",filterChip:"styles-module__filterChip___l2s74",filterCount:"styles-module__filterCount___KukiQ",content:"styles-module__content___L2lRw",card:"styles-module__card___F8qwd",cardHeader:"styles-module__cardHeader___QOVGR",cardAvatar:"styles-module__cardAvatar___FfKmW",cardInfo:"styles-module__cardInfo___BmrdF",cardMeta:"styles-module__cardMeta___7p9KD",cardAuthor:"styles-module__cardAuthor___YvnuR",cardTime:"styles-module__cardTime___N1Png",cardActions:"styles-module__cardActions___7QF72",cardAction:"styles-module__cardAction___t4b3V",cardTitle:"styles-module__cardTitle___xJxDN",cardScreenshot:"styles-module__cardScreenshot___I5-QL",cardRoute:"styles-module__cardRoute___U4gB6",cardRoutePath:"styles-module__cardRoutePath___zP-fh",cardRouteIcon:"styles-module__cardRouteIcon___SBqGj",cardRouteName:"styles-module__cardRouteName___BDH75",cardStatusTime:"styles-module__cardStatusTime___S62W1",cardFooter:"styles-module__cardFooter___wfPa4",cardReplyDot:"styles-module__cardReplyDot___YnqzI",cardReplyCount:"styles-module__cardReplyCount___O1khL",statusDot:"styles-module__statusDot___l4IHG",todo:"styles-module__todo___894P6",inProgress:"styles-module__inProgress___IZ1mJ",done:"styles-module__done___n4cWP",empty:"styles-module__empty___IADrw",emptyIcon:"styles-module__emptyIcon___1x5wT",checkBtn:"styles-module__checkBtn___KjHxm",checked:"styles-module__checked___8pype",cardDone:"styles-module__cardDone___-m4w-",backBtn:"styles-module__backBtn___PTIAl",detailView:"styles-module__detailView___36cvH",detailHeader:"styles-module__detailHeader___Hepgq",detailTitle:"styles-module__detailTitle___7TvrX",detailScreenshot:"styles-module__detailScreenshot___UPF0f",commentsList:"styles-module__commentsList___5Uigg",commentItem:"styles-module__commentItem___5u78u",commentAvatar:"styles-module__commentAvatar___OatKg",commentBody:"styles-module__commentBody___gmv1J",commentMeta:"styles-module__commentMeta___JNJa3",commentAuthorName:"styles-module__commentAuthorName___XNVRk",commentTime:"styles-module__commentTime___CokGf",commentContent:"styles-module__commentContent___yMiLR",loadingComments:"styles-module__loadingComments___zpATD",noComments:"styles-module__noComments___kvl90",replyBox:"styles-module__replyBox___FO-XS",replyInput:"styles-module__replyInput___k8C9e",sendBtn:"styles-module__sendBtn___pBzWa",commentImage:"styles-module__commentImage___LuH8X",commentFileCard:"styles-module__commentFileCard___XE44y",commentFileIcon:"styles-module__commentFileIcon___G58-y",commentFileInfo:"styles-module__commentFileInfo___OFIhR",commentFileName:"styles-module__commentFileName___NUoII",commentFileSize:"styles-module__commentFileSize___sokU8",filePreviewOverlay:"styles-module__filePreviewOverlay___5RxYd",filePreviewModal:"styles-module__filePreviewModal___MGJLW",filePreviewHeader:"styles-module__filePreviewHeader___E9SWJ",filePreviewName:"styles-module__filePreviewName___z8t-L",filePreviewActions:"styles-module__filePreviewActions___weizo",filePreviewOpen:"styles-module__filePreviewOpen___JpaEs",filePreviewClose:"styles-module__filePreviewClose___TFcbr",filePreviewBody:"styles-module__filePreviewBody___gwg1S",filePreviewIframe:"styles-module__filePreviewIframe___OQ3Oo",filePreviewFallback:"styles-module__filePreviewFallback___U1rB2",filePreviewFallbackIcon:"styles-module__filePreviewFallbackIcon___0--41",lightbox:"styles-module__lightbox___8CDdt",lightboxClose:"styles-module__lightboxClose___VGfjh",historyFilter:"styles-module__historyFilter___IoWL4",historyDateWrap:"styles-module__historyDateWrap___reBzb",filterChipClear:"styles-module__filterChipClear___Sx4c3",datePopover:"styles-module__datePopover___AYzLr",dateInput:"styles-module__dateInput___Ofr3Y",historyItem:"styles-module__historyItem___G4kbt",historyDot:"styles-module__historyDot___0z439",historyDot_created:"styles-module__historyDot_created___G-qjM",historyDot_status_changed:"styles-module__historyDot_status_changed___jsanw",historyDot_comment_added:"styles-module__historyDot_comment_added___5-lrl",historyBody:"styles-module__historyBody___i-k1p",historyStatusChange:"styles-module__historyStatusChange___1l8GK",historyStatusBadge:"styles-module__historyStatusBadge___H72NB",status_todo:"styles-module__status_todo___CsneX",status_in_progress:"styles-module__status_in_progress___7-R87",status_done:"styles-module__status_done___0cBE-",historyArrow:"styles-module__historyArrow___gcXso",historyLabel:"styles-module__historyLabel___rfxYN",historyComment:"styles-module__historyComment___U6jkL",historyCommentAuthor:"styles-module__historyCommentAuthor___waQnr",historyCommentContent:"styles-module__historyCommentContent___7hQJ7",historyFooter:"styles-module__historyFooter___RnBO3",historyTime:"styles-module__historyTime___bWpM4",historyRef:"styles-module__historyRef___X8lNJ"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-inbox-panel-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-inbox-panel-styles",document.head.appendChild(e)),e.textContent=rs}var d=ss;var l=require("react/jsx-runtime");function is({src:e,onClose:n}){return(0,D.useEffect)(()=>{let t=o=>{o.key==="Escape"&&n()};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[n]),(0,l.jsxs)("div",{className:d.lightbox,onClick:n,"data-impakers-debug":"",children:[(0,l.jsx)("img",{src:e,alt:"enlarged",onClick:t=>t.stopPropagation()}),(0,l.jsx)("button",{className:d.lightboxClose,onClick:n,type:"button",children:"\xD7"})]})}function as(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(0)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}function ao(e){return e.includes("pdf")?"PDF":e.includes("spreadsheet")||e.includes("excel")||e.includes("csv")?"XLS":e.includes("presentation")||e.includes("powerpoint")?"PPT":e.includes("document")||e.includes("word")?"DOC":e.includes("zip")||e.includes("compressed")||e.includes("archive")?"ZIP":e.includes("video")?"VID":e.includes("audio")?"AUD":"FILE"}function ls(e){let n=e.match(/\/d\/([^/]+)/);return n?n[1]:null}function ds(e,n,t){let o=/\.(pptx?|xlsx?|docx?)$/i.test(e)||n.includes("presentation")||n.includes("powerpoint")||n.includes("spreadsheet")||n.includes("excel")||n.includes("document")||n.includes("word")||n.includes("msword");if(t==="google_drive"){let r=ls(e);if(r)return`https://drive.google.com/file/d/${r}/preview`}return o&&t!=="google_drive"?`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(e)}`:n.includes("pdf")?e:null}function cs({fileUrl:e,fileName:n,fileType:t,fileSource:o,onClose:r}){(0,D.useEffect)(()=>{let a=i=>{i.key==="Escape"&&r()};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[r]);let s=ds(e,t,o);return(0,l.jsx)("div",{className:d.filePreviewOverlay,onClick:r,"data-impakers-debug":"",children:(0,l.jsxs)("div",{className:d.filePreviewModal,onClick:a=>a.stopPropagation(),children:[(0,l.jsxs)("div",{className:d.filePreviewHeader,children:[(0,l.jsx)("span",{className:d.filePreviewName,children:n}),(0,l.jsxs)("div",{className:d.filePreviewActions,children:[(0,l.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:d.filePreviewOpen,children:[(0,l.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"14",height:"14",children:[(0,l.jsx)("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"}),(0,l.jsx)("polyline",{points:"15 3 21 3 21 9"}),(0,l.jsx)("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]}),"\uC5F4\uAE30"]}),(0,l.jsx)("button",{className:d.filePreviewClose,onClick:r,type:"button",children:"\xD7"})]})]}),(0,l.jsx)("div",{className:d.filePreviewBody,children:s?(0,l.jsx)("iframe",{src:s,className:d.filePreviewIframe,title:n}):(0,l.jsxs)("div",{className:d.filePreviewFallback,children:[(0,l.jsx)("span",{className:d.filePreviewFallbackIcon,children:ao(t)}),(0,l.jsx)("span",{children:"\uBBF8\uB9AC\uBCF4\uAE30\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uD30C\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4"}),(0,l.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:"\uD30C\uC77C \uC5F4\uAE30"})]})})]})})}function Qe(e){let n=new Date(e),t=Date.now()-n.getTime(),o=_=>String(_).padStart(2,"0"),r=`${n.getMonth()+1}/${n.getDate()} ${o(n.getHours())}:${o(n.getMinutes())}`,s=Math.floor(t/6e4);if(s<1)return`${r} (\uBC29\uAE08)`;if(s<60)return`${r} (${s}\uBD84 \uC804)`;let a=Math.floor(s/60);if(a<24)return`${r} (${a}\uC2DC\uAC04 \uC804)`;let i=Math.floor(a/24);return`${r} (${i}\uC77C \uC804)`}function rt(e){return e.slice(0,1).toUpperCase()}function lo({pageItems:e,allItems:n,currentPath:t,serviceName:o,endpoint:r,currentUserName:s,currentUserId:a,onClose:i,onHistoryViewed:_,newNotiCount:k}){let[y,v]=(0,D.useState)("page"),[C,A]=(0,D.useState)("todo"),[I,H]=(0,D.useState)(""),[K,ae]=(0,D.useState)(!1),_e=(0,D.useRef)(null),[re,R]=(0,D.useState)([]),[N,q]=(0,D.useState)(!1),[b,P]=(0,D.useState)(!1),[E,pe]=(0,D.useState)(null),[T,Y]=(0,D.useState)([]),[le,be]=(0,D.useState)(!1),[Te,xe]=(0,D.useState)(null),[de,g]=(0,D.useState)(null),h=(0,D.useRef)(null),Z=(0,D.useCallback)(()=>{if(E){pe(null),Y([]);return}P(!0),setTimeout(()=>i(),150)},[i,E]),ce=(0,D.useCallback)(async m=>{pe(m);let J=Ye(De(m.id));Y(J||[]),be(!J)},[r]);(0,D.useEffect)(()=>{if(!E)return;let m=De(E.id),J=Ye(m);J&&(Y(J),be(!1));let $e=pn(m,Se=>{Y(Se),be(!1)});return An(r,E.id,{staleWhileRevalidate:!0}).then(Se=>{Y(Se),be(!1)}).catch(()=>{be(!1)}),$e},[E,r]),(0,D.useEffect)(()=>{h.current?.scrollIntoView({behavior:"smooth"})},[T.length]),(0,D.useEffect)(()=>{if(!K)return;let m=J=>{_e.current&&!_e.current.contains(J.target)&&ae(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[K]);let Pe=(0,D.useCallback)(async(m,J,$e)=>{if(E)try{let Se;if($e)try{Se=await Hn(r,$e,"comment",E.id)}catch(bn){console.error("[@impakers/debug] \uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328:",bn)}await $n(r,E.id,m,s,a,J,Se)}catch(Se){console.error("[@impakers/debug] \uCF54\uBA58\uD2B8 \uC804\uC1A1 \uC2E4\uD328:",Se)}},[E,r,s,a]),Ie=y==="page"?e:y==="all"?n:[],Ae=Ie.filter(m=>m.status===C),M=Ie.filter(m=>m.status==="todo").length,Ce=Ie.filter(m=>m.status==="in_progress").length,we=Ie.filter(m=>m.status==="done").length;return(0,D.useEffect)(()=>{y==="history"&&(q(!0),Bn(r,{date:I||void 0,limit:200}).then(R).catch(()=>R([])).finally(()=>q(!1)))},[y,I,r]),typeof document>"u"?null:(0,io.createPortal)((0,l.jsxs)("div",{"data-impakers-debug":"",children:[(0,l.jsx)("div",{className:d.backdrop,onClick:Z}),(0,l.jsxs)("div",{className:`${d.panel} ${b?d.exiting:""}`,"data-impakers-debug":"",children:[(0,l.jsxs)("div",{className:d.header,children:[(0,l.jsxs)("div",{className:d.headerLeft,children:[E&&(0,l.jsx)("button",{className:d.backBtn,onClick:Z,type:"button",children:(0,l.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"16",height:"16",children:(0,l.jsx)("polyline",{points:"15 18 9 12 15 6"})})}),(0,l.jsx)("span",{className:d.headerTitle,children:E?"\uD53C\uB4DC\uBC31 \uC0C1\uC138":o||"Feedback"})]}),(0,l.jsx)("button",{className:d.closeBtn,onClick:()=>{P(!0),setTimeout(()=>i(),150)},type:"button",children:(0,l.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,l.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),E?(0,l.jsxs)("div",{className:d.detailView,children:[(0,l.jsxs)("div",{className:d.detailHeader,children:[(0,l.jsx)("div",{className:d.cardAvatar,children:rt(E.authorName)}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:d.cardMeta,children:[(0,l.jsx)("span",{className:d.cardAuthor,children:E.authorName}),(0,l.jsx)("span",{className:d.cardTime,children:Qe(E.createdAt)})]}),(0,l.jsx)("div",{className:d.detailTitle,children:E.title.replace(/^\[피드백\]\s*/,"")})]})]}),E.screenshot&&(0,l.jsx)("div",{className:d.detailScreenshot,children:(0,l.jsx)("img",{src:E.screenshot,alt:"screenshot"})}),(0,l.jsxs)("div",{className:d.commentsList,children:[le&&(0,l.jsx)(Dn,{message:"\uB313\uAE00 \uB85C\uB529 \uC911..."}),!le&&T.length===0&&(0,l.jsx)("div",{className:d.noComments,children:"\uC544\uC9C1 \uB313\uAE00\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"}),T.map(m=>(0,l.jsxs)("div",{className:d.commentItem,children:[(0,l.jsx)("div",{className:d.commentAvatar,style:{width:22,height:22,fontSize:10},children:rt(m.authorName)}),(0,l.jsxs)("div",{className:d.commentBody,children:[(0,l.jsxs)("div",{className:d.commentMeta,children:[(0,l.jsx)("span",{className:d.commentAuthorName,children:m.authorName}),(0,l.jsx)("span",{className:d.commentTime,children:Qe(m.createdAt)})]}),m.content&&(0,l.jsx)("div",{className:d.commentContent,children:m.content}),m.imageUrl&&(0,l.jsx)("div",{className:d.commentImage,onClick:J=>{J.stopPropagation(),xe(m.imageUrl)},children:(0,l.jsx)("img",{src:m.imageUrl,alt:"attachment"})}),m.fileUrl&&(0,l.jsxs)("div",{className:d.commentFileCard,onClick:J=>{J.stopPropagation(),g({url:m.fileUrl,name:m.fileName||"\uD30C\uC77C",type:m.fileType||"",source:m.fileSource})},children:[(0,l.jsx)("span",{className:d.commentFileIcon,children:ao(m.fileType||"")}),(0,l.jsxs)("span",{className:d.commentFileInfo,children:[(0,l.jsx)("span",{className:d.commentFileName,children:m.fileName||"\uD30C\uC77C"}),m.fileSize!=null&&(0,l.jsx)("span",{className:d.commentFileSize,children:as(m.fileSize)})]})]})]})]},m.id)),(0,l.jsx)("div",{ref:h})]}),(0,l.jsx)(so,{onSend:Pe,onEscape:Z,autoFocus:!0})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:d.tabs,children:[(0,l.jsxs)("button",{className:`${d.tab} ${y==="page"?d.active:""}`,onClick:()=>v("page"),type:"button",children:["This Page",e.length>0&&(0,l.jsx)("span",{className:d.tabBadge,children:e.length})]}),(0,l.jsxs)("button",{className:`${d.tab} ${y==="all"?d.active:""}`,onClick:()=>v("all"),type:"button",children:["All",n.length>0&&(0,l.jsx)("span",{className:d.tabBadge,children:n.length})]}),(0,l.jsxs)("button",{className:`${d.tab} ${y==="history"?d.active:""}`,onClick:()=>{v("history"),_?.()},type:"button",children:["History",k&&k>0?(0,l.jsx)("span",{className:d.tabBadge,children:k}):null]})]}),y==="history"?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:d.historyFilter,children:[(0,l.jsxs)("div",{className:d.historyDateWrap,ref:_e,children:[(0,l.jsxs)("button",{className:`${d.filterChip} ${I?d.active:""}`,onClick:()=>ae(m=>!m),type:"button",children:[(0,l.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"13",height:"13",children:[(0,l.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,l.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,l.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,l.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]}),I?`${new Date(I).getMonth()+1}/${new Date(I).getDate()}`:"\uB0A0\uC9DC"]}),K&&(0,l.jsx)("div",{className:d.datePopover,children:(0,l.jsx)("input",{type:"date",value:I,onChange:m=>{H(m.target.value),ae(!1)},className:d.dateInput,autoFocus:!0})})]}),I&&(0,l.jsx)("button",{className:d.filterChipClear,onClick:()=>H(""),type:"button",title:"\uD544\uD130 \uCD08\uAE30\uD654",children:"\xD7"})]}),(0,l.jsx)("div",{className:d.content,children:N?(0,l.jsx)("div",{className:d.empty,children:"\uB85C\uB529 \uC911..."}):re.length===0?(0,l.jsxs)("div",{className:d.empty,children:[(0,l.jsx)("div",{className:d.emptyIcon,children:(0,l.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,l.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,l.jsx)("polyline",{points:"12 6 12 12 16 14"})]})}),"\uD788\uC2A4\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4"]}):re.map((m,J)=>(0,l.jsxs)("div",{className:d.historyItem,children:[(0,l.jsx)("div",{className:`${d.historyDot} ${d[`historyDot_${m.action}`]}`}),(0,l.jsxs)("div",{className:d.historyBody,children:[m.action==="status_changed"&&(0,l.jsxs)("div",{className:d.historyStatusChange,children:[(0,l.jsx)("span",{className:`${d.historyStatusBadge} ${d[`status_${m.fromStatus}`]}`,children:m.fromStatus==="todo"?"\uB300\uAE30":m.fromStatus==="in_progress"?"\uC9C4\uD589\uC911":"\uC644\uB8CC"}),(0,l.jsx)("span",{className:d.historyArrow,children:"\u2192"}),(0,l.jsx)("span",{className:`${d.historyStatusBadge} ${d[`status_${m.toStatus}`]}`,children:m.toStatus==="todo"?"\uB300\uAE30":m.toStatus==="in_progress"?"\uC9C4\uD589\uC911":"\uC644\uB8CC"})]}),m.action==="created"&&(0,l.jsxs)("div",{className:d.historyStatusChange,children:[(0,l.jsx)("span",{className:d.historyLabel,children:"\uC0DD\uC131"}),(0,l.jsx)("span",{className:`${d.historyStatusBadge} ${d.status_todo}`,children:"\uB300\uAE30"})]}),m.action==="comment_added"&&(0,l.jsxs)("div",{className:d.historyComment,children:[(0,l.jsx)("span",{className:d.historyCommentAuthor,children:m.actorName||"\uC775\uBA85"}),m.metadata?.content&&(0,l.jsx)("span",{className:d.historyCommentContent,children:String(m.metadata.content).slice(0,100)})]}),(0,l.jsxs)("div",{className:d.historyFooter,children:[(0,l.jsx)("span",{className:d.historyTime,children:Qe(m.createdAt)}),(0,l.jsx)("span",{className:d.historyRef,children:(m.taskTitle||"").replace(/^\[피드백\]\s*/,"")})]})]})]},`${m.id}-${m.action}-${J}`))})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:d.statusFilter,children:[(0,l.jsxs)("button",{className:`${d.filterChip} ${C==="todo"?d.active:""}`,onClick:()=>A("todo"),type:"button",children:["\uC9C4\uD589\uC804",M>0&&(0,l.jsx)("span",{className:d.filterCount,children:M})]}),(0,l.jsxs)("button",{className:`${d.filterChip} ${C==="in_progress"?d.active:""}`,onClick:()=>A("in_progress"),type:"button",children:["\uC9C4\uD589\uC911",Ce>0&&(0,l.jsx)("span",{className:d.filterCount,children:Ce})]}),(0,l.jsxs)("button",{className:`${d.filterChip} ${C==="done"?d.active:""}`,onClick:()=>A("done"),type:"button",children:["\uC644\uB8CC",we>0&&(0,l.jsx)("span",{className:d.filterCount,children:we})]})]}),(0,l.jsx)("div",{className:d.content,children:Ae.length===0?(0,l.jsxs)("div",{className:d.empty,children:[(0,l.jsx)("div",{className:d.emptyIcon,children:(0,l.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,l.jsx)("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"})})}),y==="page"?"\uC774 \uD398\uC774\uC9C0\uC5D0 \uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4":"\uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"]}):Ae.map(m=>(0,l.jsxs)("div",{className:`${d.card} ${m.status==="done"?d.cardDone:""}`,onClick:()=>ce(m),children:[(0,l.jsxs)("div",{className:d.cardHeader,children:[(0,l.jsx)("div",{className:d.cardAvatar,children:rt(m.authorName)}),(0,l.jsx)("div",{className:d.cardInfo,children:(0,l.jsxs)("div",{className:d.cardMeta,children:[(0,l.jsx)("span",{className:d.cardAuthor,children:m.authorName}),(0,l.jsx)("span",{className:d.cardTime,children:Qe(m.createdAt)})]})})]}),(0,l.jsx)("div",{className:d.cardTitle,children:m.title.replace(/^\[피드백\]\s*/,"")}),m.screenshot&&(0,l.jsx)("div",{className:d.cardScreenshot,children:(0,l.jsx)("img",{src:m.screenshot,alt:"screenshot"})}),y==="all"&&m.feedbackUrl&&(0,l.jsxs)("div",{className:d.cardRoute,onClick:J=>{J.stopPropagation(),window.location.href=m.feedbackUrl},title:"\uD398\uC774\uC9C0\uB85C \uC774\uB3D9",children:[(0,l.jsx)("span",{className:d.cardRoutePath,children:m.feedbackUrl}),(0,l.jsxs)("svg",{className:d.cardRouteIcon,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"12",height:"12",children:[(0,l.jsx)("path",{d:"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"}),(0,l.jsx)("polyline",{points:"15 3 21 3 21 9"}),(0,l.jsx)("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]})]}),(m.startedAt||m.completedAt)&&(0,l.jsxs)("div",{className:d.cardStatusTime,children:[m.startedAt&&m.status!=="todo"&&(0,l.jsxs)("span",{children:["\uC9C4\uD589 \uC2DC\uC791: ",Qe(m.startedAt)]}),m.completedAt&&m.status==="done"&&(0,l.jsxs)("span",{children:["\uC644\uB8CC: ",Qe(m.completedAt)]})]}),(0,l.jsxs)("div",{className:d.cardFooter,children:[(0,l.jsx)("span",{className:d.cardReplyDot}),(0,l.jsxs)("span",{className:d.cardReplyCount,children:[m.commentCount," ",m.commentCount===1?"Reply":"Replies"]})]})]},m.id))})]})]})]}),Te&&(0,l.jsx)(is,{src:Te,onClose:()=>xe(null)}),de&&(0,l.jsx)(cs,{fileUrl:de.url,fileName:de.name,fileType:de.type,fileSource:de.source,onClose:()=>g(null)})]}),document.body)}var yn=require("react"),po=require("react-dom");var co="impakers-debug-settings",st={markerColor:"#6366f1",markersVisible:!0,hideDoneMarkers:!1,showOnlyMine:!1};function uo(){try{let e=localStorage.getItem(co);return e?{...st,...JSON.parse(e)}:{...st}}catch{return{...st}}}function mo(e){try{localStorage.setItem(co,JSON.stringify(e))}catch{}}var _o=[{id:"indigo",label:"\uC778\uB514\uACE0",value:"#6366f1"},{id:"blue",label:"\uBE14\uB8E8",value:"#3b82f6"},{id:"red",label:"\uB808\uB4DC",value:"#ef4444"},{id:"green",label:"\uADF8\uB9B0",value:"#16a34a"},{id:"orange",label:"\uC624\uB80C\uC9C0",value:"#f97316"},{id:"pink",label:"\uD551\uD06C",value:"#ec4899"}];var us=`@keyframes styles-module__panelIn___SmRh6 {
|
|
2215
2384
|
from {
|
|
2216
2385
|
opacity: 0;
|
|
2217
2386
|
transform: translateY(8px) scale(0.96);
|
|
@@ -2340,7 +2509,7 @@ ${n.stack?.split(`
|
|
|
2340
2509
|
.styles-module__colorBtn___N7dGu.styles-module__selected___0tVDH {
|
|
2341
2510
|
border-color: #18181b;
|
|
2342
2511
|
transform: scale(1.15);
|
|
2343
|
-
}`,
|
|
2512
|
+
}`,ms={backdrop:"styles-module__backdrop___--cMp",panel:"styles-module__panel___z6xiJ",panelIn:"styles-module__panelIn___SmRh6",header:"styles-module__header___NkOur",title:"styles-module__title___tsKZw",closeBtn:"styles-module__closeBtn___-OQ4Y",body:"styles-module__body___9pyCP",field:"styles-module__field___vnQMl",fieldLabel:"styles-module__fieldLabel___2WUKB",toggle:"styles-module__toggle___uWsqC",on:"styles-module__on___W27kf",toggleThumb:"styles-module__toggleThumb___wyckC",colors:"styles-module__colors___vgFGZ",colorBtn:"styles-module__colorBtn___N7dGu",selected:"styles-module__selected___0tVDH"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-settings-panel-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-settings-panel-styles",document.head.appendChild(e)),e.textContent=us}var j=ms;var W=require("react/jsx-runtime");function fo({settings:e,onChange:n,onClose:t}){let o=(0,yn.useCallback)(()=>{n({...e,markersVisible:!e.markersVisible})},[e,n]),r=(0,yn.useCallback)(()=>{n({...e,hideDoneMarkers:!e.hideDoneMarkers})},[e,n]),s=(0,yn.useCallback)(()=>{n({...e,showOnlyMine:!e.showOnlyMine})},[e,n]),a=(0,yn.useCallback)(i=>{n({...e,markerColor:i})},[e,n]);return typeof document>"u"?null:(0,po.createPortal)((0,W.jsxs)("div",{"data-impakers-debug":"",children:[(0,W.jsx)("div",{className:j.backdrop,onClick:t}),(0,W.jsxs)("div",{className:j.panel,"data-impakers-debug":"",children:[(0,W.jsxs)("div",{className:j.header,children:[(0,W.jsx)("span",{className:j.title,children:"\uC124\uC815"}),(0,W.jsx)("button",{className:j.closeBtn,onClick:t,type:"button",children:(0,W.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,W.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),(0,W.jsxs)("div",{className:j.body,children:[(0,W.jsxs)("div",{className:j.field,children:[(0,W.jsx)("div",{className:j.fieldLabel,children:"\uB9C8\uCEE4 \uD45C\uC2DC"}),(0,W.jsx)("button",{className:`${j.toggle} ${e.markersVisible?j.on:""}`,onClick:o,type:"button",children:(0,W.jsx)("span",{className:j.toggleThumb})})]}),(0,W.jsxs)("div",{className:j.field,children:[(0,W.jsx)("div",{className:j.fieldLabel,children:"\uC644\uB8CC \uD540 \uC228\uAE30\uAE30"}),(0,W.jsx)("button",{className:`${j.toggle} ${e.hideDoneMarkers?j.on:""}`,onClick:r,type:"button",children:(0,W.jsx)("span",{className:j.toggleThumb})})]}),(0,W.jsxs)("div",{className:j.field,children:[(0,W.jsx)("div",{className:j.fieldLabel,children:"\uB0B4\uAC00 \uCD94\uAC00\uD55C \uAC83\uB9CC"}),(0,W.jsx)("button",{className:`${j.toggle} ${e.showOnlyMine?j.on:""}`,onClick:s,type:"button",children:(0,W.jsx)("span",{className:j.toggleThumb})})]}),(0,W.jsxs)("div",{className:j.field,children:[(0,W.jsx)("div",{className:j.fieldLabel,children:"\uB9C8\uCEE4 \uC0C9\uC0C1"}),(0,W.jsx)("div",{className:j.colors,children:_o.map(i=>(0,W.jsx)("button",{className:`${j.colorBtn} ${e.markerColor===i.value?j.selected:""}`,style:{background:i.value},onClick:()=>a(i.value),title:i.label,type:"button"},i.id))})]})]})]})]}),document.body)}var _s=`.styles-module__markersLayer___VR1cD svg[fill=none],
|
|
2344
2513
|
.styles-module__fixedMarkersLayer___wBuxm svg[fill=none] {
|
|
2345
2514
|
fill: none !important;
|
|
2346
2515
|
}
|
|
@@ -2665,5 +2834,5 @@ html.impakers-selecting {
|
|
|
2665
2834
|
}
|
|
2666
2835
|
html.impakers-selecting * {
|
|
2667
2836
|
cursor: crosshair !important;
|
|
2668
|
-
}`,is={markersLayer:"styles-module__markersLayer___VR1cD",fixedMarkersLayer:"styles-module__fixedMarkersLayer___wBuxm",fab:"styles-module__fab___6FrCF",fabEnter:"styles-module__fabEnter___9koyT",active:"styles-module__active___X5PRD",hoverHighlight:"styles-module__hoverHighlight___9kGLL",enter:"styles-module__enter___jAi-c",hoverHighlightIn:"styles-module__hoverHighlightIn___ljC4F",singleSelectOutline:"styles-module__singleSelectOutline___2meUm",fadeIn:"styles-module__fadeIn___PpRqy",hoverTooltip:"styles-module__hoverTooltip___JE1Bs",hoverTooltipIn:"styles-module__hoverTooltipIn___tncNM",hoverReactPath:"styles-module__hoverReactPath___wPGYi",hoverElementName:"styles-module__hoverElementName___lNqTP",contextMenu:"styles-module__contextMenu___nDXft",contextMenuItem:"styles-module__contextMenuItem___69GKu",toast:"styles-module__toast___gV3Sa",toastIn:"styles-module__toastIn___V382h",toastOut:"styles-module__toastOut___zlqxG",toastError:"styles-module__toastError___Q-8dn",countdownOverlay:"styles-module__countdownOverlay___GruQJ",countdownNumber:"styles-module__countdownNumber___VAmkI",countdownPulse:"styles-module__countdownPulse___ngZrL",countdownLabel:"styles-module__countdownLabel___px-ao",countdownCancel:"styles-module__countdownCancel___8cRgZ",fadeOut:"styles-module__fadeOut___tZb9S"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-debug-widget-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-debug-widget-styles",document.head.appendChild(e)),e.textContent=ss}var Q=is;var y=require("react/jsx-runtime");function tt(e,n){let t=document.elementFromPoint(e,n);if(!t)return null;for(;t?.shadowRoot;){let o=t.shadowRoot.elementFromPoint(e,n);if(!o||o===t)break;t=o}return t}function as(e){let n=e;for(;n&&n!==document.body;){let t=window.getComputedStyle(n);if(t.position==="fixed"||t.position==="sticky")return!0;n=n.parentElement}return!1}function mo(e){let{name:n,path:t}=Vn(e),o=It(e,{mode:"filtered"});return{name:o.path?`${o.path} ${n}`:n,elementName:n,path:t,reactComponents:o.path}}function ls(e){let n=dn(e),t=n.found?n:Zn(e);if(t.found&&t.source)return Tn(t.source,"path")}function ds(e){let n=dn(e),t=n.found?n:Zn(e);return t.found&&t.sourceCandidates&&t.sourceCandidates.length>0?t.sourceCandidates.map(o=>Tn(o,"path")):t.found&&t.source?[Tn(t.source,"path")]:[]}function cs(e,n){let t=e.match(/^(.+):(\d+)(?::(\d+))?$/);if(!t)return null;let[,o,r,s]=t,l=Number.parseInt(r,10),i=s?Number.parseInt(s,10):void 0;return!o||Number.isNaN(l)?null:{kind:"component",file:o,line:l,column:i,label:n||"Resolved component source",confidence:.98,reason:"resolved-from-source-map"}}var us="impakers-debug-markers-";function rt(){return us+window.location.pathname}function ot(){try{let e=localStorage.getItem(rt());return e?JSON.parse(e):[]}catch{return[]}}function _o(e){try{e.length===0?localStorage.removeItem(rt()):localStorage.setItem(rt(),JSON.stringify(e))}catch{}}function ms(e){return e.feedbackMarker?{id:e.id,x:e.feedbackMarker.x,y:e.feedbackMarker.y,comment:e.title.replace(/^\[피드백\]\s*/,""),element:e.feedbackMarker.element||"",elementPath:"",timestamp:new Date(e.createdAt).getTime(),isFixed:e.feedbackMarker.isFixed,boundingBox:e.feedbackMarker.boundingBox,status:e.status}:null}function fo({endpoint:e,getUser:n,onHide:t}){let[o,r]=(0,f.useState)(!1),[s,l]=(0,f.useState)(()=>ot()),[i,_]=(0,f.useState)(null),[C,h]=(0,f.useState)(!1),[v,w]=(0,f.useState)(null),[H,M]=(0,f.useState)({x:0,y:0}),[D,K]=(0,f.useState)(new Set),[ce,ge]=(0,f.useState)(!1),[se,Y]=(0,f.useState)(null),[ee,ue]=(0,f.useState)(null),[x,P]=(0,f.useState)(!1),[N,be]=(0,f.useState)(null),[q,me]=(0,f.useState)(null),[xe,he]=(0,f.useState)({}),[_e,ie]=(0,f.useState)(!1),[g,T]=(0,f.useState)([]),[L,ae]=(0,f.useState)([]),[ne,Le]=(0,f.useState)(!1),[Ne,j]=(0,f.useState)(!1),[U,$e]=(0,f.useState)(()=>io()),[Te,bn]=(0,f.useState)(()=>window.location.pathname),[Ye,De]=(0,f.useState)(!1),[qe,m]=(0,f.useState)(0),[W,je]=(0,f.useState)(null),Ie=(0,f.useRef)(null),st=(0,f.useRef)(null),it=(0,f.useRef)(null),Je=(0,f.useRef)(!1),at=(0,f.useCallback)(()=>{je(3);let c=3,u=()=>{c-=1,c<=0?(je(null),r(!0),document.documentElement.classList.add("impakers-selecting")):(je(c),Ie.current=setTimeout(u,1e3))};Ie.current=setTimeout(u,1e3)},[]),yo=(0,f.useCallback)(c=>{c==="comment"?lt():c==="delay-capture"?at():c==="inbox"?(Le(!0),Vt(e,{staleWhileRevalidate:!0}).then(ae).catch(()=>{}),o&&(r(!1),document.documentElement.classList.remove("impakers-selecting"),w(null),_(null))):c==="settings"&&j(!0)},[o,at]),bo=(0,f.useCallback)(c=>{$e(c),ao(c)},[]),lt=(0,f.useCallback)(()=>{r(c=>{let u=!c;return u?document.documentElement.classList.add("impakers-selecting"):(document.documentElement.classList.remove("impakers-selecting"),w(null),_(null)),u})},[]);(0,f.useEffect)(()=>()=>{document.documentElement.classList.remove("impakers-selecting")},[]),(0,f.useEffect)(()=>{l(ot());let c=()=>{bn(window.location.pathname),l(ot()),_(null),w(null)};window.addEventListener("popstate",c);let u=history.pushState.bind(history);return history.pushState=(...A)=>{u(...A),setTimeout(c,50)},()=>{window.removeEventListener("popstate",c),history.pushState=u}},[]),(0,f.useEffect)(()=>{let c=Ae(Te),u=Ue(c);u&&(T(u),De(!0));let A=pn(c,S=>{T(S),De(!0)});return Ot(e,Te,{staleWhileRevalidate:!0}).then(S=>{T(S),De(!0)}).catch(()=>{}),A},[e,Te]);let dt="impakers-debug-history-last-seen";(0,f.useEffect)(()=>{let c=localStorage.getItem(dt)||new Date(0).toISOString();Pn(e,{since:c,limit:100}).then(u=>m(u.length)).catch(()=>{})},[e]);let xo=(0,f.useCallback)(()=>{localStorage.setItem(dt,new Date().toISOString()),m(0)},[]);(0,f.useEffect)(()=>{if(!Ye)return;let c=g.map(ms).filter(u=>u!==null);l(c),_o(c)},[g,Ye]);let ct=(0,f.useRef)(!0);(0,f.useEffect)(()=>{if(ct.current){ct.current=!1;return}_o(s)},[s]),(0,f.useEffect)(()=>{let c=u=>{if(u.key==="Escape"){if(ne){Le(!1);return}if(i){u.preventDefault(),h(!0),de(()=>{_(null),h(!1)},150);return}o&&(u.preventDefault(),r(!1),document.documentElement.classList.remove("impakers-selecting"),w(null))}};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[ne,i,o]),(0,f.useEffect)(()=>{if(!o||i)return;let c=u=>{let A=u.composedPath()[0]||u.target;if(He(A,"[data-impakers-debug]")){w(null);return}let S=tt(u.clientX,u.clientY);if(!S||He(S,"[data-impakers-debug]")){w(null);return}let{name:J,elementName:pe,path:oe,reactComponents:O}=mo(S),k=S.getBoundingClientRect();w({element:J,elementName:pe,elementPath:oe,rect:k,reactComponents:O}),M({x:u.clientX,y:u.clientY})};return document.addEventListener("mousemove",c),()=>document.removeEventListener("mousemove",c)},[o,i]),(0,f.useEffect)(()=>{if(!o)return;let c=u=>{if(Je.current)return;let A=u.composedPath()[0]||u.target;if(He(A,"[data-impakers-debug]")||He(A,"[data-annotation-popup]")||He(A,"[data-annotation-marker]"))return;if(i){u.preventDefault(),u.stopPropagation(),st.current?.shake();return}u.preventDefault(),u.stopPropagation();let S=tt(u.clientX,u.clientY);if(!S)return;let{name:J,path:pe,reactComponents:oe}=mo(S),O=S.getBoundingClientRect(),k=u.clientX/window.innerWidth*100,le=as(S),kn=le?u.clientY:u.clientY+window.scrollY,tn=window.getSelection(),We;tn&&tn.toString().trim().length>0&&(We=tn.toString().trim().slice(0,500));let B=St(S),ye=Lt(S);_({x:k,y:kn,clientY:u.clientY,element:J,elementPath:pe,selectedText:We,boundingBox:{x:O.left,y:le?O.top:O.top+window.scrollY,width:O.width,height:O.height},nearbyText:vt(S),cssClasses:Ct(S),isFixed:le,fullPath:Tt(S),accessibility:Nt(S),computedStyles:ye,computedStylesObj:B,reactComponents:oe??void 0,sourceFile:ls(S),targetElement:S}),w(null);let vn=ds(S).filter(on=>on.includes("/chunks/"));vn.length>0&&(async()=>{for(let on of vn)try{let Cn=await Jn(on);if(Cn){_(Bn=>Bn&&{...Bn,resolvedSource:`${Cn.source}:${Cn.line}`,resolvedName:Cn.name??void 0});break}}catch{}})()};return document.addEventListener("click",c,!0),()=>document.removeEventListener("click",c,!0)},[o,i]);let Ge=(0,f.useCallback)(c=>{be(c),de(()=>be(null),4e3)},[]),ko=(0,f.useCallback)(async c=>{if(!(!i||ce)){ge(!0);try{let u=Ht(n),A=await Pt(),S=i.resolvedSource||i.sourceFile||"",J=i.resolvedName||null;if(!i.resolvedSource&&i.sourceFile?.includes("/chunks/"))try{let B=await Jn(i.sourceFile);B&&(S=`${B.source}:${B.line}:${B.column}`,J=B.name)}catch{}let pe=await zt(window.location.pathname),oe=S&&!S.includes("/chunks/")?cs(S,J):null,O=Dt(oe?[oe]:void 0,pe?.targets);O.length>0&&(u.debugTargets=O),pe?.context&&(u.routeDebug=pe.context);let k=[];k.push(`## \uD53C\uB4DC\uBC31 ${c}`),O.length>0&&(k.push(""),k.push("---"),k.push(""),k.push("**\uB514\uBC84\uAE45 \uD0C0\uAC9F \uD30C\uC77C**:"),O.forEach(B=>{let ye=B.line?`:${B.line}${typeof B.column=="number"?`:${B.column}`:""}`:"";k.push(`- [${B.kind}] \`${B.file}${ye}\` (${B.reason})`)}));let le=[];if(i.element&&le.push(`**\uC120\uD0DD\uB41C \uC694\uC18C**: ${i.element}`),i.elementPath&&le.push(`**DOM \uACBD\uB85C**: \`${i.elementPath}\``),i.selectedText&&le.push(`**\uC120\uD0DD\uB41C \uD14D\uC2A4\uD2B8**: "${i.selectedText}"`),i.reactComponents?.trim()?le.push(`**React \uCEF4\uD3EC\uB10C\uD2B8**: ${i.reactComponents}`):J&&le.push(`**\uCEF4\uD3EC\uB10C\uD2B8/\uD568\uC218**: ${J}`),S&&!S.includes("/chunks/")&&le.push(`**\uC18C\uC2A4 \uD30C\uC77C**: \`${S}\``),i.cssClasses&&le.push(`**CSS \uD074\uB798\uC2A4**: \`${i.cssClasses}\``),i.nearbyText&&le.push(`**\uC8FC\uBCC0 \uD14D\uC2A4\uD2B8**: ${i.nearbyText}`),i.accessibility&&le.push(`**\uC811\uADFC\uC131**: ${i.accessibility}`),le.length>0&&(k.push(""),k.push("---"),k.push(""),le.forEach(B=>k.push(B))),u.consoleErrors?.length&&(k.push(""),k.push("---"),k.push(""),k.push("**\uCD5C\uADFC \uCF58\uC194 \uC5D0\uB7EC**:"),u.consoleErrors.slice(-10).forEach(B=>k.push(`- \`${B.slice(0,200)}\``))),u.consoleLogs?.length){let B=u.consoleLogs.filter(ye=>ye.level==="error"||ye.level==="warn").slice(-10);B.length>0&&(k.push(""),k.push("**\uCD5C\uADFC \uCF58\uC194 \uB85C\uADF8**:"),B.forEach(ye=>k.push(`- [${ye.level}] \`${ye.message.slice(0,200)}\``)))}if(k.push(""),k.push("---"),k.push(""),k.push("## \uD658\uACBD \uC815\uBCF4"),k.push(""),k.push(`- **URL**: ${u.url}`),k.push(`- **\uC2DC\uC810**: ${new Date(u.timestamp).toLocaleString("ko-KR")}`),k.push(`- **\uBE0C\uB77C\uC6B0\uC800**: ${u.browser}`),k.push(`- **\uD654\uBA74**: ${u.viewport} (@${u.pixelRatio}x)`),k.push(`- **\uC5B8\uC5B4**: ${u.language}`),u.user?.name&&k.push(`- **\uC0AC\uC6A9\uC790**: ${u.user.name}`),u.performance&&Object.keys(u.performance).length>0){k.push(""),k.push("---"),k.push(""),k.push("## \uC131\uB2A5"),k.push(""),k.push("| \uD56D\uBAA9 | \uAC12 |"),k.push("|------|-----|");let B={pageLoadTime:"\uD398\uC774\uC9C0 \uB85C\uB529",domContentLoaded:"DOM \uB85C\uB4DC",ttfb:"TTFB",firstContentfulPaint:"FCP",usedJSHeapMB:"\uBA54\uBAA8\uB9AC \uC0AC\uC6A9",totalJSHeapMB:"\uBA54\uBAA8\uB9AC \uC804\uCCB4"};for(let[ye,ft]of Object.entries(u.performance)){let vn=B[ye]||ye,on=ye.includes("Heap")?"MB":"ms";k.push(`| ${vn} | ${ft}${on} |`)}}let kn=k.join(`
|
|
2669
|
-
`),tn=await Wt(e,{title:c.slice(0,100),description:"",priority:"medium",metadata:u,debugInfo:kn,debug_info:kn,screenshot:A,feedbackUrl:window.location.pathname,feedbackMarker:{x:i.x,y:i.y,isFixed:i.isFixed||!1,element:i.element,boundingBox:i.boundingBox},authorName:n?.()?.name?String(n().name):void 0});P(!0),de(()=>P(!1),3e3);let We=tn.taskId||null;it.current=We,de(()=>{it.current=null},300),de(()=>{We&&K(B=>new Set(B).add(We))},250),h(!0),de(()=>{_(null),h(!1),r(!1),document.documentElement.classList.remove("impakers-selecting"),Je.current=!0,setTimeout(()=>{Je.current=!1},300)},150),window.getSelection()?.removeAllRanges()}catch(u){let A=u?.message||"\uD53C\uB4DC\uBC31 \uC804\uC1A1 \uC2E4\uD328";Ge(A),console.error("[@impakers/debug] \uD53C\uB4DC\uBC31 \uC804\uC1A1 \uC2E4\uD328:",u)}finally{ge(!1)}}},[i,ce,e,n,Ge]),vo=(0,f.useCallback)(()=>{h(!0),de(()=>{_(null),h(!1),r(!1),document.documentElement.classList.remove("impakers-selecting"),Je.current=!0,setTimeout(()=>{Je.current=!1},300)},150)},[]),ut=(0,f.useCallback)(c=>{let u=c.id;me(A=>A===u?null:u)},[]);(0,f.useEffect)(()=>{if(!q)return;let c=Fe(q),u=Ue(c);u?(he(S=>({...S,[q]:u})),ie(!1)):ie(!0);let A=pn(c,S=>{he(J=>({...J,[q]:S})),ie(!1)});return Mn(e,q,{staleWhileRevalidate:!0}).then(()=>ie(!1)).catch(()=>ie(!1)),A},[q,e]);let Co=(0,f.useCallback)(async(c,u,A,S)=>{let J=n?.()?.name?String(n().name):"\uC775\uBA85",pe=n?.()?.id?String(n().id):void 0;try{let oe;if(S)try{oe=await Ut(e,S,"comment",c)}catch(O){let k=O?.message||"\uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328";Ge(k),console.error("[@impakers/debug] \uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328:",O)}await An(e,c,u,J,pe,A,oe)}catch(oe){let O=oe?.message||"\uCF54\uBA58\uD2B8 \uC804\uC1A1 \uC2E4\uD328";Ge(O),console.error("[@impakers/debug] \uCF54\uBA58\uD2B8 \uC804\uC1A1 \uC2E4\uD328:",oe)}},[n,e,Ge]),wo=(0,f.useCallback)(()=>{me(null)},[]),xn=(0,f.useCallback)(c=>{if(!c){Y(null),ue(null);return}if(Y(c.id),c.boundingBox){let u=c.boundingBox,A=u.x+u.width/2,S=c.isFixed?u.y+u.height/2:u.y+u.height/2-window.scrollY,J=tt(A,S);if(J){let pe=J.getBoundingClientRect(),oe=pe.width/u.width,O=pe.height/u.height;if(oe>=.5&&O>=.5){ue(J);return}}}ue(null)},[]),So=(0,f.useCallback)(()=>{if(!i)return{left:0,top:0};let c=i.x/100*window.innerWidth,u=i.isFixed?i.y:i.y-window.scrollY,A=Math.max(160,Math.min(window.innerWidth-160,c));return u>window.innerHeight-290?{left:A,bottom:window.innerHeight-u+20}:{left:A,top:u+20}},[i]);if(typeof document>"u")return null;let en=So(),nn=ee?.getBoundingClientRect(),Lo=[{id:"comment",label:"\uD53C\uB4DC\uBC31",active:o,icon:(0,y.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,y.jsx)("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"})})},{id:"delay-capture",label:"\uB51C\uB808\uC774 \uCEA1\uCC98",icon:(0,y.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,y.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,y.jsx)("polyline",{points:"12 6 12 12 16 14"})]})},{id:"inbox",label:"Inbox",badge:qe||void 0,icon:(0,y.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,y.jsx)("polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12"}),(0,y.jsx)("path",{d:"M5.45 5.11L2 12v6a2 2 0 002 2h16a2 2 0 002-2v-6l-3.45-6.89A2 2 0 0016.76 4H7.24a2 2 0 00-1.79 1.11z"})]})},{id:"settings",label:"\uC124\uC815",icon:(0,y.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,y.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,y.jsx)("path",{d:"M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.68a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06A1.65 1.65 0 0019.4 9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z"})]})}],mt=Te,Hn=n?.()?.name?String(n().name):null,_t=(0,f.useMemo)(()=>s.filter(c=>{let u=g.find(A=>A.id===c.id);return!(U.hideDoneMarkers&&(c.status==="done"||c.status==="resolved")||U.showOnlyMine&&u?.authorName&&Hn&&u.authorName!==Hn)}),[s,g,U.hideDoneMarkers,U.showOnlyMine,Hn]),pt=(c,u)=>({id:c.id,title:c.title||"\uD53C\uB4DC\uBC31",status:c.status,priority:c.priority,authorName:c.authorName||"\uC775\uBA85",feedbackUrl:c.feedbackUrl||u,createdAt:c.createdAt,startedAt:c.startedAt,completedAt:c.completedAt,commentCount:c.commentCount||0}),No=g.map(c=>pt(c,mt)),To=L.map(c=>pt(c,""));return(0,po.createPortal)((0,y.jsxs)("div",{"data-impakers-debug":"",children:[(0,y.jsx)(no,{items:Lo,onSelect:yo,onHide:t,onDoubleTap:lt}),ne&&(0,y.jsx)(ro,{pageItems:No,allItems:To,currentPath:mt,serviceName:yt()||void 0,endpoint:e,currentUserName:n?.()?.name?String(n().name):"\uC775\uBA85",currentUserId:n?.()?.id?String(n().id):void 0,onClose:()=>Le(!1),onHistoryViewed:xo,newNotiCount:qe}),Ne&&(0,y.jsx)(uo,{settings:U,onChange:bo,onClose:()=>j(!1)}),o&&(0,y.jsxs)(y.Fragment,{children:[v?.rect&&!i&&(0,y.jsx)("div",{className:`${Q.hoverHighlight} ${Q.enter}`,style:{left:v.rect.left,top:v.rect.top,width:v.rect.width,height:v.rect.height}}),v&&!i&&(0,y.jsxs)("div",{className:`${Q.hoverTooltip} ${Q.enter}`,style:{left:Math.min(H.x+14,window.innerWidth-200),top:H.y+14},children:[v.reactComponents&&(0,y.jsx)("div",{className:Q.hoverReactPath,children:v.reactComponents}),(0,y.jsx)("div",{className:Q.hoverElementName,children:v.elementName})]}),nn&&se&&(0,y.jsx)("div",{className:`${Q.singleSelectOutline} ${Q.enter}`,style:{left:nn.left,top:nn.top,width:nn.width,height:nn.height}}),i?.targetElement&&(()=>{let c=i.targetElement.getBoundingClientRect();return(0,y.jsx)("div",{className:`${Q.singleSelectOutline} ${Q.enter}`,style:{left:c.left,top:c.top,width:c.width,height:c.height}})})()]}),(0,y.jsx)("div",{className:Q.markersLayer,"data-impakers-debug":"",style:{display:U.markersVisible?void 0:"none"},children:_t.filter(c=>!c.isFixed).map((c,u)=>(0,y.jsx)(Gn,{annotation:c,layerIndex:u,isAnimated:D.has(c.id),isHovered:se===c.id,isDeleting:!1,markerClickBehavior:"edit",accentColor:U.markerColor,onHover:()=>xn(c),onHoverEnd:()=>xn(null),onClick:()=>ut(c),onContextMenu:()=>{}},c.id))}),(0,y.jsxs)("div",{className:Q.fixedMarkersLayer,"data-impakers-debug":"",style:{display:U.markersVisible?void 0:"none"},children:[_t.filter(c=>c.isFixed).map((c,u)=>(0,y.jsx)(Gn,{annotation:c,layerIndex:u,isAnimated:D.has(c.id),isHovered:se===c.id,isDeleting:!1,markerClickBehavior:"edit",accentColor:U.markerColor,onHover:()=>xn(c),onHoverEnd:()=>xn(null),onClick:()=>ut(c),onContextMenu:()=>{}},c.id)),i&&(0,y.jsx)(Qt,{x:i.x,y:i.clientY,isMultiSelect:!1,accentColor:U.markerColor})]}),i&&(0,y.jsx)(kt,{ref:st,element:i.resolvedSource||i.resolvedName||i.element,selectedText:i.selectedText,isExiting:C,style:{position:"fixed",left:en.left,..."top"in en?{top:en.top}:{},..."bottom"in en?{bottom:en.bottom}:{},transform:"translateX(-50%)",zIndex:100001},onSubmit:ko,onCancel:vo}),q&&(()=>{let c=s.find(O=>O.id===q),u=g.find(O=>O.id===q);if(!c)return null;let A=c.x/100*window.innerWidth,S=c.isFixed?c.y:c.y-window.scrollY,J=Math.max(10,Math.min(A+20,window.innerWidth-360)),pe=Math.max(10,Math.min(S,window.innerHeight-400)),oe={id:c.id,title:u?.title||c.comment||"\uD53C\uB4DC\uBC31",status:u?.status||"todo",authorName:u?.authorName||void 0,createdAt:u?.createdAt||new Date(c.timestamp).toISOString(),comments:xe[c.id]||[]};return(0,y.jsx)(eo,{task:oe,currentUserName:n?.()?.name?String(n().name):"\uC775\uBA85",currentUserId:n?.()?.id?String(n().id):void 0,left:J,top:pe,loading:_e,onClose:wo,onReply:Co})})(),W!==null&&(0,y.jsxs)("div",{className:Q.countdownOverlay,"data-impakers-debug":"",children:[(0,y.jsx)("div",{className:Q.countdownNumber,children:W}),(0,y.jsx)("div",{className:Q.countdownLabel,children:"\uD53C\uB4DC\uBC31 \uBAA8\uB4DC \uD65C\uC131\uD654\uAE4C\uC9C0..."}),(0,y.jsx)("button",{className:Q.countdownCancel,onClick:()=>{Ie.current&&clearTimeout(Ie.current),je(null)},type:"button",children:"\uCDE8\uC18C"})]}),x&&(0,y.jsxs)("div",{className:Q.toast,"data-impakers-debug":"",children:[(0,y.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#16a34a",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,y.jsx)("polyline",{points:"20 6 9 17 4 12"})}),(0,y.jsx)("span",{children:"\uD0DC\uC2A4\uD06C \uC0DD\uC131\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"})]}),N&&(0,y.jsxs)("div",{className:`${Q.toast} ${Q.toastError}`,"data-impakers-debug":"",children:[(0,y.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,y.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,y.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,y.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]}),(0,y.jsx)("span",{children:N})]})]}),document.body)}var Qe=require("react"),go=require("react-dom");var te=require("react/jsx-runtime");function ho({endpoint:e,onSuccess:n,onClose:t}){let[o,r]=(0,Qe.useState)(""),[s,l]=(0,Qe.useState)(!1),[i,_]=(0,Qe.useState)(null),C=(0,Qe.useCallback)(async h=>{if(h.preventDefault(),!(!o.trim()||s)){l(!0),_(null);try{let v=await bt(e,o.trim().toUpperCase());n(v.serviceName)}catch(v){_(v instanceof Error?v.message:"\uC778\uC99D \uC2E4\uD328")}finally{l(!1)}}},[o,e,s,n]);return typeof document>"u"?null:(0,go.createPortal)((0,te.jsxs)("div",{"data-impakers-debug":"",style:{position:"fixed",inset:0,zIndex:2147483647,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"},children:[(0,te.jsx)("div",{onClick:t,style:{position:"absolute",inset:0,background:"rgba(0, 0, 0, 0.4)"}}),(0,te.jsxs)("div",{style:{position:"relative",width:360,background:"white",borderRadius:12,boxShadow:"0 16px 48px rgba(0,0,0,0.16)",overflow:"hidden"},children:[(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 20px",borderBottom:"1px solid #e5e5e5"},children:[(0,te.jsx)("h3",{style:{fontSize:15,fontWeight:600,color:"#18181b",margin:0},children:"\uD53C\uB4DC\uBC31 \uC704\uC82F \uC778\uC99D"}),(0,te.jsx)("button",{onClick:t,type:"button",style:{width:28,height:28,border:"none",background:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,color:"#71717a"},children:(0,te.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,te.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),(0,te.jsxs)("div",{style:{padding:20},children:[(0,te.jsxs)("p",{style:{fontSize:13,color:"#71717a",textAlign:"center",marginBottom:16,lineHeight:1.5},children:["\uC11C\uBE44\uC2A4 \uC2DC\uD06C\uB9BF \uCF54\uB4DC\uB97C \uC785\uB825\uD574\uC8FC\uC138\uC694.",(0,te.jsx)("br",{}),"\uCF54\uB4DC\uB294 \uC784\uD328\uCEE4\uC2A4 OS\uC5D0\uC11C \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."]}),i&&(0,te.jsx)("div",{style:{background:"#fef2f2",border:"1px solid #fecaca",color:"#dc2626",padding:"8px 12px",borderRadius:8,fontSize:13,marginBottom:12},children:i}),(0,te.jsxs)("form",{onSubmit:C,children:[(0,te.jsx)("input",{type:"text",maxLength:6,placeholder:"A3F9K2",value:o,onChange:h=>r(h.target.value.toUpperCase()),autoFocus:!0,autoComplete:"off",style:{width:"100%",padding:"12px 16px",border:"1px solid #d4d4d8",borderRadius:8,fontSize:24,fontWeight:600,textAlign:"center",letterSpacing:8,textTransform:"uppercase",outline:"none",boxSizing:"border-box",fontFamily:"inherit",color:"#18181b"}}),(0,te.jsx)("button",{type:"submit",disabled:o.trim().length<6||s,style:{width:"100%",marginTop:16,padding:"10px 16px",border:"none",borderRadius:8,fontSize:14,fontWeight:500,cursor:o.trim().length<6||s?"not-allowed":"pointer",background:o.trim().length<6||s?"#a1a1aa":"#18181b",color:"white",fontFamily:"inherit"},children:s?"\uC778\uC99D \uC911...":"\uC778\uC99D\uD558\uAE30"})]})]})]})]}),document.body)}var ze=require("react/jsx-runtime");function _s({endpoint:e,getUser:n}){let[t,o]=(0,ke.useState)(!1),[r,s]=(0,ke.useState)(!1),[l,i]=(0,ke.useState)(()=>{try{return localStorage.getItem("impakers-debug-hidden")==="1"}catch{return!1}});(0,ke.useEffect)(()=>{o(Oe())},[]),(0,ke.useEffect)(()=>{let v=[Me._on("impakers-debug:show-auth",()=>{s(!0),i(!1);try{localStorage.removeItem("impakers-debug-hidden")}catch{}}),Me._on("impakers-debug:open",()=>{i(!1);try{localStorage.removeItem("impakers-debug-hidden")}catch{}}),Me._on("impakers-debug:deactivate",()=>{o(!1),s(!1)})];return()=>v.forEach(w=>w())},[]),(0,ke.useEffect)(()=>{function v(w){if((w.ctrlKey||w.metaKey)&&w.shiftKey&&(w.key==="."||w.key===">"||w.code==="Period")){if(w.preventDefault(),l){i(!1);try{localStorage.removeItem("impakers-debug-hidden")}catch{}return}Oe()?o(!0):s(H=>!H)}}return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[l]);let _=(0,ke.useCallback)(v=>{o(!0),s(!1)},[]),C=(0,ke.useCallback)(()=>{s(!1)},[]),h=(0,ke.useCallback)(()=>{i(!0);try{localStorage.setItem("impakers-debug-hidden","1")}catch{}},[]);return(0,ze.jsxs)(ze.Fragment,{children:[t&&!l&&(0,ze.jsx)(fo,{endpoint:e,getUser:n,onHide:h}),r&&!t&&(0,ze.jsx)(ho,{endpoint:e,onSuccess:_,onClose:C})]})}0&&(module.exports={ImpakersDebug,ImpakersDebugProvider});
|
|
2837
|
+
}`,ps={markersLayer:"styles-module__markersLayer___VR1cD",fixedMarkersLayer:"styles-module__fixedMarkersLayer___wBuxm",fab:"styles-module__fab___6FrCF",fabEnter:"styles-module__fabEnter___9koyT",active:"styles-module__active___X5PRD",hoverHighlight:"styles-module__hoverHighlight___9kGLL",enter:"styles-module__enter___jAi-c",hoverHighlightIn:"styles-module__hoverHighlightIn___ljC4F",singleSelectOutline:"styles-module__singleSelectOutline___2meUm",fadeIn:"styles-module__fadeIn___PpRqy",hoverTooltip:"styles-module__hoverTooltip___JE1Bs",hoverTooltipIn:"styles-module__hoverTooltipIn___tncNM",hoverReactPath:"styles-module__hoverReactPath___wPGYi",hoverElementName:"styles-module__hoverElementName___lNqTP",contextMenu:"styles-module__contextMenu___nDXft",contextMenuItem:"styles-module__contextMenuItem___69GKu",toast:"styles-module__toast___gV3Sa",toastIn:"styles-module__toastIn___V382h",toastOut:"styles-module__toastOut___zlqxG",toastError:"styles-module__toastError___Q-8dn",countdownOverlay:"styles-module__countdownOverlay___GruQJ",countdownNumber:"styles-module__countdownNumber___VAmkI",countdownPulse:"styles-module__countdownPulse___ngZrL",countdownLabel:"styles-module__countdownLabel___px-ao",countdownCancel:"styles-module__countdownCancel___8cRgZ",fadeOut:"styles-module__fadeOut___tZb9S"};if(typeof document<"u"){let e=document.getElementById("impakers-debug-styles-debug-widget-styles");e||(e=document.createElement("style"),e.id="impakers-debug-styles-debug-widget-styles",document.head.appendChild(e)),e.textContent=_s}var ee=ps;var x=require("react/jsx-runtime");function it(e,n){let t=document.elementFromPoint(e,n);if(!t)return null;for(;t?.shadowRoot;){let o=t.shadowRoot.elementFromPoint(e,n);if(!o||o===t)break;t=o}return t}function fs(e){let n=e;for(;n&&n!==document.body;){let t=window.getComputedStyle(n);if(t.position==="fixed"||t.position==="sticky")return!0;n=n.parentElement}return!1}function go(e){let{name:n,path:t}=Xn(e),o=$t(e,{mode:"filtered"});return{name:o.path?`${o.path} ${n}`:n,elementName:n,path:t,reactComponents:o.path}}function gs(e){let n=dn(e),t=n.found?n:Qn(e);if(t.found&&t.source)return Rn(t.source,"path")}function hs(e){let n=dn(e),t=n.found?n:Qn(e);return t.found&&t.sourceCandidates&&t.sourceCandidates.length>0?t.sourceCandidates.map(o=>Rn(o,"path")):t.found&&t.source?[Rn(t.source,"path")]:[]}function ys(e,n){let t=e.match(/^(.+):(\d+)(?::(\d+))?$/);if(!t)return null;let[,o,r,s]=t,a=Number.parseInt(r,10),i=s?Number.parseInt(s,10):void 0;return!o||Number.isNaN(a)?null:{kind:"component",file:o,line:a,column:i,label:n||"Resolved component source",confidence:.98,reason:"resolved-from-source-map"}}var bs="impakers-debug-markers-";function lt(){return bs+window.location.pathname}function at(){try{let e=localStorage.getItem(lt());return e?JSON.parse(e):[]}catch{return[]}}function ho(e){try{e.length===0?localStorage.removeItem(lt()):localStorage.setItem(lt(),JSON.stringify(e))}catch{}}function xs(e){return e.feedbackMarker?{id:e.id,x:e.feedbackMarker.x,y:e.feedbackMarker.y,comment:e.title.replace(/^\[피드백\]\s*/,""),element:e.feedbackMarker.element||"",elementPath:"",timestamp:new Date(e.createdAt).getTime(),isFixed:e.feedbackMarker.isFixed,boundingBox:e.feedbackMarker.boundingBox,status:e.status}:null}function bo({endpoint:e,getUser:n,onHide:t}){let[o,r]=(0,f.useState)(!1),[s,a]=(0,f.useState)(()=>at()),[i,_]=(0,f.useState)(null),[k,y]=(0,f.useState)(!1),[v,C]=(0,f.useState)(null),[A,I]=(0,f.useState)({x:0,y:0}),[H,K]=(0,f.useState)(new Set),[ae,_e]=(0,f.useState)(!1),[re,R]=(0,f.useState)(null),[N,q]=(0,f.useState)(null),[b,P]=(0,f.useState)(!1),[E,pe]=(0,f.useState)(null),[T,Y]=(0,f.useState)(null),[le,be]=(0,f.useState)({}),[Te,xe]=(0,f.useState)(!1),[de,g]=(0,f.useState)([]),[h,Z]=(0,f.useState)([]),[ce,Pe]=(0,f.useState)(!1),[Ie,Ae]=(0,f.useState)(!1),[M,Ce]=(0,f.useState)(()=>uo()),[we,m]=(0,f.useState)(()=>window.location.pathname),[J,$e]=(0,f.useState)(!1),[Se,bn]=(0,f.useState)(0),[dt,xn]=(0,f.useState)(null),kn=(0,f.useRef)(null),ct=(0,f.useRef)(null),ut=(0,f.useRef)(null),Je=(0,f.useRef)(!1),mt=(0,f.useCallback)(()=>{xn(3);let c=3,u=()=>{c-=1,c<=0?(xn(null),r(!0),document.documentElement.classList.add("impakers-selecting")):(xn(c),kn.current=setTimeout(u,1e3))};kn.current=setTimeout(u,1e3)},[]),vo=(0,f.useCallback)(c=>{c==="comment"?_t():c==="delay-capture"?mt():c==="inbox"?(Pe(!0),Xt(e,{staleWhileRevalidate:!0}).then(Z).catch(()=>{}),o&&(r(!1),document.documentElement.classList.remove("impakers-selecting"),C(null),_(null))):c==="settings"&&Ae(!0)},[o,mt]),Co=(0,f.useCallback)(c=>{Ce(c),mo(c)},[]),_t=(0,f.useCallback)(()=>{r(c=>{let u=!c;return u?document.documentElement.classList.add("impakers-selecting"):(document.documentElement.classList.remove("impakers-selecting"),C(null),_(null)),u})},[]);(0,f.useEffect)(()=>()=>{document.documentElement.classList.remove("impakers-selecting")},[]),(0,f.useEffect)(()=>{a(at());let c=()=>{m(window.location.pathname),a(at()),_(null),C(null)};window.addEventListener("popstate",c);let u=history.pushState.bind(history);return history.pushState=(...B)=>{u(...B),setTimeout(c,50)},()=>{window.removeEventListener("popstate",c),history.pushState=u}},[]),(0,f.useEffect)(()=>{let c=Be(we),u=Ye(c);u&&(g(u),$e(!0));let B=pn(c,L=>{g(L),$e(!0)});return Ut(e,we,{staleWhileRevalidate:!0}).then(L=>{g(L),$e(!0)}).catch(()=>{}),B},[e,we]);let pt="impakers-debug-history-last-seen";(0,f.useEffect)(()=>{let c=localStorage.getItem(pt)||new Date(0).toISOString();Bn(e,{since:c,limit:100}).then(u=>bn(u.length)).catch(()=>{})},[e]);let wo=(0,f.useCallback)(()=>{localStorage.setItem(pt,new Date().toISOString()),bn(0)},[]);(0,f.useEffect)(()=>{if(!J)return;let c=de.map(xs).filter(u=>u!==null);a(c),ho(c)},[de,J]);let ft=(0,f.useRef)(!0);(0,f.useEffect)(()=>{if(ft.current){ft.current=!1;return}ho(s)},[s]),(0,f.useEffect)(()=>{let c=u=>{if(u.key==="Escape"){if(ce){Pe(!1);return}if(i){u.preventDefault(),y(!0),fe(()=>{_(null),y(!1)},150);return}o&&(u.preventDefault(),r(!1),document.documentElement.classList.remove("impakers-selecting"),C(null))}};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[ce,i,o]),(0,f.useEffect)(()=>{if(!o||i)return;let c=u=>{let B=u.composedPath()[0]||u.target;if(je(B,"[data-impakers-debug]")){C(null);return}let L=it(u.clientX,u.clientY);if(!L||je(L,"[data-impakers-debug]")){C(null);return}let{name:te,elementName:ge,path:ue,reactComponents:Q}=go(L),w=L.getBoundingClientRect();C({element:te,elementName:ge,elementPath:ue,rect:w,reactComponents:Q}),I({x:u.clientX,y:u.clientY})};return document.addEventListener("mousemove",c),()=>document.removeEventListener("mousemove",c)},[o,i]),(0,f.useEffect)(()=>{if(!o)return;let c=u=>{if(Je.current)return;let B=u.composedPath()[0]||u.target;if(je(B,"[data-impakers-debug]")||je(B,"[data-annotation-popup]")||je(B,"[data-annotation-marker]"))return;if(i){u.preventDefault(),u.stopPropagation(),ct.current?.shake();return}u.preventDefault(),u.stopPropagation();let L=it(u.clientX,u.clientY);if(!L)return;let{name:te,path:ge,reactComponents:ue}=go(L),Q=L.getBoundingClientRect(),w=u.clientX/window.innerWidth*100,ne=fs(L),Cn=ne?u.clientY:u.clientY+window.scrollY,tn=window.getSelection(),Ve;tn&&tn.toString().trim().length>0&&(Ve=tn.toString().trim().slice(0,500));let O=Rt(L),ke=It(L);_({x:w,y:Cn,clientY:u.clientY,element:te,elementPath:ge,selectedText:Ve,boundingBox:{x:Q.left,y:ne?Q.top:Q.top+window.scrollY,width:Q.width,height:Q.height},nearbyText:Nt(L),cssClasses:Et(L),isFixed:ne,fullPath:Ft(L),accessibility:Mt(L),computedStyles:ke,computedStylesObj:O,reactComponents:ue??void 0,sourceFile:gs(L),targetElement:L}),C(null);let wn=hs(L).filter(on=>on.includes("/chunks/"));wn.length>0&&(async()=>{for(let on of wn)try{let Sn=await tt(on);if(Sn){_(Wn=>Wn&&{...Wn,resolvedSource:`${Sn.source}:${Sn.line}`,resolvedName:Sn.name??void 0});break}}catch{}})()};return document.addEventListener("click",c,!0),()=>document.removeEventListener("click",c,!0)},[o,i]);let Ge=(0,f.useCallback)(c=>{pe(c),fe(()=>pe(null),4e3)},[]),So=(0,f.useCallback)(async c=>{if(!(!i||ae)){_e(!0);try{let u=jt(n),B=await Bt(),L=i.resolvedSource||i.sourceFile||"",te=i.resolvedName||null;if(!i.resolvedSource&&i.sourceFile?.includes("/chunks/"))try{let O=await tt(i.sourceFile);O&&(L=`${O.source}:${O.line}:${O.column}`,te=O.name)}catch{}let ge=await Ot(window.location.pathname),ue=L&&!L.includes("/chunks/")?ys(L,te):null,Q=Vt(ue?[ue]:void 0,ge?.targets);Q.length>0&&(u.debugTargets=Q),ge?.context&&(u.routeDebug=ge.context);let w=[];w.push(`## \uD53C\uB4DC\uBC31 ${c}`),Q.length>0&&(w.push(""),w.push("---"),w.push(""),w.push("**\uB514\uBC84\uAE45 \uD0C0\uAC9F \uD30C\uC77C**:"),Q.forEach(O=>{let ke=O.line?`:${O.line}${typeof O.column=="number"?`:${O.column}`:""}`:"";w.push(`- [${O.kind}] \`${O.file}${ke}\` (${O.reason})`)}));let ne=[];if(i.element&&ne.push(`**\uC120\uD0DD\uB41C \uC694\uC18C**: ${i.element}`),i.elementPath&&ne.push(`**DOM \uACBD\uB85C**: \`${i.elementPath}\``),i.selectedText&&ne.push(`**\uC120\uD0DD\uB41C \uD14D\uC2A4\uD2B8**: "${i.selectedText}"`),i.reactComponents?.trim()?ne.push(`**React \uCEF4\uD3EC\uB10C\uD2B8**: ${i.reactComponents}`):te&&ne.push(`**\uCEF4\uD3EC\uB10C\uD2B8/\uD568\uC218**: ${te}`),L&&!L.includes("/chunks/")&&ne.push(`**\uC18C\uC2A4 \uD30C\uC77C**: \`${L}\``),i.cssClasses&&ne.push(`**CSS \uD074\uB798\uC2A4**: \`${i.cssClasses}\``),i.nearbyText&&ne.push(`**\uC8FC\uBCC0 \uD14D\uC2A4\uD2B8**: ${i.nearbyText}`),i.accessibility&&ne.push(`**\uC811\uADFC\uC131**: ${i.accessibility}`),ne.length>0&&(w.push(""),w.push("---"),w.push(""),ne.forEach(O=>w.push(O))),u.consoleErrors?.length&&(w.push(""),w.push("---"),w.push(""),w.push("**\uCD5C\uADFC \uCF58\uC194 \uC5D0\uB7EC**:"),u.consoleErrors.slice(-10).forEach(O=>w.push(`- \`${O.slice(0,200)}\``))),u.consoleLogs?.length){let O=u.consoleLogs.filter(ke=>ke.level==="error"||ke.level==="warn").slice(-10);O.length>0&&(w.push(""),w.push("**\uCD5C\uADFC \uCF58\uC194 \uB85C\uADF8**:"),O.forEach(ke=>w.push(`- [${ke.level}] \`${ke.message.slice(0,200)}\``)))}if(w.push(""),w.push("---"),w.push(""),w.push("## \uD658\uACBD \uC815\uBCF4"),w.push(""),w.push(`- **URL**: ${u.url}`),w.push(`- **\uC2DC\uC810**: ${new Date(u.timestamp).toLocaleString("ko-KR")}`),w.push(`- **\uBE0C\uB77C\uC6B0\uC800**: ${u.browser}`),w.push(`- **\uD654\uBA74**: ${u.viewport} (@${u.pixelRatio}x)`),w.push(`- **\uC5B8\uC5B4**: ${u.language}`),u.user?.name&&w.push(`- **\uC0AC\uC6A9\uC790**: ${u.user.name}`),u.performance&&Object.keys(u.performance).length>0){w.push(""),w.push("---"),w.push(""),w.push("## \uC131\uB2A5"),w.push(""),w.push("| \uD56D\uBAA9 | \uAC12 |"),w.push("|------|-----|");let O={pageLoadTime:"\uD398\uC774\uC9C0 \uB85C\uB529",domContentLoaded:"DOM \uB85C\uB4DC",ttfb:"TTFB",firstContentfulPaint:"FCP",usedJSHeapMB:"\uBA54\uBAA8\uB9AC \uC0AC\uC6A9",totalJSHeapMB:"\uBA54\uBAA8\uB9AC \uC804\uCCB4"};for(let[ke,xt]of Object.entries(u.performance)){let wn=O[ke]||ke,on=ke.includes("Heap")?"MB":"ms";w.push(`| ${wn} | ${xt}${on} |`)}}let Cn=w.join(`
|
|
2838
|
+
`),tn=await Zt(e,{title:c.slice(0,100),description:"",priority:"medium",metadata:u,debugInfo:Cn,debug_info:Cn,screenshot:B,feedbackUrl:window.location.pathname,feedbackMarker:{x:i.x,y:i.y,isFixed:i.isFixed||!1,element:i.element,boundingBox:i.boundingBox},authorName:n?.()?.name?String(n().name):void 0});P(!0),fe(()=>P(!1),3e3);let Ve=tn.taskId||null;ut.current=Ve,fe(()=>{ut.current=null},300),fe(()=>{Ve&&K(O=>new Set(O).add(Ve))},250),y(!0),fe(()=>{_(null),y(!1),r(!1),document.documentElement.classList.remove("impakers-selecting"),Je.current=!0,setTimeout(()=>{Je.current=!1},300)},150),window.getSelection()?.removeAllRanges()}catch(u){let B=u?.message||"\uD53C\uB4DC\uBC31 \uC804\uC1A1 \uC2E4\uD328";Ge(B),console.error("[@impakers/debug] \uD53C\uB4DC\uBC31 \uC804\uC1A1 \uC2E4\uD328:",u)}finally{_e(!1)}}},[i,ae,e,n,Ge]),Lo=(0,f.useCallback)(()=>{y(!0),fe(()=>{_(null),y(!1),r(!1),document.documentElement.classList.remove("impakers-selecting"),Je.current=!0,setTimeout(()=>{Je.current=!1},300)},150)},[]),gt=(0,f.useCallback)(c=>{let u=c.id;Y(B=>B===u?null:u)},[]);(0,f.useEffect)(()=>{if(!T)return;let c=De(T),u=Ye(c);u?(be(L=>({...L,[T]:u})),xe(!1)):xe(!0);let B=pn(c,L=>{be(te=>({...te,[T]:L})),xe(!1)});return An(e,T,{staleWhileRevalidate:!0}).then(()=>xe(!1)).catch(()=>xe(!1)),B},[T,e]);let No=(0,f.useCallback)(async(c,u,B,L)=>{let te=n?.()?.name?String(n().name):"\uC775\uBA85",ge=n?.()?.id?String(n().id):void 0;try{let ue;if(L)try{ue=await Hn(e,L,"comment",c)}catch(Q){let w=Q?.message||"\uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328";Ge(w),console.error("[@impakers/debug] \uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328:",Q)}await $n(e,c,u,te,ge,B,ue)}catch(ue){let Q=ue?.message||"\uCF54\uBA58\uD2B8 \uC804\uC1A1 \uC2E4\uD328";Ge(Q),console.error("[@impakers/debug] \uCF54\uBA58\uD2B8 \uC804\uC1A1 \uC2E4\uD328:",ue)}},[n,e,Ge]),Eo=(0,f.useCallback)(()=>{Y(null)},[]),vn=(0,f.useCallback)(c=>{if(!c){R(null),q(null);return}if(R(c.id),c.boundingBox){let u=c.boundingBox,B=u.x+u.width/2,L=c.isFixed?u.y+u.height/2:u.y+u.height/2-window.scrollY,te=it(B,L);if(te){let ge=te.getBoundingClientRect(),ue=ge.width/u.width,Q=ge.height/u.height;if(ue>=.5&&Q>=.5){q(te);return}}}q(null)},[]),To=(0,f.useCallback)(()=>{if(!i)return{left:0,top:0};let c=i.x/100*window.innerWidth,u=i.isFixed?i.y:i.y-window.scrollY,B=Math.max(160,Math.min(window.innerWidth-160,c));return u>window.innerHeight-290?{left:B,bottom:window.innerHeight-u+20}:{left:B,top:u+20}},[i]);if(typeof document>"u")return null;let en=To(),nn=N?.getBoundingClientRect(),Ro=[{id:"comment",label:"\uD53C\uB4DC\uBC31",active:o,icon:(0,x.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,x.jsx)("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"})})},{id:"delay-capture",label:"\uB51C\uB808\uC774 \uCEA1\uCC98",icon:(0,x.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,x.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,x.jsx)("polyline",{points:"12 6 12 12 16 14"})]})},{id:"inbox",label:"Inbox",badge:Se||void 0,icon:(0,x.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,x.jsx)("polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12"}),(0,x.jsx)("path",{d:"M5.45 5.11L2 12v6a2 2 0 002 2h16a2 2 0 002-2v-6l-3.45-6.89A2 2 0 0016.76 4H7.24a2 2 0 00-1.79 1.11z"})]})},{id:"settings",label:"\uC124\uC815",icon:(0,x.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,x.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,x.jsx)("path",{d:"M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.68a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06A1.65 1.65 0 0019.4 9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z"})]})}],ht=we,jn=n?.()?.name?String(n().name):null,yt=(0,f.useMemo)(()=>s.filter(c=>{let u=de.find(B=>B.id===c.id);return!(M.hideDoneMarkers&&(c.status==="done"||c.status==="resolved")||M.showOnlyMine&&u?.authorName&&jn&&u.authorName!==jn)}),[s,de,M.hideDoneMarkers,M.showOnlyMine,jn]),bt=(c,u)=>({id:c.id,title:c.title||"\uD53C\uB4DC\uBC31",status:c.status,priority:c.priority,authorName:c.authorName||"\uC775\uBA85",feedbackUrl:c.feedbackUrl||u,createdAt:c.createdAt,startedAt:c.startedAt,completedAt:c.completedAt,commentCount:c.commentCount||0}),Io=de.map(c=>bt(c,ht)),Mo=h.map(c=>bt(c,""));return(0,yo.createPortal)((0,x.jsxs)("div",{"data-impakers-debug":"",children:[(0,x.jsx)(ro,{items:Ro,onSelect:vo,onHide:t,onDoubleTap:_t}),ce&&(0,x.jsx)(lo,{pageItems:Io,allItems:Mo,currentPath:ht,serviceName:Ct()||void 0,endpoint:e,currentUserName:n?.()?.name?String(n().name):"\uC775\uBA85",currentUserId:n?.()?.id?String(n().id):void 0,onClose:()=>Pe(!1),onHistoryViewed:wo,newNotiCount:Se}),Ie&&(0,x.jsx)(fo,{settings:M,onChange:Co,onClose:()=>Ae(!1)}),o&&(0,x.jsxs)(x.Fragment,{children:[v?.rect&&!i&&(0,x.jsx)("div",{className:`${ee.hoverHighlight} ${ee.enter}`,style:{left:v.rect.left,top:v.rect.top,width:v.rect.width,height:v.rect.height}}),v&&!i&&(0,x.jsxs)("div",{className:`${ee.hoverTooltip} ${ee.enter}`,style:{left:Math.min(A.x+14,window.innerWidth-200),top:A.y+14},children:[v.reactComponents&&(0,x.jsx)("div",{className:ee.hoverReactPath,children:v.reactComponents}),(0,x.jsx)("div",{className:ee.hoverElementName,children:v.elementName})]}),nn&&re&&(0,x.jsx)("div",{className:`${ee.singleSelectOutline} ${ee.enter}`,style:{left:nn.left,top:nn.top,width:nn.width,height:nn.height}}),i?.targetElement&&(()=>{let c=i.targetElement.getBoundingClientRect();return(0,x.jsx)("div",{className:`${ee.singleSelectOutline} ${ee.enter}`,style:{left:c.left,top:c.top,width:c.width,height:c.height}})})()]}),(0,x.jsx)("div",{className:ee.markersLayer,"data-impakers-debug":"",style:{display:M.markersVisible?void 0:"none"},children:yt.filter(c=>!c.isFixed).map((c,u)=>(0,x.jsx)(ot,{annotation:c,layerIndex:u,isAnimated:H.has(c.id),isHovered:re===c.id,isDeleting:!1,markerClickBehavior:"edit",accentColor:M.markerColor,onHover:()=>vn(c),onHoverEnd:()=>vn(null),onClick:()=>gt(c),onContextMenu:()=>{}},c.id))}),(0,x.jsxs)("div",{className:ee.fixedMarkersLayer,"data-impakers-debug":"",style:{display:M.markersVisible?void 0:"none"},children:[yt.filter(c=>c.isFixed).map((c,u)=>(0,x.jsx)(ot,{annotation:c,layerIndex:u,isAnimated:H.has(c.id),isHovered:re===c.id,isDeleting:!1,markerClickBehavior:"edit",accentColor:M.markerColor,onHover:()=>vn(c),onHoverEnd:()=>vn(null),onClick:()=>gt(c),onContextMenu:()=>{}},c.id)),i&&(0,x.jsx)(Jt,{x:i.x,y:i.clientY,isMultiSelect:!1,accentColor:M.markerColor})]}),i&&(0,x.jsx)(Lt,{ref:ct,element:i.resolvedSource||i.resolvedName||i.element,selectedText:i.selectedText,isExiting:k,style:{position:"fixed",left:en.left,..."top"in en?{top:en.top}:{},..."bottom"in en?{bottom:en.bottom}:{},transform:"translateX(-50%)",zIndex:100001},onSubmit:So,onCancel:Lo}),T&&(()=>{let c=s.find(ne=>ne.id===T),u=de.find(ne=>ne.id===T);if(!c)return null;let B=c.x/100*window.innerWidth,L=c.isFixed?c.y:c.y-window.scrollY,te=Math.max(10,Math.min(B+20,window.innerWidth-360)),ge=window.innerHeight-L,ue=L,Q=ge>=300?Math.min(L,window.innerHeight-60):Math.max(10,L-Math.min(480,ue-10)),w={id:c.id,title:u?.title||c.comment||"\uD53C\uB4DC\uBC31",status:u?.status||"todo",authorName:u?.authorName||void 0,createdAt:u?.createdAt||new Date(c.timestamp).toISOString(),comments:le[c.id]||[]};return(0,x.jsx)(oo,{task:w,currentUserName:n?.()?.name?String(n().name):"\uC775\uBA85",currentUserId:n?.()?.id?String(n().id):void 0,left:te,top:Q,loading:Te,onClose:Eo,onReply:No})})(),dt!==null&&(0,x.jsxs)("div",{className:ee.countdownOverlay,"data-impakers-debug":"",children:[(0,x.jsx)("div",{className:ee.countdownNumber,children:dt}),(0,x.jsx)("div",{className:ee.countdownLabel,children:"\uD53C\uB4DC\uBC31 \uBAA8\uB4DC \uD65C\uC131\uD654\uAE4C\uC9C0..."}),(0,x.jsx)("button",{className:ee.countdownCancel,onClick:()=>{kn.current&&clearTimeout(kn.current),xn(null)},type:"button",children:"\uCDE8\uC18C"})]}),b&&(0,x.jsxs)("div",{className:ee.toast,"data-impakers-debug":"",children:[(0,x.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#16a34a",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,x.jsx)("polyline",{points:"20 6 9 17 4 12"})}),(0,x.jsx)("span",{children:"\uD0DC\uC2A4\uD06C \uC0DD\uC131\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4"})]}),E&&(0,x.jsxs)("div",{className:`${ee.toast} ${ee.toastError}`,"data-impakers-debug":"",children:[(0,x.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,x.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,x.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,x.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]}),(0,x.jsx)("span",{children:E})]})]}),document.body)}var qe=require("react"),xo=require("react-dom");var ie=require("react/jsx-runtime");function ko({endpoint:e,onSuccess:n,onClose:t}){let[o,r]=(0,qe.useState)(""),[s,a]=(0,qe.useState)(!1),[i,_]=(0,qe.useState)(null),k=(0,qe.useCallback)(async y=>{if(y.preventDefault(),!(!o.trim()||s)){a(!0),_(null);try{let v=await wt(e,o.trim().toUpperCase());n(v.serviceName)}catch(v){_(v instanceof Error?v.message:"\uC778\uC99D \uC2E4\uD328")}finally{a(!1)}}},[o,e,s,n]);return typeof document>"u"?null:(0,xo.createPortal)((0,ie.jsxs)("div",{"data-impakers-debug":"",style:{position:"fixed",inset:0,zIndex:2147483647,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"},children:[(0,ie.jsx)("div",{onClick:t,style:{position:"absolute",inset:0,background:"rgba(0, 0, 0, 0.4)"}}),(0,ie.jsxs)("div",{style:{position:"relative",width:360,background:"white",borderRadius:12,boxShadow:"0 16px 48px rgba(0,0,0,0.16)",overflow:"hidden"},children:[(0,ie.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 20px",borderBottom:"1px solid #e5e5e5"},children:[(0,ie.jsx)("h3",{style:{fontSize:15,fontWeight:600,color:"#18181b",margin:0},children:"\uD53C\uB4DC\uBC31 \uC704\uC82F \uC778\uC99D"}),(0,ie.jsx)("button",{onClick:t,type:"button",style:{width:28,height:28,border:"none",background:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,color:"#71717a"},children:(0,ie.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,ie.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),(0,ie.jsxs)("div",{style:{padding:20},children:[(0,ie.jsxs)("p",{style:{fontSize:13,color:"#71717a",textAlign:"center",marginBottom:16,lineHeight:1.5},children:["\uC11C\uBE44\uC2A4 \uC2DC\uD06C\uB9BF \uCF54\uB4DC\uB97C \uC785\uB825\uD574\uC8FC\uC138\uC694.",(0,ie.jsx)("br",{}),"\uCF54\uB4DC\uB294 \uC784\uD328\uCEE4\uC2A4 OS\uC5D0\uC11C \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."]}),i&&(0,ie.jsx)("div",{style:{background:"#fef2f2",border:"1px solid #fecaca",color:"#dc2626",padding:"8px 12px",borderRadius:8,fontSize:13,marginBottom:12},children:i}),(0,ie.jsxs)("form",{onSubmit:k,children:[(0,ie.jsx)("input",{type:"text",maxLength:6,placeholder:"A3F9K2",value:o,onChange:y=>r(y.target.value.toUpperCase()),autoFocus:!0,autoComplete:"off",style:{width:"100%",padding:"12px 16px",border:"1px solid #d4d4d8",borderRadius:8,fontSize:24,fontWeight:600,textAlign:"center",letterSpacing:8,textTransform:"uppercase",outline:"none",boxSizing:"border-box",fontFamily:"inherit",color:"#18181b"}}),(0,ie.jsx)("button",{type:"submit",disabled:o.trim().length<6||s,style:{width:"100%",marginTop:16,padding:"10px 16px",border:"none",borderRadius:8,fontSize:14,fontWeight:500,cursor:o.trim().length<6||s?"not-allowed":"pointer",background:o.trim().length<6||s?"#a1a1aa":"#18181b",color:"white",fontFamily:"inherit"},children:s?"\uC778\uC99D \uC911...":"\uC778\uC99D\uD558\uAE30"})]})]})]})]}),document.body)}var Oe=require("react/jsx-runtime");function ks({endpoint:e,getUser:n}){let[t,o]=(0,ve.useState)(!1),[r,s]=(0,ve.useState)(!1),[a,i]=(0,ve.useState)(()=>{try{return localStorage.getItem("impakers-debug-hidden")==="1"}catch{return!1}});(0,ve.useEffect)(()=>{o(Ke())},[]),(0,ve.useEffect)(()=>{let v=[He._on("impakers-debug:show-auth",()=>{s(!0),i(!1);try{localStorage.removeItem("impakers-debug-hidden")}catch{}}),He._on("impakers-debug:open",()=>{i(!1);try{localStorage.removeItem("impakers-debug-hidden")}catch{}}),He._on("impakers-debug:deactivate",()=>{o(!1),s(!1)})];return()=>v.forEach(C=>C())},[]),(0,ve.useEffect)(()=>{function v(C){if((C.ctrlKey||C.metaKey)&&C.shiftKey&&(C.key==="."||C.key===">"||C.code==="Period")){if(C.preventDefault(),a){i(!1);try{localStorage.removeItem("impakers-debug-hidden")}catch{}return}Ke()?o(!0):s(A=>!A)}}return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[a]);let _=(0,ve.useCallback)(v=>{o(!0),s(!1)},[]),k=(0,ve.useCallback)(()=>{s(!1)},[]),y=(0,ve.useCallback)(()=>{i(!0);try{localStorage.setItem("impakers-debug-hidden","1")}catch{}},[]);return(0,Oe.jsxs)(Oe.Fragment,{children:[t&&!a&&(0,Oe.jsx)(bo,{endpoint:e,getUser:n,onHide:y}),r&&!t&&(0,Oe.jsx)(ko,{endpoint:e,onSuccess:_,onClose:k})]})}0&&(module.exports={ImpakersDebug,ImpakersDebugProvider});
|