@impakers/debug 1.4.17 → 1.4.19

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.mjs CHANGED
@@ -106,7 +106,7 @@ _ImpakersDebug._eventTarget = typeof EventTarget !== "undefined" ? new EventTarg
106
106
  var ImpakersDebug = _ImpakersDebug;
107
107
 
108
108
  // src/components/debug-widget/index.tsx
109
- import { useState as useState5, useCallback as useCallback6, useEffect as useEffect5, useRef as useRef5, useMemo } from "react";
109
+ import { useState as useState5, useCallback as useCallback6, useEffect as useEffect5, useRef as useRef5, useMemo as useMemo2 } from "react";
110
110
  import { createPortal as createPortal3 } from "react-dom";
111
111
 
112
112
  // src/components/annotation-popup-css/index.tsx
@@ -2261,6 +2261,17 @@ async function uploadFile(endpoint, file, context, taskId) {
2261
2261
  }
2262
2262
  return res.json();
2263
2263
  }
2264
+ async function fetchHistory(endpoint, options = {}) {
2265
+ const params = new URLSearchParams();
2266
+ if (options.since) params.set("since", options.since);
2267
+ if (options.date) params.set("date", options.date);
2268
+ if (options.limit) params.set("limit", String(options.limit));
2269
+ const qs = params.toString();
2270
+ const url = `${endpoint}/history${qs ? `?${qs}` : ""}`;
2271
+ const res = await apiFetch(url);
2272
+ const data = await res.json();
2273
+ return data.events || [];
2274
+ }
2264
2275
 
2265
2276
  // src/core/sourcemap-resolver.ts
2266
2277
  import { AnyMap, originalPositionFor } from "@jridgewell/trace-mapping";
@@ -2436,9 +2447,32 @@ function PendingMarker({ x, y, accentColor }) {
2436
2447
  // src/components/comment-thread/index.tsx
2437
2448
  import { useState as useState2, useRef as useRef2, useEffect as useEffect2, useCallback as useCallback2 } from "react";
2438
2449
 
2450
+ // src/components/loading-spinner/styles.module.scss
2451
+ var css3 = "@keyframes styles-module__spin___h0C6p {\n to {\n transform: rotate(360deg);\n }\n}\n.styles-module__container___YKn1h {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 24px 16px;\n}\n\n.styles-module__spinner___4ELZK {\n width: 20px;\n height: 20px;\n border: 2px solid #e5e7eb;\n border-top-color: #6b7280;\n border-radius: 50%;\n animation: styles-module__spin___h0C6p 0.6s linear infinite;\n}\n\n.styles-module__message___70Ayy {\n font-size: 12px;\n color: #9ca3af;\n}";
2452
+ var classNames3 = { "container": "styles-module__container___YKn1h", "spinner": "styles-module__spinner___4ELZK", "spin": "styles-module__spin___h0C6p", "message": "styles-module__message___70Ayy" };
2453
+ if (typeof document !== "undefined") {
2454
+ let style = document.getElementById("impakers-debug-styles-loading-spinner-styles");
2455
+ if (!style) {
2456
+ style = document.createElement("style");
2457
+ style.id = "impakers-debug-styles-loading-spinner-styles";
2458
+ document.head.appendChild(style);
2459
+ }
2460
+ style.textContent = css3;
2461
+ }
2462
+ var styles_module_default3 = classNames3;
2463
+
2464
+ // src/components/loading-spinner/index.tsx
2465
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
2466
+ function LoadingSpinner({ message = "\uB85C\uB529 \uC911..." }) {
2467
+ return /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.container, children: [
2468
+ /* @__PURE__ */ jsx4("div", { className: styles_module_default3.spinner }),
2469
+ /* @__PURE__ */ jsx4("span", { className: styles_module_default3.message, children: message })
2470
+ ] });
2471
+ }
2472
+
2439
2473
  // src/components/comment-thread/styles.module.scss
2440
- var css3 = '@keyframes styles-module__threadIn___pBTFZ {\n from {\n opacity: 0;\n transform: scale(0.96) translateY(4px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n@keyframes styles-module__threadOut___-ccKh {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.96);\n }\n}\n.styles-module__thread___ua2EO {\n position: fixed;\n width: 340px;\n max-height: min(480px, 100vh - 40px);\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);\n z-index: 100002;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n font-size: 13px;\n color: #1a1a1a;\n animation: styles-module__threadIn___pBTFZ 0.15s ease-out;\n -webkit-font-smoothing: antialiased;\n}\n.styles-module__thread___ua2EO.styles-module__exiting___RIPeX {\n animation: styles-module__threadOut___-ccKh 0.12s ease-in forwards;\n pointer-events: none;\n}\n\n.styles-module__header___GiEBq {\n padding: 14px 16px 10px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n flex-shrink: 0;\n}\n\n.styles-module__avatar___JElAd {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background: #16a34a;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.styles-module__headerInfo___E8809 {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__headerTop___eDiCd {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 4px;\n}\n\n.styles-module__authorName___T1BfB {\n font-size: 13px;\n font-weight: 600;\n color: #1a1a1a;\n}\n\n.styles-module__timestamp___WusBf {\n font-size: 12px;\n color: #9ca3af;\n}\n\n.styles-module__headerActions___8FsMY {\n display: flex;\n align-items: center;\n gap: 2px;\n flex-shrink: 0;\n}\n\n.styles-module__headerAction___Tinmq {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #9ca3af;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n.styles-module__headerAction___Tinmq:hover {\n background: #f3f4f6;\n color: #374151;\n}\n.styles-module__headerAction___Tinmq svg {\n width: 16px;\n height: 16px;\n}\n\n.styles-module__title___qkfqY {\n font-size: 13px;\n color: #1a1a1a;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.styles-module__commentsList___kYqAR {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 0;\n}\n.styles-module__commentsList___kYqAR::-webkit-scrollbar {\n width: 4px;\n}\n.styles-module__commentsList___kYqAR::-webkit-scrollbar-thumb {\n background: #d1d5db;\n border-radius: 2px;\n}\n\n.styles-module__comment___pW3IO {\n padding: 10px 16px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.styles-module__comment___pW3IO:hover {\n background: #f9fafb;\n}\n.styles-module__comment___pW3IO:hover .styles-module__commentActions___wO0fs {\n opacity: 1;\n}\n\n.styles-module__commentHighlight___EiTmx {\n background: #eff6ff;\n border-left: 2px solid #3b82f6;\n padding-left: 14px;\n}\n\n.styles-module__commentContent___RObGr {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__commentTop___BbTF3 {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 2px;\n}\n\n.styles-module__commentAuthor___tBjpl {\n font-size: 13px;\n font-weight: 600;\n color: #1a1a1a;\n}\n\n.styles-module__commentTime___0OLrz {\n font-size: 12px;\n color: #9ca3af;\n}\n\n.styles-module__commentActions___wO0fs {\n display: flex;\n gap: 2px;\n opacity: 0;\n transition: opacity 0.12s;\n}\n\n.styles-module__commentText___ldy2V {\n font-size: 13px;\n color: #374151;\n line-height: 1.5;\n word-break: break-word;\n white-space: pre-wrap;\n}\n\n.styles-module__screenshot___jUqau {\n margin-top: 8px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n position: relative;\n max-width: 200px;\n}\n.styles-module__screenshot___jUqau img {\n width: 100%;\n height: auto;\n display: block;\n}\n.styles-module__screenshot___jUqau .styles-module__screenshotBadge___roEqY {\n position: absolute;\n top: 6px;\n right: 6px;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 4px;\n font-weight: 500;\n}\n\n.styles-module__fileCard___-iOro {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 8px;\n padding: 8px 10px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n text-decoration: none;\n color: inherit;\n cursor: pointer;\n transition: background 0.12s;\n max-width: 200px;\n}\n.styles-module__fileCard___-iOro:hover {\n background: #f3f4f6;\n}\n\n.styles-module__fileIcon___dNJMT {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n background: #e5e7eb;\n color: #374151;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: 700;\n flex-shrink: 0;\n letter-spacing: 0.5px;\n}\n\n.styles-module__fileInfo___dVrLV {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.styles-module__fileCardName___SHOj- {\n font-size: 12px;\n font-weight: 500;\n color: #1a1a1a;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__fileCardSize___W53JL {\n font-size: 11px;\n color: #9ca3af;\n}\n\n.styles-module__pendingFile___-OSRs {\n position: relative;\n margin: 0 16px 8px;\n padding: 8px 10px;\n padding-right: 30px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.styles-module__divider___kDjxN {\n height: 1px;\n background: #f3f4f6;\n margin: 0;\n flex-shrink: 0;\n}\n\n.styles-module__pendingImage___gHaF3 {\n position: relative;\n margin: 0 16px 8px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n max-height: 120px;\n flex-shrink: 0;\n}\n.styles-module__pendingImage___gHaF3 img {\n width: 100%;\n height: auto;\n display: block;\n object-fit: cover;\n max-height: 120px;\n}\n\n.styles-module__pendingRemove___FRL4h {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n line-height: 1;\n padding: 0;\n}\n.styles-module__pendingRemove___FRL4h:hover {\n background: rgba(0, 0, 0, 0.8);\n}\n\n.styles-module__replyArea___VQn9b {\n padding: 10px 16px 8px;\n border-top: 1px solid #f3f4f6;\n flex-shrink: 0;\n}\n\n.styles-module__replyInput___uZNBW {\n width: 100%;\n border: none;\n outline: none;\n font-size: 13px;\n font-family: inherit;\n color: #1a1a1a;\n resize: none;\n padding: 0;\n min-height: 36px;\n max-height: 120px;\n line-height: 1.55;\n transition: height 0.1s ease;\n}\n.styles-module__replyInput___uZNBW::placeholder {\n color: #9ca3af;\n}\n\n.styles-module__replyToolbar___fTFJU {\n display: flex;\n align-items: center;\n padding: 4px 16px 10px;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.styles-module__replyTool___Ho-Rx {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #9ca3af;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n.styles-module__replyTool___Ho-Rx:hover {\n background: #f3f4f6;\n color: #374151;\n}\n.styles-module__replyTool___Ho-Rx svg {\n width: 16px;\n height: 16px;\n}\n\n.styles-module__replySend___e0VSb {\n margin-left: auto;\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #9ca3af;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n.styles-module__replySend___e0VSb:hover {\n color: #3b82f6;\n}\n.styles-module__replySend___e0VSb.styles-module__active___R--Jj {\n color: #3b82f6;\n}\n.styles-module__replySend___e0VSb svg {\n width: 16px;\n height: 16px;\n}\n\n.styles-module__empty___XXGiw {\n padding: 24px 16px;\n text-align: center;\n color: #9ca3af;\n font-size: 13px;\n}\n\n.styles-module__statusBadge___el8ml {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 500;\n padding: 2px 8px;\n border-radius: 10px;\n margin-left: auto;\n}\n.styles-module__statusBadge___el8ml.styles-module__todo___rUWBr {\n background: #fef3c7;\n color: #92400e;\n}\n.styles-module__statusBadge___el8ml.styles-module__inProgress___HEWgU {\n background: #dbeafe;\n color: #1e40af;\n}\n.styles-module__statusBadge___el8ml.styles-module__done___zC12n {\n background: #dcfce7;\n color: #166534;\n}\n\n.styles-module__lightbox___KoWEF {\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n background: rgba(0, 0, 0, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: zoom-out;\n}\n.styles-module__lightbox___KoWEF img {\n max-width: 90vw;\n max-height: 90vh;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n cursor: default;\n}\n\n.styles-module__lightboxClose___tGZlm {\n position: absolute;\n top: 16px;\n right: 16px;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n border: none;\n cursor: pointer;\n font-size: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.styles-module__lightboxClose___tGZlm:hover {\n background: rgba(255, 255, 255, 0.25);\n}';
2441
- var classNames3 = { "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" };
2474
+ var css4 = '@keyframes styles-module__threadIn___pBTFZ {\n from {\n opacity: 0;\n transform: scale(0.96) translateY(4px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n@keyframes styles-module__threadOut___-ccKh {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.96);\n }\n}\n.styles-module__thread___ua2EO {\n position: fixed;\n width: 340px;\n max-height: min(480px, 100vh - 40px);\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);\n z-index: 100002;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n font-size: 13px;\n color: #1a1a1a;\n animation: styles-module__threadIn___pBTFZ 0.15s ease-out;\n -webkit-font-smoothing: antialiased;\n}\n.styles-module__thread___ua2EO.styles-module__exiting___RIPeX {\n animation: styles-module__threadOut___-ccKh 0.12s ease-in forwards;\n pointer-events: none;\n}\n\n.styles-module__header___GiEBq {\n padding: 14px 16px 10px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n flex-shrink: 0;\n background: #f5f5f5;\n}\n\n.styles-module__avatar___JElAd {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background: #16a34a;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.styles-module__headerInfo___E8809 {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__headerTop___eDiCd {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 4px;\n}\n\n.styles-module__authorName___T1BfB {\n font-size: 13px;\n font-weight: 600;\n color: #1a1a1a;\n}\n\n.styles-module__timestamp___WusBf {\n font-size: 12px;\n color: #9ca3af;\n}\n\n.styles-module__headerActions___8FsMY {\n display: flex;\n align-items: center;\n gap: 2px;\n flex-shrink: 0;\n}\n\n.styles-module__headerAction___Tinmq {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #9ca3af;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n.styles-module__headerAction___Tinmq:hover {\n background: #f3f4f6;\n color: #374151;\n}\n.styles-module__headerAction___Tinmq svg {\n width: 16px;\n height: 16px;\n}\n\n.styles-module__title___qkfqY {\n font-size: 13px;\n color: #1a1a1a;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.styles-module__commentsList___kYqAR {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 0;\n}\n.styles-module__commentsList___kYqAR::-webkit-scrollbar {\n width: 4px;\n}\n.styles-module__commentsList___kYqAR::-webkit-scrollbar-thumb {\n background: #d1d5db;\n border-radius: 2px;\n}\n\n.styles-module__comment___pW3IO {\n padding: 10px 16px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.styles-module__comment___pW3IO:hover {\n background: #f9fafb;\n}\n.styles-module__comment___pW3IO:hover .styles-module__commentActions___wO0fs {\n opacity: 1;\n}\n\n.styles-module__commentHighlight___EiTmx {\n background: #eff6ff;\n border-left: 2px solid #3b82f6;\n padding-left: 14px;\n}\n\n.styles-module__commentContent___RObGr {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__commentTop___BbTF3 {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 2px;\n}\n\n.styles-module__commentAuthor___tBjpl {\n font-size: 13px;\n font-weight: 600;\n color: #1a1a1a;\n}\n\n.styles-module__commentTime___0OLrz {\n font-size: 12px;\n color: #9ca3af;\n}\n\n.styles-module__commentActions___wO0fs {\n display: flex;\n gap: 2px;\n opacity: 0;\n transition: opacity 0.12s;\n}\n\n.styles-module__commentText___ldy2V {\n font-size: 13px;\n color: #374151;\n line-height: 1.5;\n word-break: break-word;\n white-space: pre-wrap;\n}\n\n.styles-module__screenshot___jUqau {\n margin-top: 8px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n position: relative;\n max-width: 200px;\n}\n.styles-module__screenshot___jUqau img {\n width: 100%;\n height: auto;\n display: block;\n}\n.styles-module__screenshot___jUqau .styles-module__screenshotBadge___roEqY {\n position: absolute;\n top: 6px;\n right: 6px;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 4px;\n font-weight: 500;\n}\n\n.styles-module__fileCard___-iOro {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 8px;\n padding: 8px 10px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n text-decoration: none;\n color: inherit;\n cursor: pointer;\n transition: background 0.12s;\n max-width: 200px;\n}\n.styles-module__fileCard___-iOro:hover {\n background: #f3f4f6;\n}\n\n.styles-module__fileIcon___dNJMT {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n background: #e5e7eb;\n color: #374151;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: 700;\n flex-shrink: 0;\n letter-spacing: 0.5px;\n}\n\n.styles-module__fileInfo___dVrLV {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.styles-module__fileCardName___SHOj- {\n font-size: 12px;\n font-weight: 500;\n color: #1a1a1a;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__fileCardSize___W53JL {\n font-size: 11px;\n color: #9ca3af;\n}\n\n.styles-module__pendingFile___-OSRs {\n position: relative;\n margin: 0 16px 8px;\n padding: 8px 10px;\n padding-right: 30px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.styles-module__divider___kDjxN {\n height: 1px;\n background: #f3f4f6;\n margin: 0;\n flex-shrink: 0;\n}\n\n.styles-module__pendingImage___gHaF3 {\n position: relative;\n margin: 0 16px 8px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n max-height: 120px;\n flex-shrink: 0;\n}\n.styles-module__pendingImage___gHaF3 img {\n width: 100%;\n height: auto;\n display: block;\n object-fit: cover;\n max-height: 120px;\n}\n\n.styles-module__pendingRemove___FRL4h {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n line-height: 1;\n padding: 0;\n}\n.styles-module__pendingRemove___FRL4h:hover {\n background: rgba(0, 0, 0, 0.8);\n}\n\n.styles-module__replyArea___VQn9b {\n padding: 10px 16px 8px;\n border-top: 1px solid #f3f4f6;\n flex-shrink: 0;\n}\n\n.styles-module__replyInput___uZNBW {\n width: 100%;\n border: none;\n outline: none;\n font-size: 13px;\n font-family: inherit;\n color: #1a1a1a;\n resize: none;\n padding: 0;\n min-height: 36px;\n max-height: 120px;\n line-height: 1.55;\n transition: height 0.1s ease;\n}\n.styles-module__replyInput___uZNBW::placeholder {\n color: #9ca3af;\n}\n\n.styles-module__replyToolbar___fTFJU {\n display: flex;\n align-items: center;\n padding: 4px 16px 10px;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.styles-module__replyTool___Ho-Rx {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #9ca3af;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n.styles-module__replyTool___Ho-Rx:hover {\n background: #f3f4f6;\n color: #374151;\n}\n.styles-module__replyTool___Ho-Rx svg {\n width: 16px;\n height: 16px;\n}\n\n.styles-module__replySend___e0VSb {\n margin-left: auto;\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #9ca3af;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n.styles-module__replySend___e0VSb:hover {\n color: #3b82f6;\n}\n.styles-module__replySend___e0VSb.styles-module__active___R--Jj {\n color: #3b82f6;\n}\n.styles-module__replySend___e0VSb svg {\n width: 16px;\n height: 16px;\n}\n\n.styles-module__empty___XXGiw {\n padding: 24px 16px;\n text-align: center;\n color: #9ca3af;\n font-size: 13px;\n}\n\n.styles-module__statusBadge___el8ml {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 500;\n padding: 2px 8px;\n border-radius: 10px;\n margin-left: auto;\n}\n.styles-module__statusBadge___el8ml.styles-module__todo___rUWBr {\n background: #fef3c7;\n color: #92400e;\n}\n.styles-module__statusBadge___el8ml.styles-module__inProgress___HEWgU {\n background: #dbeafe;\n color: #1e40af;\n}\n.styles-module__statusBadge___el8ml.styles-module__done___zC12n {\n background: #dcfce7;\n color: #166534;\n}\n\n.styles-module__lightbox___KoWEF {\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n background: rgba(0, 0, 0, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: zoom-out;\n}\n.styles-module__lightbox___KoWEF img {\n max-width: 90vw;\n max-height: 90vh;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n cursor: default;\n}\n\n.styles-module__lightboxClose___tGZlm {\n position: absolute;\n top: 16px;\n right: 16px;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n border: none;\n cursor: pointer;\n font-size: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.styles-module__lightboxClose___tGZlm:hover {\n background: rgba(255, 255, 255, 0.25);\n}';
2475
+ var classNames4 = { "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" };
2442
2476
  if (typeof document !== "undefined") {
2443
2477
  let style = document.getElementById("impakers-debug-styles-comment-thread-styles");
2444
2478
  if (!style) {
@@ -2446,24 +2480,24 @@ if (typeof document !== "undefined") {
2446
2480
  style.id = "impakers-debug-styles-comment-thread-styles";
2447
2481
  document.head.appendChild(style);
2448
2482
  }
2449
- style.textContent = css3;
2483
+ style.textContent = css4;
2450
2484
  }
2451
- var styles_module_default3 = classNames3;
2485
+ var styles_module_default4 = classNames4;
2452
2486
 
2453
2487
  // src/components/comment-thread/index.tsx
2454
- import { Fragment, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
2488
+ import { Fragment, jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
2455
2489
  function formatTime(dateStr) {
2456
2490
  const date = new Date(dateStr);
2457
2491
  const diff = Date.now() - date.getTime();
2458
2492
  const pad = (n) => String(n).padStart(2, "0");
2459
- const abs = `${pad(date.getMonth() + 1)}.${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`;
2493
+ const abs = `${date.getMonth() + 1}/${date.getDate()} ${pad(date.getHours())}:${pad(date.getMinutes())}`;
2460
2494
  const m = Math.floor(diff / 6e4);
2461
- if (m < 1) return `${abs} (just now)`;
2462
- if (m < 60) return `${abs} (${m}m)`;
2495
+ if (m < 1) return `${abs} (\uBC29\uAE08)`;
2496
+ if (m < 60) return `${abs} (${m}\uBD84 \uC804)`;
2463
2497
  const h = Math.floor(m / 60);
2464
- if (h < 24) return `${abs} (${h}h)`;
2498
+ if (h < 24) return `${abs} (${h}\uC2DC\uAC04 \uC804)`;
2465
2499
  const d = Math.floor(h / 24);
2466
- return `${abs} (${d}d)`;
2500
+ return `${abs} (${d}\uC77C \uC804)`;
2467
2501
  }
2468
2502
  function getInitials(name) {
2469
2503
  return name.slice(0, 1).toUpperCase();
@@ -2490,6 +2524,7 @@ function CommentThread({
2490
2524
  left,
2491
2525
  top,
2492
2526
  bottom,
2527
+ loading,
2493
2528
  onClose,
2494
2529
  onReply
2495
2530
  }) {
@@ -2510,7 +2545,7 @@ function CommentThread({
2510
2545
  if (capturingDom) return;
2511
2546
  const handler = (e) => {
2512
2547
  const target = e.target;
2513
- if (target.closest(`.${styles_module_default3.thread}`)) return;
2548
+ if (target.closest(`.${styles_module_default4.thread}`)) return;
2514
2549
  if (target.closest("[data-annotation-marker]")) return;
2515
2550
  if (target.closest("[data-impakers-debug]")) return;
2516
2551
  handleClose();
@@ -2629,57 +2664,61 @@ function CommentThread({
2629
2664
  ...top !== void 0 ? { top } : {},
2630
2665
  ...bottom !== void 0 ? { bottom } : {}
2631
2666
  };
2632
- return /* @__PURE__ */ jsxs4(
2667
+ return /* @__PURE__ */ jsxs5(
2633
2668
  "div",
2634
2669
  {
2635
- className: `${styles_module_default3.thread} ${exiting ? styles_module_default3.exiting : ""}`,
2670
+ className: `${styles_module_default4.thread} ${exiting ? styles_module_default4.exiting : ""}`,
2636
2671
  style: positionStyle,
2637
2672
  "data-impakers-debug": "",
2638
2673
  onClick: (e) => e.stopPropagation(),
2639
2674
  children: [
2640
- /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.header, children: [
2641
- /* @__PURE__ */ jsx4("div", { className: styles_module_default3.avatar, children: getInitials(task.authorName || currentUserName) }),
2642
- /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.headerInfo, children: [
2643
- /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.headerTop, children: [
2644
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.authorName, children: task.authorName || currentUserName }),
2645
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.timestamp, children: formatTime(task.createdAt) })
2675
+ /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.header, children: [
2676
+ /* @__PURE__ */ jsx5("div", { className: styles_module_default4.avatar, children: getInitials(task.authorName || currentUserName) }),
2677
+ /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.headerInfo, children: [
2678
+ /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.headerTop, children: [
2679
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.authorName, children: task.authorName || currentUserName }),
2680
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.timestamp, children: formatTime(task.createdAt) })
2646
2681
  ] }),
2647
- /* @__PURE__ */ jsx4("div", { className: styles_module_default3.title, children: feedbackTitle })
2682
+ /* @__PURE__ */ jsx5("div", { className: styles_module_default4.title, children: feedbackTitle })
2648
2683
  ] }),
2649
- /* @__PURE__ */ jsx4("div", { className: styles_module_default3.headerActions, children: /* @__PURE__ */ jsx4("button", { className: styles_module_default3.headerAction, onClick: handleClose, title: "\uB2EB\uAE30", type: "button", children: /* @__PURE__ */ jsx4("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx4("path", { d: "M18 6L6 18M6 6l12 12" }) }) }) })
2684
+ /* @__PURE__ */ jsx5("div", { className: styles_module_default4.headerActions, children: /* @__PURE__ */ jsx5("button", { className: styles_module_default4.headerAction, onClick: handleClose, title: "\uB2EB\uAE30", type: "button", children: /* @__PURE__ */ jsx5("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx5("path", { d: "M18 6L6 18M6 6l12 12" }) }) }) })
2685
+ ] }),
2686
+ loading && task.comments.length === 0 && /* @__PURE__ */ jsxs5(Fragment, { children: [
2687
+ /* @__PURE__ */ jsx5("div", { className: styles_module_default4.divider }),
2688
+ /* @__PURE__ */ jsx5(LoadingSpinner, { message: "\uB313\uAE00 \uB85C\uB529 \uC911..." })
2650
2689
  ] }),
2651
- task.comments.length > 0 && /* @__PURE__ */ jsxs4(Fragment, { children: [
2652
- /* @__PURE__ */ jsx4("div", { className: styles_module_default3.divider }),
2653
- /* @__PURE__ */ jsx4("div", { className: styles_module_default3.commentsList, ref: listRef, children: task.comments.map((comment) => /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.comment, children: [
2654
- /* @__PURE__ */ jsx4("div", { className: styles_module_default3.avatar, style: { width: 22, height: 22, fontSize: 10 }, children: getInitials(comment.authorName) }),
2655
- /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.commentContent, children: [
2656
- /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.commentTop, children: [
2657
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.commentAuthor, children: comment.authorName }),
2658
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.commentTime, children: formatTime(comment.createdAt) })
2690
+ task.comments.length > 0 && /* @__PURE__ */ jsxs5(Fragment, { children: [
2691
+ /* @__PURE__ */ jsx5("div", { className: styles_module_default4.divider }),
2692
+ /* @__PURE__ */ jsx5("div", { className: styles_module_default4.commentsList, ref: listRef, children: task.comments.map((comment) => /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.comment, children: [
2693
+ /* @__PURE__ */ jsx5("div", { className: styles_module_default4.avatar, style: { width: 22, height: 22, fontSize: 10 }, children: getInitials(comment.authorName) }),
2694
+ /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.commentContent, children: [
2695
+ /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.commentTop, children: [
2696
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.commentAuthor, children: comment.authorName }),
2697
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.commentTime, children: formatTime(comment.createdAt) })
2659
2698
  ] }),
2660
- comment.content && /* @__PURE__ */ jsx4("div", { className: styles_module_default3.commentText, children: comment.content }),
2661
- comment.imageUrl && comment.imageUrl !== "loading..." && /* @__PURE__ */ jsx4(
2699
+ comment.content && /* @__PURE__ */ jsx5("div", { className: styles_module_default4.commentText, children: comment.content }),
2700
+ comment.imageUrl && comment.imageUrl !== "loading..." && /* @__PURE__ */ jsx5(
2662
2701
  "div",
2663
2702
  {
2664
- className: styles_module_default3.screenshot,
2703
+ className: styles_module_default4.screenshot,
2665
2704
  onClick: () => setLightboxSrc(comment.imageUrl),
2666
2705
  style: { cursor: "pointer" },
2667
- children: /* @__PURE__ */ jsx4("img", { src: comment.imageUrl, alt: "screenshot" })
2706
+ children: /* @__PURE__ */ jsx5("img", { src: comment.imageUrl, alt: "screenshot" })
2668
2707
  }
2669
2708
  ),
2670
- comment.fileUrl && /* @__PURE__ */ jsxs4(
2709
+ comment.fileUrl && /* @__PURE__ */ jsxs5(
2671
2710
  "a",
2672
2711
  {
2673
- className: styles_module_default3.fileCard,
2712
+ className: styles_module_default4.fileCard,
2674
2713
  href: comment.fileUrl,
2675
2714
  target: "_blank",
2676
2715
  rel: "noopener noreferrer",
2677
2716
  onClick: (e) => e.stopPropagation(),
2678
2717
  children: [
2679
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.fileIcon, children: getFileIcon(comment.fileType || "") }),
2680
- /* @__PURE__ */ jsxs4("span", { className: styles_module_default3.fileInfo, children: [
2681
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.fileCardName, children: comment.fileName || "\uD30C\uC77C" }),
2682
- comment.fileSize != null && /* @__PURE__ */ jsx4("span", { className: styles_module_default3.fileCardSize, children: formatFileSize(comment.fileSize) })
2718
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.fileIcon, children: getFileIcon(comment.fileType || "") }),
2719
+ /* @__PURE__ */ jsxs5("span", { className: styles_module_default4.fileInfo, children: [
2720
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.fileCardName, children: comment.fileName || "\uD30C\uC77C" }),
2721
+ comment.fileSize != null && /* @__PURE__ */ jsx5("span", { className: styles_module_default4.fileCardSize, children: formatFileSize(comment.fileSize) })
2683
2722
  ] })
2684
2723
  ]
2685
2724
  }
@@ -2687,23 +2726,23 @@ function CommentThread({
2687
2726
  ] })
2688
2727
  ] }, comment.id)) })
2689
2728
  ] }),
2690
- pendingImage && /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.pendingImage, children: [
2691
- /* @__PURE__ */ jsx4("img", { src: pendingImage, alt: "pending" }),
2692
- /* @__PURE__ */ jsx4("button", { className: styles_module_default3.pendingRemove, onClick: () => setPendingImage(null), type: "button", children: "\xD7" })
2729
+ pendingImage && /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.pendingImage, children: [
2730
+ /* @__PURE__ */ jsx5("img", { src: pendingImage, alt: "pending" }),
2731
+ /* @__PURE__ */ jsx5("button", { className: styles_module_default4.pendingRemove, onClick: () => setPendingImage(null), type: "button", children: "\xD7" })
2693
2732
  ] }),
2694
- pendingFile && /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.pendingFile, children: [
2695
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.fileIcon, children: getFileIcon(pendingFile.type) }),
2696
- /* @__PURE__ */ jsxs4("span", { className: styles_module_default3.fileInfo, children: [
2697
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.fileCardName, children: pendingFile.name }),
2698
- /* @__PURE__ */ jsx4("span", { className: styles_module_default3.fileCardSize, children: formatFileSize(pendingFile.size) })
2733
+ pendingFile && /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.pendingFile, children: [
2734
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.fileIcon, children: getFileIcon(pendingFile.type) }),
2735
+ /* @__PURE__ */ jsxs5("span", { className: styles_module_default4.fileInfo, children: [
2736
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.fileCardName, children: pendingFile.name }),
2737
+ /* @__PURE__ */ jsx5("span", { className: styles_module_default4.fileCardSize, children: formatFileSize(pendingFile.size) })
2699
2738
  ] }),
2700
- /* @__PURE__ */ jsx4("button", { className: styles_module_default3.pendingRemove, onClick: () => setPendingFile(null), type: "button", children: "\xD7" })
2739
+ /* @__PURE__ */ jsx5("button", { className: styles_module_default4.pendingRemove, onClick: () => setPendingFile(null), type: "button", children: "\xD7" })
2701
2740
  ] }),
2702
- /* @__PURE__ */ jsx4("div", { className: styles_module_default3.replyArea, children: /* @__PURE__ */ jsx4(
2741
+ /* @__PURE__ */ jsx5("div", { className: styles_module_default4.replyArea, children: /* @__PURE__ */ jsx5(
2703
2742
  "textarea",
2704
2743
  {
2705
2744
  ref: textareaRef,
2706
- className: styles_module_default3.replyInput,
2745
+ className: styles_module_default4.replyInput,
2707
2746
  placeholder: "Reply...",
2708
2747
  value: replyText,
2709
2748
  onChange: (e) => {
@@ -2716,31 +2755,31 @@ function CommentThread({
2716
2755
  rows: 2
2717
2756
  }
2718
2757
  ) }),
2719
- /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.replyToolbar, children: [
2720
- /* @__PURE__ */ jsx4("button", { className: styles_module_default3.replyTool, onClick: handleAttachClick, type: "button", title: "\uD30C\uC77C \uCCA8\uBD80", children: /* @__PURE__ */ jsxs4("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2721
- /* @__PURE__ */ jsx4("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
2722
- /* @__PURE__ */ jsx4("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
2758
+ /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.replyToolbar, children: [
2759
+ /* @__PURE__ */ jsx5("button", { className: styles_module_default4.replyTool, onClick: handleAttachClick, type: "button", title: "\uD30C\uC77C \uCCA8\uBD80", children: /* @__PURE__ */ jsxs5("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2760
+ /* @__PURE__ */ jsx5("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
2761
+ /* @__PURE__ */ jsx5("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
2723
2762
  ] }) }),
2724
- /* @__PURE__ */ jsx4("button", { className: styles_module_default3.replyTool, onClick: handleCameraClick, type: "button", title: "\uC694\uC18C \uC2A4\uD06C\uB9B0\uC0F7", children: /* @__PURE__ */ jsxs4("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2725
- /* @__PURE__ */ jsx4("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" }),
2726
- /* @__PURE__ */ jsx4("circle", { cx: "12", cy: "13", r: "3" })
2763
+ /* @__PURE__ */ jsx5("button", { className: styles_module_default4.replyTool, onClick: handleCameraClick, type: "button", title: "\uC694\uC18C \uC2A4\uD06C\uB9B0\uC0F7", children: /* @__PURE__ */ jsxs5("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2764
+ /* @__PURE__ */ jsx5("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" }),
2765
+ /* @__PURE__ */ jsx5("circle", { cx: "12", cy: "13", r: "3" })
2727
2766
  ] }) }),
2728
- /* @__PURE__ */ jsx4(
2767
+ /* @__PURE__ */ jsx5(
2729
2768
  "button",
2730
2769
  {
2731
- className: `${styles_module_default3.replySend} ${replyText.trim() || pendingImage || pendingFile ? styles_module_default3.active : ""}`,
2770
+ className: `${styles_module_default4.replySend} ${replyText.trim() || pendingImage || pendingFile ? styles_module_default4.active : ""}`,
2732
2771
  onClick: handleSend,
2733
2772
  disabled: !replyText.trim() && !pendingImage && !pendingFile,
2734
2773
  type: "button",
2735
2774
  title: "\uC804\uC1A1",
2736
- children: /* @__PURE__ */ jsxs4("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2737
- /* @__PURE__ */ jsx4("line", { x1: "22", y1: "2", x2: "11", y2: "13" }),
2738
- /* @__PURE__ */ jsx4("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })
2775
+ children: /* @__PURE__ */ jsxs5("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2776
+ /* @__PURE__ */ jsx5("line", { x1: "22", y1: "2", x2: "11", y2: "13" }),
2777
+ /* @__PURE__ */ jsx5("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })
2739
2778
  ] })
2740
2779
  }
2741
2780
  )
2742
2781
  ] }),
2743
- /* @__PURE__ */ jsx4(
2782
+ /* @__PURE__ */ jsx5(
2744
2783
  "input",
2745
2784
  {
2746
2785
  ref: fileInputRef,
@@ -2750,9 +2789,9 @@ function CommentThread({
2750
2789
  onChange: handleFileChange
2751
2790
  }
2752
2791
  ),
2753
- lightboxSrc && /* @__PURE__ */ jsxs4("div", { className: styles_module_default3.lightbox, onClick: () => setLightboxSrc(null), "data-impakers-debug": "", children: [
2754
- /* @__PURE__ */ jsx4("img", { src: lightboxSrc, alt: "enlarged", onClick: (e) => e.stopPropagation() }),
2755
- /* @__PURE__ */ jsx4("button", { className: styles_module_default3.lightboxClose, onClick: () => setLightboxSrc(null), type: "button", children: "\xD7" })
2792
+ lightboxSrc && /* @__PURE__ */ jsxs5("div", { className: styles_module_default4.lightbox, onClick: () => setLightboxSrc(null), "data-impakers-debug": "", children: [
2793
+ /* @__PURE__ */ jsx5("img", { src: lightboxSrc, alt: "enlarged", onClick: (e) => e.stopPropagation() }),
2794
+ /* @__PURE__ */ jsx5("button", { className: styles_module_default4.lightboxClose, onClick: () => setLightboxSrc(null), type: "button", children: "\xD7" })
2756
2795
  ] })
2757
2796
  ]
2758
2797
  }
@@ -2763,8 +2802,8 @@ function CommentThread({
2763
2802
  import { useState as useState3, useRef as useRef3, useCallback as useCallback3, useEffect as useEffect3 } from "react";
2764
2803
 
2765
2804
  // src/components/fab-menu/styles.module.scss
2766
- var css4 = '@keyframes styles-module__fabEnter___DMJoo {\n from {\n opacity: 0;\n transform: scale(0.5);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__menuItemIn___GfmJ3 {\n from {\n opacity: 0;\n transform: scale(0.3);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__menuItemOut___s0nQD {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.3);\n }\n}\n.styles-module__fab___wShP- {\n touch-action: none;\n z-index: 99999;\n width: 44px;\n height: 44px;\n border-radius: 50%;\n background: #18181b;\n color: white;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;\n animation: styles-module__fabEnter___DMJoo 0.3s cubic-bezier(0.22, 1, 0.36, 1);\n position: relative;\n}\n.styles-module__fab___wShP- svg {\n width: 20px;\n height: 20px;\n transition: transform 0.2s ease;\n}\n.styles-module__fab___wShP-:hover {\n transform: scale(1.08);\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.12);\n}\n.styles-module__fab___wShP-:active {\n transform: scale(0.96);\n}\n.styles-module__fab___wShP-.styles-module__expanded___qyto6 svg {\n transform: rotate(45deg);\n}\n\n.styles-module__menuItems___1qNsE {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n z-index: 99999;\n}\n\n.styles-module__menuItem___pB75H {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: #fff;\n color: #374151;\n border: 1px solid #e5e7eb;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);\n transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease, border-color 0.12s ease;\n position: relative;\n}\n.styles-module__menuItem___pB75H svg {\n width: 18px;\n height: 18px;\n}\n.styles-module__menuItem___pB75H:hover {\n transform: scale(1.08);\n background: #f9fafb;\n border-color: #d1d5db;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n}\n.styles-module__menuItem___pB75H:active {\n transform: scale(0.96);\n}\n.styles-module__menuItem___pB75H.styles-module__active___7ktmc {\n background: #18181b;\n color: #fff;\n border-color: #18181b;\n}\n\n.styles-module__menuItem___pB75H:nth-child(1) {\n animation: styles-module__menuItemIn___GfmJ3 0.15s cubic-bezier(0.22, 1, 0.36, 1) 0ms both;\n}\n\n.styles-module__menuItem___pB75H:nth-child(2) {\n animation: styles-module__menuItemIn___GfmJ3 0.15s cubic-bezier(0.22, 1, 0.36, 1) 40ms both;\n}\n\n.styles-module__menuItem___pB75H:nth-child(3) {\n animation: styles-module__menuItemIn___GfmJ3 0.15s cubic-bezier(0.22, 1, 0.36, 1) 80ms both;\n}\n\n.styles-module__menuItem___pB75H:nth-child(4) {\n animation: styles-module__menuItemIn___GfmJ3 0.15s cubic-bezier(0.22, 1, 0.36, 1) 120ms both;\n}\n\n.styles-module__menuItemClosing___m4o-a:nth-child(1) {\n animation: styles-module__menuItemOut___s0nQD 0.1s ease-in 40ms both;\n}\n\n.styles-module__menuItemClosing___m4o-a:nth-child(2) {\n animation: styles-module__menuItemOut___s0nQD 0.1s ease-in 0ms both;\n}\n\n.styles-module__tooltip___Cy6kg {\n position: absolute;\n right: calc(100% + 10px);\n white-space: nowrap;\n background: rgba(0, 0, 0, 0.85);\n color: #fff;\n font-size: 12px;\n font-weight: 500;\n padding: 5px 10px;\n border-radius: 6px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.12s ease;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n}\n\n.styles-module__menuItem___pB75H:hover .styles-module__tooltip___Cy6kg {\n opacity: 1;\n}\n\n.styles-module__contextMenu___A8fQt {\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16), 0 1px 4px rgba(0, 0, 0, 0.08);\n padding: 4px;\n min-width: 140px;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__menuItemIn___GfmJ3 0.1s ease-out;\n}\n\n.styles-module__contextMenuItem___1u9io {\n display: block;\n width: 100%;\n padding: 8px 12px;\n border: none;\n background: none;\n font-size: 13px;\n color: #18181b;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n font-family: inherit;\n}\n.styles-module__contextMenuItem___1u9io:hover {\n background: #f4f4f5;\n}\n\n.styles-module__badge___zmiZx {\n position: absolute;\n top: -4px;\n right: -4px;\n min-width: 16px;\n height: 16px;\n border-radius: 8px;\n background: #ef4444;\n color: #fff;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 4px;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n}';
2767
- var classNames4 = { "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" };
2805
+ var css5 = '@keyframes styles-module__fabEnter___DMJoo {\n from {\n opacity: 0;\n transform: scale(0.5);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__menuItemIn___GfmJ3 {\n from {\n opacity: 0;\n transform: scale(0.3);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__menuItemOut___s0nQD {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.3);\n }\n}\n.styles-module__fab___wShP- {\n touch-action: none;\n z-index: 99999;\n width: 44px;\n height: 44px;\n border-radius: 50%;\n background: #18181b;\n color: white;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;\n animation: styles-module__fabEnter___DMJoo 0.3s cubic-bezier(0.22, 1, 0.36, 1);\n position: relative;\n}\n.styles-module__fab___wShP- svg {\n width: 20px;\n height: 20px;\n transition: transform 0.2s ease;\n}\n.styles-module__fab___wShP-:hover {\n transform: scale(1.08);\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.12);\n}\n.styles-module__fab___wShP-:active {\n transform: scale(0.96);\n}\n.styles-module__fab___wShP-.styles-module__expanded___qyto6 svg {\n transform: rotate(45deg);\n}\n\n.styles-module__menuItems___1qNsE {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n z-index: 99999;\n}\n\n.styles-module__menuItem___pB75H {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: #fff;\n color: #374151;\n border: 1px solid #e5e7eb;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);\n transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease, border-color 0.12s ease;\n position: relative;\n}\n.styles-module__menuItem___pB75H svg {\n width: 18px;\n height: 18px;\n}\n.styles-module__menuItem___pB75H:hover {\n transform: scale(1.08);\n background: #f9fafb;\n border-color: #d1d5db;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n}\n.styles-module__menuItem___pB75H:active {\n transform: scale(0.96);\n}\n.styles-module__menuItem___pB75H.styles-module__active___7ktmc {\n background: #18181b;\n color: #fff;\n border-color: #18181b;\n}\n\n.styles-module__menuItem___pB75H:nth-child(1) {\n animation: styles-module__menuItemIn___GfmJ3 0.15s cubic-bezier(0.22, 1, 0.36, 1) 0ms both;\n}\n\n.styles-module__menuItem___pB75H:nth-child(2) {\n animation: styles-module__menuItemIn___GfmJ3 0.15s cubic-bezier(0.22, 1, 0.36, 1) 40ms both;\n}\n\n.styles-module__menuItem___pB75H:nth-child(3) {\n animation: styles-module__menuItemIn___GfmJ3 0.15s cubic-bezier(0.22, 1, 0.36, 1) 80ms both;\n}\n\n.styles-module__menuItem___pB75H:nth-child(4) {\n animation: styles-module__menuItemIn___GfmJ3 0.15s cubic-bezier(0.22, 1, 0.36, 1) 120ms both;\n}\n\n.styles-module__menuItemClosing___m4o-a:nth-child(1) {\n animation: styles-module__menuItemOut___s0nQD 0.1s ease-in 40ms both;\n}\n\n.styles-module__menuItemClosing___m4o-a:nth-child(2) {\n animation: styles-module__menuItemOut___s0nQD 0.1s ease-in 0ms both;\n}\n\n.styles-module__tooltip___Cy6kg {\n position: absolute;\n right: calc(100% + 10px);\n white-space: nowrap;\n background: rgba(0, 0, 0, 0.85);\n color: #fff;\n font-size: 12px;\n font-weight: 500;\n padding: 5px 10px;\n border-radius: 6px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.12s ease;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n}\n\n.styles-module__menuItem___pB75H:hover .styles-module__tooltip___Cy6kg {\n opacity: 1;\n}\n\n.styles-module__contextMenu___A8fQt {\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16), 0 1px 4px rgba(0, 0, 0, 0.08);\n padding: 4px;\n min-width: 140px;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__menuItemIn___GfmJ3 0.1s ease-out;\n}\n\n.styles-module__contextMenuItem___1u9io {\n display: block;\n width: 100%;\n padding: 8px 12px;\n border: none;\n background: none;\n font-size: 13px;\n color: #18181b;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n font-family: inherit;\n}\n.styles-module__contextMenuItem___1u9io:hover {\n background: #f4f4f5;\n}\n\n.styles-module__badge___zmiZx {\n position: absolute;\n top: -4px;\n right: -4px;\n min-width: 16px;\n height: 16px;\n border-radius: 8px;\n background: #ef4444;\n color: #fff;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 4px;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n}';
2806
+ var classNames5 = { "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" };
2768
2807
  if (typeof document !== "undefined") {
2769
2808
  let style = document.getElementById("impakers-debug-styles-fab-menu-styles");
2770
2809
  if (!style) {
@@ -2772,12 +2811,12 @@ if (typeof document !== "undefined") {
2772
2811
  style.id = "impakers-debug-styles-fab-menu-styles";
2773
2812
  document.head.appendChild(style);
2774
2813
  }
2775
- style.textContent = css4;
2814
+ style.textContent = css5;
2776
2815
  }
2777
- var styles_module_default4 = classNames4;
2816
+ var styles_module_default5 = classNames5;
2778
2817
 
2779
2818
  // src/components/fab-menu/index.tsx
2780
- import { Fragment as Fragment2, jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
2819
+ import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
2781
2820
  function FabMenu({ items, onSelect, onHide, onDoubleTap }) {
2782
2821
  const [expanded, setExpanded] = useState3(false);
2783
2822
  const [closing, setClosing] = useState3(false);
@@ -2856,11 +2895,11 @@ function FabMenu({ items, onSelect, onHide, onDoubleTap }) {
2856
2895
  document.addEventListener("mousedown", handler);
2857
2896
  return () => document.removeEventListener("mousedown", handler);
2858
2897
  }, [expanded, showContextMenu, closeMenu]);
2859
- return /* @__PURE__ */ jsxs5(Fragment2, { children: [
2860
- (expanded || closing) && /* @__PURE__ */ jsx5(
2898
+ return /* @__PURE__ */ jsxs6(Fragment2, { children: [
2899
+ (expanded || closing) && /* @__PURE__ */ jsx6(
2861
2900
  "div",
2862
2901
  {
2863
- className: styles_module_default4.menuItems,
2902
+ className: styles_module_default5.menuItems,
2864
2903
  style: {
2865
2904
  position: "fixed",
2866
2905
  right: position.right + (44 - 40) / 2,
@@ -2870,10 +2909,10 @@ function FabMenu({ items, onSelect, onHide, onDoubleTap }) {
2870
2909
  },
2871
2910
  "data-impakers-debug": "",
2872
2911
  "data-impakers-fab": "",
2873
- children: [...items].reverse().map((item, i) => /* @__PURE__ */ jsxs5(
2912
+ children: [...items].reverse().map((item, i) => /* @__PURE__ */ jsxs6(
2874
2913
  "button",
2875
2914
  {
2876
- className: `${styles_module_default4.menuItem} ${item.active ? styles_module_default4.active : ""} ${closing ? styles_module_default4.menuItemClosing : ""}`,
2915
+ className: `${styles_module_default5.menuItem} ${item.active ? styles_module_default5.active : ""} ${closing ? styles_module_default5.menuItemClosing : ""}`,
2877
2916
  style: { animationDelay: closing ? `${i * 30}ms` : `${(items.length - 1 - i) * 40}ms` },
2878
2917
  onClick: (e) => {
2879
2918
  e.stopPropagation();
@@ -2885,19 +2924,19 @@ function FabMenu({ items, onSelect, onHide, onDoubleTap }) {
2885
2924
  "data-impakers-debug": "",
2886
2925
  children: [
2887
2926
  item.icon,
2888
- /* @__PURE__ */ jsx5("span", { className: styles_module_default4.tooltip, children: item.label }),
2889
- item.badge && item.badge > 0 ? /* @__PURE__ */ jsx5("span", { className: styles_module_default4.badge, children: item.badge > 99 ? "99+" : item.badge }) : null
2927
+ /* @__PURE__ */ jsx6("span", { className: styles_module_default5.tooltip, children: item.label }),
2928
+ item.badge && item.badge > 0 ? /* @__PURE__ */ jsx6("span", { className: styles_module_default5.badge, children: item.badge > 99 ? "99+" : item.badge }) : null
2890
2929
  ]
2891
2930
  },
2892
2931
  item.id
2893
2932
  ))
2894
2933
  }
2895
2934
  ),
2896
- /* @__PURE__ */ jsx5(
2935
+ /* @__PURE__ */ jsx6(
2897
2936
  "button",
2898
2937
  {
2899
2938
  ref: fabRef,
2900
- className: `${styles_module_default4.fab} ${expanded ? styles_module_default4.expanded : ""}`,
2939
+ className: `${styles_module_default5.fab} ${expanded ? styles_module_default5.expanded : ""}`,
2901
2940
  style: { position: "fixed", right: position.right, bottom: position.bottom },
2902
2941
  onPointerDown: handleFabPointerDown,
2903
2942
  onPointerMove: handleFabPointerMove,
@@ -2907,30 +2946,30 @@ function FabMenu({ items, onSelect, onHide, onDoubleTap }) {
2907
2946
  "aria-label": "\uD53C\uB4DC\uBC31 \uBA54\uB274",
2908
2947
  "data-impakers-debug": "",
2909
2948
  "data-impakers-fab": "",
2910
- children: /* @__PURE__ */ jsxs5("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2911
- /* @__PURE__ */ jsx5("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
2912
- /* @__PURE__ */ jsx5("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
2949
+ children: /* @__PURE__ */ jsxs6("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2950
+ /* @__PURE__ */ jsx6("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
2951
+ /* @__PURE__ */ jsx6("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
2913
2952
  ] })
2914
2953
  }
2915
2954
  ),
2916
- showContextMenu && /* @__PURE__ */ jsx5(
2955
+ showContextMenu && /* @__PURE__ */ jsx6(
2917
2956
  "div",
2918
2957
  {
2919
2958
  style: { position: "fixed", inset: 0, zIndex: 2147483647 },
2920
2959
  onMouseDown: () => setShowContextMenu(null),
2921
2960
  "data-impakers-debug": "",
2922
2961
  "data-impakers-fab": "",
2923
- children: /* @__PURE__ */ jsx5(
2962
+ children: /* @__PURE__ */ jsx6(
2924
2963
  "div",
2925
2964
  {
2926
- className: styles_module_default4.contextMenu,
2965
+ className: styles_module_default5.contextMenu,
2927
2966
  style: { position: "fixed", left: showContextMenu.x, top: showContextMenu.y, zIndex: 2147483647 },
2928
2967
  onMouseDown: (e) => e.stopPropagation(),
2929
2968
  "data-impakers-fab": "",
2930
- children: /* @__PURE__ */ jsx5(
2969
+ children: /* @__PURE__ */ jsx6(
2931
2970
  "button",
2932
2971
  {
2933
- className: styles_module_default4.contextMenuItem,
2972
+ className: styles_module_default5.contextMenuItem,
2934
2973
  onMouseDown: (e) => {
2935
2974
  e.stopPropagation();
2936
2975
  setShowContextMenu(null);
@@ -2952,8 +2991,8 @@ import { useState as useState4, useCallback as useCallback4, useEffect as useEff
2952
2991
  import { createPortal } from "react-dom";
2953
2992
 
2954
2993
  // src/components/inbox-panel/styles.module.scss
2955
- var css5 = '@keyframes styles-module__slideIn___0o0s- {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes styles-module__slideOut___nKrBX {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes styles-module__fadeIn___j09Ts {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.styles-module__backdrop___zYhcU {\n position: fixed;\n inset: 0;\n z-index: 100003;\n animation: styles-module__fadeIn___j09Ts 0.15s ease-out;\n}\n\n.styles-module__panel___6YS8k {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n width: 420px;\n max-width: 100vw;\n background: #fafafa;\n z-index: 100004;\n display: flex;\n flex-direction: column;\n box-shadow: -4px 0 24px rgba(0, 0, 0, 0.08);\n animation: styles-module__slideIn___0o0s- 0.2s ease-out;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n}\n.styles-module__panel___6YS8k.styles-module__exiting___6A-Ag {\n animation: styles-module__slideOut___nKrBX 0.15s ease-in forwards;\n}\n\n.styles-module__header___fBbGz {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid #e5e7eb;\n background: #fff;\n flex-shrink: 0;\n}\n\n.styles-module__headerLeft___e0YLf {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.styles-module__headerTitle___oEPJa {\n font-size: 14px;\n font-weight: 600;\n color: #18181b;\n}\n\n.styles-module__closeBtn___-H8ra {\n width: 32px;\n height: 32px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #6b7280;\n transition: background 0.12s, color 0.12s;\n}\n.styles-module__closeBtn___-H8ra:hover {\n background: #f3f4f6;\n color: #18181b;\n}\n.styles-module__closeBtn___-H8ra svg {\n width: 18px;\n height: 18px;\n}\n\n.styles-module__tabs___nfuX7 {\n display: flex;\n padding: 0 20px;\n gap: 0;\n border-bottom: 1px solid #e5e7eb;\n background: #fff;\n flex-shrink: 0;\n}\n\n.styles-module__tab___Hc-jn {\n padding: 10px 16px;\n font-size: 13px;\n font-weight: 500;\n color: #6b7280;\n border: none;\n background: none;\n cursor: pointer;\n border-bottom: 2px solid transparent;\n transition: color 0.12s, border-color 0.12s;\n font-family: inherit;\n}\n.styles-module__tab___Hc-jn:hover {\n color: #374151;\n}\n.styles-module__tab___Hc-jn.styles-module__active___ZQzA5 {\n color: #18181b;\n border-bottom-color: #18181b;\n}\n\n.styles-module__tabBadge___IdFDQ {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n border-radius: 9px;\n background: #e5e7eb;\n color: #374151;\n font-size: 11px;\n font-weight: 600;\n padding: 0 5px;\n margin-left: 6px;\n}\n\n.styles-module__statusFilter___qtBXs {\n display: flex;\n gap: 6px;\n padding: 10px 20px;\n border-bottom: 1px solid #f3f4f6;\n background: #fff;\n flex-shrink: 0;\n}\n\n.styles-module__filterChip___l2s74 {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n font-size: 12px;\n font-weight: 500;\n color: #6b7280;\n background: #f3f4f6;\n border: 1px solid transparent;\n border-radius: 16px;\n cursor: pointer;\n transition: all 0.12s;\n font-family: inherit;\n}\n.styles-module__filterChip___l2s74:hover {\n color: #374151;\n background: #e5e7eb;\n}\n.styles-module__filterChip___l2s74.styles-module__active___ZQzA5 {\n color: #18181b;\n background: #fff;\n border-color: #d1d5db;\n}\n\n.styles-module__filterCount___KukiQ {\n font-size: 11px;\n font-weight: 600;\n color: inherit;\n opacity: 0.7;\n}\n\n.styles-module__content___L2lRw {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n}\n.styles-module__content___L2lRw::-webkit-scrollbar {\n width: 4px;\n}\n.styles-module__content___L2lRw::-webkit-scrollbar-thumb {\n background: #d1d5db;\n border-radius: 2px;\n}\n\n.styles-module__card___F8qwd {\n background: #fff;\n border-radius: 12px;\n border: 1px solid #e5e7eb;\n margin-bottom: 12px;\n overflow: hidden;\n transition: box-shadow 0.12s;\n cursor: pointer;\n}\n.styles-module__card___F8qwd:hover {\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n}\n\n.styles-module__cardHeader___QOVGR {\n padding: 14px 16px 8px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n\n.styles-module__cardAvatar___FfKmW {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background: #16a34a;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.styles-module__cardInfo___BmrdF {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__cardMeta___7p9KD {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 4px;\n}\n\n.styles-module__cardAuthor___YvnuR {\n font-size: 13px;\n font-weight: 600;\n color: #18181b;\n}\n\n.styles-module__cardTime___N1Png {\n font-size: 12px;\n color: #9ca3af;\n}\n\n.styles-module__cardActions___7QF72 {\n display: flex;\n gap: 2px;\n flex-shrink: 0;\n}\n\n.styles-module__cardAction___t4b3V {\n width: 26px;\n height: 26px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 5px;\n color: #9ca3af;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n.styles-module__cardAction___t4b3V:hover {\n background: #f3f4f6;\n color: #374151;\n}\n.styles-module__cardAction___t4b3V svg {\n width: 14px;\n height: 14px;\n}\n\n.styles-module__cardTitle___xJxDN {\n font-size: 13px;\n color: #1a1a1a;\n line-height: 1.5;\n padding: 0 16px 8px;\n}\n\n.styles-module__cardScreenshot___I5-QL {\n margin: 0 16px 8px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n position: relative;\n max-height: 160px;\n}\n.styles-module__cardScreenshot___I5-QL img {\n width: 100%;\n height: auto;\n display: block;\n object-fit: cover;\n}\n\n.styles-module__cardRoute___U4gB6 {\n margin: 0 16px 10px;\n padding: 8px 12px;\n background: #f9fafb;\n border: 1px solid #f3f4f6;\n border-radius: 8px;\n font-size: 12px;\n color: #6b7280;\n line-height: 1.4;\n display: flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n transition: background 0.12s, border-color 0.12s;\n}\n.styles-module__cardRoute___U4gB6:hover {\n background: #f3f4f6;\n border-color: #d1d5db;\n color: #3b82f6;\n}\n.styles-module__cardRoute___U4gB6:hover .styles-module__cardRoutePath___zP-fh {\n color: #3b82f6;\n}\n.styles-module__cardRoute___U4gB6:hover .styles-module__cardRouteIcon___SBqGj {\n color: #3b82f6;\n}\n\n.styles-module__cardRouteName___BDH75 {\n font-weight: 500;\n color: #374151;\n}\n\n.styles-module__cardRoutePath___zP-fh {\n flex: 1;\n min-width: 0;\n color: #9ca3af;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition: color 0.12s;\n}\n\n.styles-module__cardRouteIcon___SBqGj {\n flex-shrink: 0;\n color: #9ca3af;\n transition: color 0.12s;\n}\n\n.styles-module__cardFooter___wfPa4 {\n padding: 8px 16px 12px;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.styles-module__cardReplyDot___YnqzI {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: #16a34a;\n flex-shrink: 0;\n}\n\n.styles-module__cardReplyCount___O1khL {\n font-size: 12px;\n font-weight: 500;\n color: #374151;\n}\n\n.styles-module__statusDot___l4IHG {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n.styles-module__statusDot___l4IHG.styles-module__todo___894P6 {\n background: #f59e0b;\n}\n.styles-module__statusDot___l4IHG.styles-module__inProgress___IZ1mJ {\n background: #3b82f6;\n}\n.styles-module__statusDot___l4IHG.styles-module__done___n4cWP {\n background: #16a34a;\n}\n\n.styles-module__empty___IADrw {\n text-align: center;\n padding: 48px 20px;\n color: #9ca3af;\n font-size: 13px;\n line-height: 1.6;\n}\n\n.styles-module__emptyIcon___1x5wT {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n background: #f3f4f6;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 12px;\n color: #9ca3af;\n}\n.styles-module__emptyIcon___1x5wT svg {\n width: 24px;\n height: 24px;\n}\n\n.styles-module__checkBtn___KjHxm {\n width: 28px;\n height: 28px;\n border: 2px solid #d1d5db;\n border-radius: 50%;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: transparent;\n transition: all 0.15s;\n padding: 0;\n flex-shrink: 0;\n}\n.styles-module__checkBtn___KjHxm svg {\n width: 14px;\n height: 14px;\n}\n.styles-module__checkBtn___KjHxm:hover {\n border-color: #16a34a;\n color: #16a34a;\n}\n.styles-module__checkBtn___KjHxm.styles-module__checked___8pype {\n border-color: #16a34a;\n background: #16a34a;\n color: #fff;\n}\n\n.styles-module__cardDone___-m4w- {\n opacity: 0.6;\n}\n.styles-module__cardDone___-m4w- .styles-module__cardTitle___xJxDN {\n text-decoration: line-through;\n color: #9ca3af;\n}\n\n.styles-module__backBtn___PTIAl {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #6b7280;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n flex-shrink: 0;\n}\n.styles-module__backBtn___PTIAl:hover {\n background: #f3f4f6;\n color: #18181b;\n}\n\n.styles-module__detailView___36cvH {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.styles-module__detailHeader___Hepgq {\n display: flex;\n gap: 10px;\n padding: 16px 20px;\n border-bottom: 1px solid #f3f4f6;\n}\n\n.styles-module__detailTitle___7TvrX {\n font-size: 13px;\n color: #1a1a1a;\n line-height: 1.5;\n margin-top: 4px;\n}\n\n.styles-module__detailScreenshot___UPF0f {\n margin: 0 20px 0;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n max-height: 180px;\n}\n.styles-module__detailScreenshot___UPF0f img {\n width: 100%;\n height: auto;\n display: block;\n object-fit: cover;\n}\n\n.styles-module__commentsList___5Uigg {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n}\n.styles-module__commentsList___5Uigg::-webkit-scrollbar {\n width: 4px;\n}\n.styles-module__commentsList___5Uigg::-webkit-scrollbar-thumb {\n background: #d1d5db;\n border-radius: 2px;\n}\n\n.styles-module__commentItem___5u78u {\n display: flex;\n gap: 10px;\n padding: 10px 20px;\n}\n.styles-module__commentItem___5u78u:hover {\n background: #f9fafb;\n}\n\n.styles-module__commentAvatar___OatKg {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background: #16a34a;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.styles-module__commentBody___gmv1J {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__commentMeta___JNJa3 {\n display: flex;\n gap: 6px;\n align-items: center;\n margin-bottom: 2px;\n}\n\n.styles-module__commentAuthorName___XNVRk {\n font-size: 13px;\n font-weight: 600;\n color: #1a1a1a;\n}\n\n.styles-module__commentTime___CokGf {\n font-size: 12px;\n color: #9ca3af;\n}\n\n.styles-module__commentContent___yMiLR {\n font-size: 13px;\n color: #374151;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.styles-module__loadingComments___zpATD, .styles-module__noComments___kvl90 {\n text-align: center;\n padding: 24px 20px;\n color: #9ca3af;\n font-size: 13px;\n}\n\n.styles-module__replyBox___FO-XS {\n display: flex;\n align-items: flex-end;\n gap: 8px;\n padding: 12px 20px;\n border-top: 1px solid #f3f4f6;\n background: #fff;\n}\n\n.styles-module__replyInput___k8C9e {\n flex: 1;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n padding: 8px 12px;\n font-size: 13px;\n font-family: inherit;\n color: #1a1a1a;\n resize: none;\n outline: none;\n min-height: 20px;\n max-height: 80px;\n line-height: 1.5;\n transition: border-color 0.12s;\n}\n.styles-module__replyInput___k8C9e:focus {\n border-color: #18181b;\n}\n.styles-module__replyInput___k8C9e::placeholder {\n color: #9ca3af;\n}\n\n.styles-module__sendBtn___pBzWa {\n width: 32px;\n height: 32px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #d1d5db;\n transition: color 0.12s;\n padding: 0;\n flex-shrink: 0;\n}\n.styles-module__sendBtn___pBzWa.styles-module__active___ZQzA5 {\n color: #3b82f6;\n}\n.styles-module__sendBtn___pBzWa:hover {\n color: #3b82f6;\n}\n\n.styles-module__commentImage___LuH8X {\n margin-top: 6px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n max-width: 240px;\n cursor: pointer;\n transition: opacity 0.12s;\n}\n.styles-module__commentImage___LuH8X:hover {\n opacity: 0.9;\n}\n.styles-module__commentImage___LuH8X img {\n width: 100%;\n height: auto;\n display: block;\n}\n\n.styles-module__commentFileCard___XE44y {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n padding: 8px 10px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n cursor: pointer;\n transition: background 0.12s;\n max-width: 240px;\n}\n.styles-module__commentFileCard___XE44y:hover {\n background: #f3f4f6;\n}\n\n.styles-module__commentFileIcon___G58-y {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n background: #e5e7eb;\n color: #374151;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: 700;\n flex-shrink: 0;\n letter-spacing: 0.5px;\n}\n\n.styles-module__commentFileInfo___OFIhR {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.styles-module__commentFileName___NUoII {\n font-size: 12px;\n font-weight: 500;\n color: #1a1a1a;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__commentFileSize___sokU8 {\n font-size: 11px;\n color: #9ca3af;\n}\n\n.styles-module__filePreviewOverlay___5RxYd {\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.styles-module__filePreviewModal___MGJLW {\n width: 90vw;\n max-width: 960px;\n height: 80vh;\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n}\n\n.styles-module__filePreviewHeader___E9SWJ {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-bottom: 1px solid #e5e7eb;\n flex-shrink: 0;\n}\n\n.styles-module__filePreviewName___z8t-L {\n font-size: 14px;\n font-weight: 600;\n color: #18181b;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__filePreviewActions___weizo {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.styles-module__filePreviewOpen___JpaEs {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n font-weight: 500;\n color: #3b82f6;\n text-decoration: none;\n padding: 4px 8px;\n border-radius: 6px;\n transition: background 0.12s;\n}\n.styles-module__filePreviewOpen___JpaEs:hover {\n background: #eff6ff;\n}\n\n.styles-module__filePreviewClose___TFcbr {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #6b7280;\n font-size: 18px;\n transition: background 0.12s, color 0.12s;\n}\n.styles-module__filePreviewClose___TFcbr:hover {\n background: #f3f4f6;\n color: #18181b;\n}\n\n.styles-module__filePreviewBody___gwg1S {\n flex: 1;\n overflow: hidden;\n}\n\n.styles-module__filePreviewIframe___OQ3Oo {\n width: 100%;\n height: 100%;\n border: none;\n}\n\n.styles-module__filePreviewFallback___U1rB2 {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 12px;\n color: #6b7280;\n font-size: 14px;\n}\n.styles-module__filePreviewFallback___U1rB2 a {\n color: #3b82f6;\n text-decoration: none;\n font-weight: 500;\n}\n.styles-module__filePreviewFallback___U1rB2 a:hover {\n text-decoration: underline;\n}\n\n.styles-module__filePreviewFallbackIcon___0--41 {\n width: 56px;\n height: 56px;\n border-radius: 12px;\n background: #f3f4f6;\n color: #6b7280;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n font-weight: 700;\n}\n\n.styles-module__lightbox___8CDdt {\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n background: rgba(0, 0, 0, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: zoom-out;\n}\n.styles-module__lightbox___8CDdt img {\n max-width: 90vw;\n max-height: 90vh;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n cursor: default;\n}\n\n.styles-module__lightboxClose___VGfjh {\n position: absolute;\n top: 16px;\n right: 16px;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n border: none;\n cursor: pointer;\n font-size: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.styles-module__lightboxClose___VGfjh:hover {\n background: rgba(255, 255, 255, 0.25);\n}';
2956
- var classNames5 = { "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", "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" };
2994
+ var css6 = '@keyframes styles-module__slideIn___0o0s- {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes styles-module__slideOut___nKrBX {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes styles-module__fadeIn___j09Ts {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.styles-module__backdrop___zYhcU {\n position: fixed;\n inset: 0;\n z-index: 100003;\n animation: styles-module__fadeIn___j09Ts 0.15s ease-out;\n}\n\n.styles-module__panel___6YS8k {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n width: 420px;\n max-width: 100vw;\n background: #fafafa;\n z-index: 100004;\n display: flex;\n flex-direction: column;\n box-shadow: -4px 0 24px rgba(0, 0, 0, 0.08);\n animation: styles-module__slideIn___0o0s- 0.2s ease-out;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n}\n.styles-module__panel___6YS8k.styles-module__exiting___6A-Ag {\n animation: styles-module__slideOut___nKrBX 0.15s ease-in forwards;\n}\n\n.styles-module__header___fBbGz {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid #e5e7eb;\n background: #fff;\n flex-shrink: 0;\n}\n\n.styles-module__headerLeft___e0YLf {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.styles-module__headerTitle___oEPJa {\n font-size: 14px;\n font-weight: 600;\n color: #18181b;\n}\n\n.styles-module__closeBtn___-H8ra {\n width: 32px;\n height: 32px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #6b7280;\n transition: background 0.12s, color 0.12s;\n}\n.styles-module__closeBtn___-H8ra:hover {\n background: #f3f4f6;\n color: #18181b;\n}\n.styles-module__closeBtn___-H8ra svg {\n width: 18px;\n height: 18px;\n}\n\n.styles-module__tabs___nfuX7 {\n display: flex;\n padding: 0 20px;\n gap: 0;\n border-bottom: 1px solid #e5e7eb;\n background: #fff;\n flex-shrink: 0;\n}\n\n.styles-module__tab___Hc-jn {\n padding: 10px 16px;\n font-size: 13px;\n font-weight: 500;\n color: #6b7280;\n border: none;\n background: none;\n cursor: pointer;\n border-bottom: 2px solid transparent;\n transition: color 0.12s, border-color 0.12s;\n font-family: inherit;\n}\n.styles-module__tab___Hc-jn:hover {\n color: #374151;\n}\n.styles-module__tab___Hc-jn.styles-module__active___ZQzA5 {\n color: #18181b;\n border-bottom-color: #18181b;\n}\n\n.styles-module__tabBadge___IdFDQ {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n border-radius: 9px;\n background: #e5e7eb;\n color: #374151;\n font-size: 11px;\n font-weight: 600;\n padding: 0 5px;\n margin-left: 6px;\n}\n\n.styles-module__statusFilter___qtBXs {\n display: flex;\n gap: 6px;\n padding: 10px 20px;\n border-bottom: 1px solid #f3f4f6;\n background: #fff;\n flex-shrink: 0;\n}\n\n.styles-module__filterChip___l2s74 {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n font-size: 12px;\n font-weight: 500;\n color: #6b7280;\n background: #f3f4f6;\n border: 1px solid transparent;\n border-radius: 16px;\n cursor: pointer;\n transition: all 0.12s;\n font-family: inherit;\n}\n.styles-module__filterChip___l2s74:hover {\n color: #374151;\n background: #e5e7eb;\n}\n.styles-module__filterChip___l2s74.styles-module__active___ZQzA5 {\n color: #18181b;\n background: #fff;\n border-color: #d1d5db;\n}\n\n.styles-module__filterCount___KukiQ {\n font-size: 11px;\n font-weight: 600;\n color: inherit;\n opacity: 0.7;\n}\n\n.styles-module__content___L2lRw {\n flex: 1;\n overflow-y: auto;\n padding: 12px;\n}\n.styles-module__content___L2lRw::-webkit-scrollbar {\n width: 4px;\n}\n.styles-module__content___L2lRw::-webkit-scrollbar-thumb {\n background: #d1d5db;\n border-radius: 2px;\n}\n\n.styles-module__card___F8qwd {\n background: #fff;\n border-radius: 12px;\n border: 1px solid #e5e7eb;\n margin-bottom: 12px;\n overflow: hidden;\n transition: box-shadow 0.12s;\n cursor: pointer;\n}\n.styles-module__card___F8qwd:hover {\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n}\n\n.styles-module__cardHeader___QOVGR {\n padding: 14px 16px 8px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n\n.styles-module__cardAvatar___FfKmW {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background: #16a34a;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.styles-module__cardInfo___BmrdF {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__cardMeta___7p9KD {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 4px;\n}\n\n.styles-module__cardAuthor___YvnuR {\n font-size: 13px;\n font-weight: 600;\n color: #18181b;\n}\n\n.styles-module__cardTime___N1Png {\n font-size: 12px;\n color: #9ca3af;\n}\n\n.styles-module__cardActions___7QF72 {\n display: flex;\n gap: 2px;\n flex-shrink: 0;\n}\n\n.styles-module__cardAction___t4b3V {\n width: 26px;\n height: 26px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 5px;\n color: #9ca3af;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n}\n.styles-module__cardAction___t4b3V:hover {\n background: #f3f4f6;\n color: #374151;\n}\n.styles-module__cardAction___t4b3V svg {\n width: 14px;\n height: 14px;\n}\n\n.styles-module__cardTitle___xJxDN {\n font-size: 13px;\n color: #1a1a1a;\n line-height: 1.5;\n padding: 0 16px 8px;\n}\n\n.styles-module__cardScreenshot___I5-QL {\n margin: 0 16px 8px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n position: relative;\n max-height: 160px;\n}\n.styles-module__cardScreenshot___I5-QL img {\n width: 100%;\n height: auto;\n display: block;\n object-fit: cover;\n}\n\n.styles-module__cardRoute___U4gB6 {\n margin: 0 16px 10px;\n padding: 8px 12px;\n background: #f9fafb;\n border: 1px solid #f3f4f6;\n border-radius: 8px;\n font-size: 12px;\n color: #6b7280;\n line-height: 1.4;\n display: flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n transition: background 0.12s, border-color 0.12s;\n}\n.styles-module__cardRoute___U4gB6:hover {\n background: #f3f4f6;\n border-color: #d1d5db;\n color: #3b82f6;\n}\n.styles-module__cardRoute___U4gB6:hover .styles-module__cardRoutePath___zP-fh {\n color: #3b82f6;\n}\n.styles-module__cardRoute___U4gB6:hover .styles-module__cardRouteIcon___SBqGj {\n color: #3b82f6;\n}\n\n.styles-module__cardRouteName___BDH75 {\n font-weight: 500;\n color: #374151;\n}\n\n.styles-module__cardRoutePath___zP-fh {\n flex: 1;\n min-width: 0;\n color: #9ca3af;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition: color 0.12s;\n}\n\n.styles-module__cardRouteIcon___SBqGj {\n flex-shrink: 0;\n color: #9ca3af;\n transition: color 0.12s;\n}\n\n.styles-module__cardStatusTime___S62W1 {\n padding: 0 16px 6px;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.styles-module__cardStatusTime___S62W1 span {\n font-size: 11px;\n color: #9ca3af;\n}\n\n.styles-module__cardFooter___wfPa4 {\n padding: 8px 16px 12px;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.styles-module__cardReplyDot___YnqzI {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: #16a34a;\n flex-shrink: 0;\n}\n\n.styles-module__cardReplyCount___O1khL {\n font-size: 12px;\n font-weight: 500;\n color: #374151;\n}\n\n.styles-module__statusDot___l4IHG {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n.styles-module__statusDot___l4IHG.styles-module__todo___894P6 {\n background: #f59e0b;\n}\n.styles-module__statusDot___l4IHG.styles-module__inProgress___IZ1mJ {\n background: #3b82f6;\n}\n.styles-module__statusDot___l4IHG.styles-module__done___n4cWP {\n background: #16a34a;\n}\n\n.styles-module__empty___IADrw {\n text-align: center;\n padding: 48px 20px;\n color: #9ca3af;\n font-size: 13px;\n line-height: 1.6;\n}\n\n.styles-module__emptyIcon___1x5wT {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n background: #f3f4f6;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 12px;\n color: #9ca3af;\n}\n.styles-module__emptyIcon___1x5wT svg {\n width: 24px;\n height: 24px;\n}\n\n.styles-module__checkBtn___KjHxm {\n width: 28px;\n height: 28px;\n border: 2px solid #d1d5db;\n border-radius: 50%;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: transparent;\n transition: all 0.15s;\n padding: 0;\n flex-shrink: 0;\n}\n.styles-module__checkBtn___KjHxm svg {\n width: 14px;\n height: 14px;\n}\n.styles-module__checkBtn___KjHxm:hover {\n border-color: #16a34a;\n color: #16a34a;\n}\n.styles-module__checkBtn___KjHxm.styles-module__checked___8pype {\n border-color: #16a34a;\n background: #16a34a;\n color: #fff;\n}\n\n.styles-module__cardDone___-m4w- {\n opacity: 0.6;\n}\n.styles-module__cardDone___-m4w- .styles-module__cardTitle___xJxDN {\n text-decoration: line-through;\n color: #9ca3af;\n}\n\n.styles-module__backBtn___PTIAl {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #6b7280;\n transition: background 0.12s, color 0.12s;\n padding: 0;\n flex-shrink: 0;\n}\n.styles-module__backBtn___PTIAl:hover {\n background: #f3f4f6;\n color: #18181b;\n}\n\n.styles-module__detailView___36cvH {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.styles-module__detailHeader___Hepgq {\n display: flex;\n gap: 10px;\n padding: 16px 20px;\n background: #f5f5f5;\n border-bottom: 1px solid #e5e7eb;\n}\n\n.styles-module__detailTitle___7TvrX {\n font-size: 13px;\n color: #1a1a1a;\n line-height: 1.5;\n margin-top: 4px;\n}\n\n.styles-module__detailScreenshot___UPF0f {\n margin: 0 20px 0;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n max-height: 180px;\n}\n.styles-module__detailScreenshot___UPF0f img {\n width: 100%;\n height: auto;\n display: block;\n object-fit: cover;\n}\n\n.styles-module__commentsList___5Uigg {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n}\n.styles-module__commentsList___5Uigg::-webkit-scrollbar {\n width: 4px;\n}\n.styles-module__commentsList___5Uigg::-webkit-scrollbar-thumb {\n background: #d1d5db;\n border-radius: 2px;\n}\n\n.styles-module__commentItem___5u78u {\n display: flex;\n gap: 10px;\n padding: 10px 20px;\n}\n.styles-module__commentItem___5u78u:hover {\n background: #f9fafb;\n}\n\n.styles-module__commentAvatar___OatKg {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background: #16a34a;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 600;\n flex-shrink: 0;\n}\n\n.styles-module__commentBody___gmv1J {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__commentMeta___JNJa3 {\n display: flex;\n gap: 6px;\n align-items: center;\n margin-bottom: 2px;\n}\n\n.styles-module__commentAuthorName___XNVRk {\n font-size: 13px;\n font-weight: 600;\n color: #1a1a1a;\n}\n\n.styles-module__commentTime___CokGf {\n font-size: 12px;\n color: #9ca3af;\n}\n\n.styles-module__commentContent___yMiLR {\n font-size: 13px;\n color: #374151;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.styles-module__loadingComments___zpATD, .styles-module__noComments___kvl90 {\n text-align: center;\n padding: 24px 20px;\n color: #9ca3af;\n font-size: 13px;\n}\n\n.styles-module__replyBox___FO-XS {\n display: flex;\n align-items: flex-end;\n gap: 8px;\n padding: 12px 20px;\n border-top: 1px solid #f3f4f6;\n background: #fff;\n}\n\n.styles-module__replyInput___k8C9e {\n flex: 1;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n padding: 8px 12px;\n font-size: 13px;\n font-family: inherit;\n color: #1a1a1a;\n resize: none;\n outline: none;\n min-height: 20px;\n max-height: 80px;\n line-height: 1.5;\n transition: border-color 0.12s;\n}\n.styles-module__replyInput___k8C9e:focus {\n border-color: #18181b;\n}\n.styles-module__replyInput___k8C9e::placeholder {\n color: #9ca3af;\n}\n\n.styles-module__sendBtn___pBzWa {\n width: 32px;\n height: 32px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #d1d5db;\n transition: color 0.12s;\n padding: 0;\n flex-shrink: 0;\n}\n.styles-module__sendBtn___pBzWa.styles-module__active___ZQzA5 {\n color: #3b82f6;\n}\n.styles-module__sendBtn___pBzWa:hover {\n color: #3b82f6;\n}\n\n.styles-module__commentImage___LuH8X {\n margin-top: 6px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n overflow: hidden;\n max-width: 240px;\n cursor: pointer;\n transition: opacity 0.12s;\n}\n.styles-module__commentImage___LuH8X:hover {\n opacity: 0.9;\n}\n.styles-module__commentImage___LuH8X img {\n width: 100%;\n height: auto;\n display: block;\n}\n\n.styles-module__commentFileCard___XE44y {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n padding: 8px 10px;\n border-radius: 8px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n cursor: pointer;\n transition: background 0.12s;\n max-width: 240px;\n}\n.styles-module__commentFileCard___XE44y:hover {\n background: #f3f4f6;\n}\n\n.styles-module__commentFileIcon___G58-y {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n background: #e5e7eb;\n color: #374151;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: 700;\n flex-shrink: 0;\n letter-spacing: 0.5px;\n}\n\n.styles-module__commentFileInfo___OFIhR {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 1px;\n}\n\n.styles-module__commentFileName___NUoII {\n font-size: 12px;\n font-weight: 500;\n color: #1a1a1a;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__commentFileSize___sokU8 {\n font-size: 11px;\n color: #9ca3af;\n}\n\n.styles-module__filePreviewOverlay___5RxYd {\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.styles-module__filePreviewModal___MGJLW {\n width: 90vw;\n max-width: 960px;\n height: 80vh;\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n}\n\n.styles-module__filePreviewHeader___E9SWJ {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-bottom: 1px solid #e5e7eb;\n flex-shrink: 0;\n}\n\n.styles-module__filePreviewName___z8t-L {\n font-size: 14px;\n font-weight: 600;\n color: #18181b;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__filePreviewActions___weizo {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.styles-module__filePreviewOpen___JpaEs {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n font-weight: 500;\n color: #3b82f6;\n text-decoration: none;\n padding: 4px 8px;\n border-radius: 6px;\n transition: background 0.12s;\n}\n.styles-module__filePreviewOpen___JpaEs:hover {\n background: #eff6ff;\n}\n\n.styles-module__filePreviewClose___TFcbr {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #6b7280;\n font-size: 18px;\n transition: background 0.12s, color 0.12s;\n}\n.styles-module__filePreviewClose___TFcbr:hover {\n background: #f3f4f6;\n color: #18181b;\n}\n\n.styles-module__filePreviewBody___gwg1S {\n flex: 1;\n overflow: hidden;\n}\n\n.styles-module__filePreviewIframe___OQ3Oo {\n width: 100%;\n height: 100%;\n border: none;\n}\n\n.styles-module__filePreviewFallback___U1rB2 {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 12px;\n color: #6b7280;\n font-size: 14px;\n}\n.styles-module__filePreviewFallback___U1rB2 a {\n color: #3b82f6;\n text-decoration: none;\n font-weight: 500;\n}\n.styles-module__filePreviewFallback___U1rB2 a:hover {\n text-decoration: underline;\n}\n\n.styles-module__filePreviewFallbackIcon___0--41 {\n width: 56px;\n height: 56px;\n border-radius: 12px;\n background: #f3f4f6;\n color: #6b7280;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n font-weight: 700;\n}\n\n.styles-module__lightbox___8CDdt {\n position: fixed;\n inset: 0;\n z-index: 2147483647;\n background: rgba(0, 0, 0, 0.8);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: zoom-out;\n}\n.styles-module__lightbox___8CDdt img {\n max-width: 90vw;\n max-height: 90vh;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n cursor: default;\n}\n\n.styles-module__lightboxClose___VGfjh {\n position: absolute;\n top: 16px;\n right: 16px;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n border: none;\n cursor: pointer;\n font-size: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.styles-module__lightboxClose___VGfjh:hover {\n background: rgba(255, 255, 255, 0.25);\n}\n\n.styles-module__historyFilter___IoWL4 {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 10px 20px;\n border-bottom: 1px solid #f3f4f6;\n background: #fff;\n flex-shrink: 0;\n}\n\n.styles-module__historyDateWrap___reBzb {\n position: relative;\n}\n\n.styles-module__filterChipClear___Sx4c3 {\n width: 22px;\n height: 22px;\n border: none;\n background: #e5e7eb;\n border-radius: 50%;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 13px;\n color: #6b7280;\n line-height: 1;\n transition: background 0.12s;\n font-family: inherit;\n}\n.styles-module__filterChipClear___Sx4c3:hover {\n background: #d1d5db;\n}\n\n.styles-module__datePopover___AYzLr {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 10;\n background: #fff;\n border: 1px solid #e5e7eb;\n border-radius: 10px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n padding: 8px;\n}\n\n.styles-module__dateInput___Ofr3Y {\n border: 1px solid #e5e7eb;\n border-radius: 6px;\n padding: 6px 10px;\n font-size: 13px;\n font-family: inherit;\n color: #1a1a1a;\n outline: none;\n cursor: pointer;\n}\n.styles-module__dateInput___Ofr3Y:focus {\n border-color: #18181b;\n}\n\n.styles-module__historyItem___G4kbt {\n display: flex;\n gap: 12px;\n padding: 12px 20px;\n position: relative;\n transition: background 0.12s;\n}\n.styles-module__historyItem___G4kbt:hover {\n background: #f9fafb;\n}\n.styles-module__historyItem___G4kbt:not(:last-child)::before {\n content: "";\n position: absolute;\n left: 29px;\n top: 24px;\n bottom: -12px;\n width: 1px;\n background: #e5e7eb;\n}\n\n.styles-module__historyDot___0z439 {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n flex-shrink: 0;\n margin-top: 4px;\n background: #d1d5db;\n}\n\n.styles-module__historyDot_created___G-qjM {\n background: #6366f1;\n}\n\n.styles-module__historyDot_status_changed___jsanw {\n background: #3b82f6;\n}\n\n.styles-module__historyDot_comment_added___5-lrl {\n background: #f59e0b;\n}\n\n.styles-module__historyBody___i-k1p {\n flex: 1;\n min-width: 0;\n}\n\n.styles-module__historyMeta___khk0e {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 2px;\n}\n\n.styles-module__historyEvent___P6rQ5 {\n font-size: 12px;\n font-weight: 600;\n color: #374151;\n}\n\n.styles-module__historyTime___bWpM4 {\n font-size: 11px;\n color: #9ca3af;\n}\n\n.styles-module__historyTitle___gUvXd {\n font-size: 13px;\n color: #1a1a1a;\n line-height: 1.4;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__historyUrl___5xfKq {\n font-size: 11px;\n color: #9ca3af;\n margin-top: 2px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}';
2995
+ var classNames6 = { "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", "historyMeta": "styles-module__historyMeta___khk0e", "historyEvent": "styles-module__historyEvent___P6rQ5", "historyTime": "styles-module__historyTime___bWpM4", "historyTitle": "styles-module__historyTitle___gUvXd", "historyUrl": "styles-module__historyUrl___5xfKq" };
2957
2996
  if (typeof document !== "undefined") {
2958
2997
  let style = document.getElementById("impakers-debug-styles-inbox-panel-styles");
2959
2998
  if (!style) {
@@ -2961,12 +3000,12 @@ if (typeof document !== "undefined") {
2961
3000
  style.id = "impakers-debug-styles-inbox-panel-styles";
2962
3001
  document.head.appendChild(style);
2963
3002
  }
2964
- style.textContent = css5;
3003
+ style.textContent = css6;
2965
3004
  }
2966
- var styles_module_default5 = classNames5;
3005
+ var styles_module_default6 = classNames6;
2967
3006
 
2968
3007
  // src/components/inbox-panel/index.tsx
2969
- import { Fragment as Fragment3, jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
3008
+ import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
2970
3009
  function ImageLightbox({ src, onClose }) {
2971
3010
  useEffect4(() => {
2972
3011
  const handler = (e) => {
@@ -2975,9 +3014,9 @@ function ImageLightbox({ src, onClose }) {
2975
3014
  document.addEventListener("keydown", handler);
2976
3015
  return () => document.removeEventListener("keydown", handler);
2977
3016
  }, [onClose]);
2978
- return /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.lightbox, onClick: onClose, "data-impakers-debug": "", children: [
2979
- /* @__PURE__ */ jsx6("img", { src, alt: "enlarged", onClick: (e) => e.stopPropagation() }),
2980
- /* @__PURE__ */ jsx6("button", { className: styles_module_default5.lightboxClose, onClick: onClose, type: "button", children: "\xD7" })
3017
+ return /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.lightbox, onClick: onClose, "data-impakers-debug": "", children: [
3018
+ /* @__PURE__ */ jsx7("img", { src, alt: "enlarged", onClick: (e) => e.stopPropagation() }),
3019
+ /* @__PURE__ */ jsx7("button", { className: styles_module_default6.lightboxClose, onClick: onClose, type: "button", children: "\xD7" })
2981
3020
  ] });
2982
3021
  }
2983
3022
  function formatFileSize2(bytes) {
@@ -3026,25 +3065,25 @@ function FilePreviewModal({
3026
3065
  return () => document.removeEventListener("keydown", handler);
3027
3066
  }, [onClose]);
3028
3067
  const previewSrc = getPreviewSrc(fileUrl, fileType, fileSource);
3029
- return /* @__PURE__ */ jsx6("div", { className: styles_module_default5.filePreviewOverlay, onClick: onClose, "data-impakers-debug": "", children: /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.filePreviewModal, onClick: (e) => e.stopPropagation(), children: [
3030
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.filePreviewHeader, children: [
3031
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.filePreviewName, children: fileName }),
3032
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.filePreviewActions, children: [
3033
- /* @__PURE__ */ jsxs6("a", { href: fileUrl, target: "_blank", rel: "noopener noreferrer", className: styles_module_default5.filePreviewOpen, children: [
3034
- /* @__PURE__ */ jsxs6("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "14", height: "14", children: [
3035
- /* @__PURE__ */ jsx6("path", { d: "M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6" }),
3036
- /* @__PURE__ */ jsx6("polyline", { points: "15 3 21 3 21 9" }),
3037
- /* @__PURE__ */ jsx6("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
3068
+ return /* @__PURE__ */ jsx7("div", { className: styles_module_default6.filePreviewOverlay, onClick: onClose, "data-impakers-debug": "", children: /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.filePreviewModal, onClick: (e) => e.stopPropagation(), children: [
3069
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.filePreviewHeader, children: [
3070
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.filePreviewName, children: fileName }),
3071
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.filePreviewActions, children: [
3072
+ /* @__PURE__ */ jsxs7("a", { href: fileUrl, target: "_blank", rel: "noopener noreferrer", className: styles_module_default6.filePreviewOpen, children: [
3073
+ /* @__PURE__ */ jsxs7("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "14", height: "14", children: [
3074
+ /* @__PURE__ */ jsx7("path", { d: "M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6" }),
3075
+ /* @__PURE__ */ jsx7("polyline", { points: "15 3 21 3 21 9" }),
3076
+ /* @__PURE__ */ jsx7("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
3038
3077
  ] }),
3039
3078
  "\uC5F4\uAE30"
3040
3079
  ] }),
3041
- /* @__PURE__ */ jsx6("button", { className: styles_module_default5.filePreviewClose, onClick: onClose, type: "button", children: "\xD7" })
3080
+ /* @__PURE__ */ jsx7("button", { className: styles_module_default6.filePreviewClose, onClick: onClose, type: "button", children: "\xD7" })
3042
3081
  ] })
3043
3082
  ] }),
3044
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.filePreviewBody, children: previewSrc ? /* @__PURE__ */ jsx6("iframe", { src: previewSrc, className: styles_module_default5.filePreviewIframe, title: fileName }) : /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.filePreviewFallback, children: [
3045
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.filePreviewFallbackIcon, children: getFileIcon2(fileType) }),
3046
- /* @__PURE__ */ jsx6("span", { children: "\uBBF8\uB9AC\uBCF4\uAE30\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uD30C\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4" }),
3047
- /* @__PURE__ */ jsx6("a", { href: fileUrl, target: "_blank", rel: "noopener noreferrer", children: "\uD30C\uC77C \uC5F4\uAE30" })
3083
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.filePreviewBody, children: previewSrc ? /* @__PURE__ */ jsx7("iframe", { src: previewSrc, className: styles_module_default6.filePreviewIframe, title: fileName }) : /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.filePreviewFallback, children: [
3084
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.filePreviewFallbackIcon, children: getFileIcon2(fileType) }),
3085
+ /* @__PURE__ */ jsx7("span", { children: "\uBBF8\uB9AC\uBCF4\uAE30\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uD30C\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4" }),
3086
+ /* @__PURE__ */ jsx7("a", { href: fileUrl, target: "_blank", rel: "noopener noreferrer", children: "\uD30C\uC77C \uC5F4\uAE30" })
3048
3087
  ] }) })
3049
3088
  ] }) });
3050
3089
  }
@@ -3052,14 +3091,14 @@ function formatTime2(dateStr) {
3052
3091
  const date = new Date(dateStr);
3053
3092
  const diff = Date.now() - date.getTime();
3054
3093
  const pad = (n) => String(n).padStart(2, "0");
3055
- const abs = `${pad(date.getMonth() + 1)}.${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`;
3094
+ const abs = `${date.getMonth() + 1}/${date.getDate()} ${pad(date.getHours())}:${pad(date.getMinutes())}`;
3056
3095
  const m = Math.floor(diff / 6e4);
3057
- if (m < 1) return `${abs} (just now)`;
3058
- if (m < 60) return `${abs} (${m}m)`;
3096
+ if (m < 1) return `${abs} (\uBC29\uAE08)`;
3097
+ if (m < 60) return `${abs} (${m}\uBD84 \uC804)`;
3059
3098
  const h = Math.floor(m / 60);
3060
- if (h < 24) return `${abs} (${h}h)`;
3099
+ if (h < 24) return `${abs} (${h}\uC2DC\uAC04 \uC804)`;
3061
3100
  const d = Math.floor(h / 24);
3062
- return `${abs} (${d}d)`;
3101
+ return `${abs} (${d}\uC77C \uC804)`;
3063
3102
  }
3064
3103
  function getInitials2(name) {
3065
3104
  return name.slice(0, 1).toUpperCase();
@@ -3072,10 +3111,17 @@ function InboxPanel({
3072
3111
  endpoint,
3073
3112
  currentUserName,
3074
3113
  currentUserId,
3075
- onClose
3114
+ onClose,
3115
+ onHistoryViewed,
3116
+ newNotiCount
3076
3117
  }) {
3077
3118
  const [tab, setTab] = useState4("page");
3078
3119
  const [statusFilter, setStatusFilter] = useState4("todo");
3120
+ const [historyDate, setHistoryDate] = useState4("");
3121
+ const [showDatePicker, setShowDatePicker] = useState4(false);
3122
+ const datePickerRef = useRef4(null);
3123
+ const [historyEvents, setHistoryEvents] = useState4([]);
3124
+ const [historyLoading, setHistoryLoading] = useState4(false);
3079
3125
  const [exiting, setExiting] = useState4(false);
3080
3126
  const [selectedItem, setSelectedItem] = useState4(null);
3081
3127
  const [comments, setComments] = useState4([]);
@@ -3124,6 +3170,16 @@ function InboxPanel({
3124
3170
  useEffect4(() => {
3125
3171
  commentsEndRef.current?.scrollIntoView({ behavior: "smooth" });
3126
3172
  }, [comments.length]);
3173
+ useEffect4(() => {
3174
+ if (!showDatePicker) return;
3175
+ const handler = (e) => {
3176
+ if (datePickerRef.current && !datePickerRef.current.contains(e.target)) {
3177
+ setShowDatePicker(false);
3178
+ }
3179
+ };
3180
+ document.addEventListener("mousedown", handler);
3181
+ return () => document.removeEventListener("mousedown", handler);
3182
+ }, [showDatePicker]);
3127
3183
  useEffect4(() => {
3128
3184
  if (selectedItem) replyRef.current?.focus();
3129
3185
  }, [selectedItem]);
@@ -3146,64 +3202,69 @@ function InboxPanel({
3146
3202
  }
3147
3203
  if (e.key === "Escape") handleClose();
3148
3204
  }, [handleSendReply, handleClose]);
3149
- const rawItems = tab === "page" ? pageItems : allItems;
3205
+ const rawItems = tab === "page" ? pageItems : tab === "all" ? allItems : [];
3150
3206
  const items = rawItems.filter((item) => item.status === statusFilter);
3151
3207
  const todoCount = rawItems.filter((item) => item.status === "todo").length;
3152
3208
  const inProgressCount = rawItems.filter((item) => item.status === "in_progress").length;
3153
3209
  const doneCount = rawItems.filter((item) => item.status === "done").length;
3210
+ useEffect4(() => {
3211
+ if (tab !== "history") return;
3212
+ setHistoryLoading(true);
3213
+ fetchHistory(endpoint, { date: historyDate || void 0, limit: 200 }).then(setHistoryEvents).catch(() => setHistoryEvents([])).finally(() => setHistoryLoading(false));
3214
+ }, [tab, historyDate, endpoint]);
3154
3215
  if (typeof document === "undefined") return null;
3155
3216
  return createPortal(
3156
- /* @__PURE__ */ jsxs6("div", { "data-impakers-debug": "", children: [
3157
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.backdrop, onClick: handleClose }),
3158
- /* @__PURE__ */ jsxs6("div", { className: `${styles_module_default5.panel} ${exiting ? styles_module_default5.exiting : ""}`, "data-impakers-debug": "", children: [
3159
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.header, children: [
3160
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.headerLeft, children: [
3161
- selectedItem && /* @__PURE__ */ jsx6("button", { className: styles_module_default5.backBtn, onClick: handleClose, type: "button", children: /* @__PURE__ */ jsx6("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "16", height: "16", children: /* @__PURE__ */ jsx6("polyline", { points: "15 18 9 12 15 6" }) }) }),
3162
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.headerTitle, children: selectedItem ? selectedItem.title.replace(/^\[피드백\]\s*/, "") : serviceName || "Feedback" })
3217
+ /* @__PURE__ */ jsxs7("div", { "data-impakers-debug": "", children: [
3218
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.backdrop, onClick: handleClose }),
3219
+ /* @__PURE__ */ jsxs7("div", { className: `${styles_module_default6.panel} ${exiting ? styles_module_default6.exiting : ""}`, "data-impakers-debug": "", children: [
3220
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.header, children: [
3221
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.headerLeft, children: [
3222
+ selectedItem && /* @__PURE__ */ jsx7("button", { className: styles_module_default6.backBtn, onClick: handleClose, type: "button", children: /* @__PURE__ */ jsx7("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "16", height: "16", children: /* @__PURE__ */ jsx7("polyline", { points: "15 18 9 12 15 6" }) }) }),
3223
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.headerTitle, children: selectedItem ? "\uD53C\uB4DC\uBC31 \uC0C1\uC138" : serviceName || "Feedback" })
3163
3224
  ] }),
3164
- /* @__PURE__ */ jsx6("button", { className: styles_module_default5.closeBtn, onClick: () => {
3225
+ /* @__PURE__ */ jsx7("button", { className: styles_module_default6.closeBtn, onClick: () => {
3165
3226
  setExiting(true);
3166
3227
  setTimeout(() => onClose(), 150);
3167
- }, type: "button", children: /* @__PURE__ */ jsx6("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx6("path", { d: "M18 6L6 18M6 6l12 12" }) }) })
3228
+ }, type: "button", children: /* @__PURE__ */ jsx7("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx7("path", { d: "M18 6L6 18M6 6l12 12" }) }) })
3168
3229
  ] }),
3169
- selectedItem ? /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.detailView, children: [
3170
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.detailHeader, children: [
3171
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardAvatar, children: getInitials2(selectedItem.authorName) }),
3172
- /* @__PURE__ */ jsxs6("div", { children: [
3173
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.cardMeta, children: [
3174
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardAuthor, children: selectedItem.authorName }),
3175
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardTime, children: formatTime2(selectedItem.createdAt) })
3230
+ selectedItem ? /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.detailView, children: [
3231
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.detailHeader, children: [
3232
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.cardAvatar, children: getInitials2(selectedItem.authorName) }),
3233
+ /* @__PURE__ */ jsxs7("div", { children: [
3234
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.cardMeta, children: [
3235
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.cardAuthor, children: selectedItem.authorName }),
3236
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.cardTime, children: formatTime2(selectedItem.createdAt) })
3176
3237
  ] }),
3177
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.detailTitle, children: selectedItem.title.replace(/^\[피드백\]\s*/, "") })
3238
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.detailTitle, children: selectedItem.title.replace(/^\[피드백\]\s*/, "") })
3178
3239
  ] })
3179
3240
  ] }),
3180
- selectedItem.screenshot && /* @__PURE__ */ jsx6("div", { className: styles_module_default5.detailScreenshot, children: /* @__PURE__ */ jsx6("img", { src: selectedItem.screenshot, alt: "screenshot" }) }),
3181
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.commentsList, children: [
3182
- loadingComments && /* @__PURE__ */ jsx6("div", { className: styles_module_default5.loadingComments, children: "\uB313\uAE00 \uB85C\uB529 \uC911..." }),
3183
- !loadingComments && comments.length === 0 && /* @__PURE__ */ jsx6("div", { className: styles_module_default5.noComments, children: "\uC544\uC9C1 \uB313\uAE00\uC774 \uC5C6\uC2B5\uB2C8\uB2E4" }),
3184
- comments.map((c) => /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.commentItem, children: [
3185
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.commentAvatar, style: { width: 22, height: 22, fontSize: 10 }, children: getInitials2(c.authorName) }),
3186
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.commentBody, children: [
3187
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.commentMeta, children: [
3188
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.commentAuthorName, children: c.authorName }),
3189
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.commentTime, children: formatTime2(c.createdAt) })
3241
+ selectedItem.screenshot && /* @__PURE__ */ jsx7("div", { className: styles_module_default6.detailScreenshot, children: /* @__PURE__ */ jsx7("img", { src: selectedItem.screenshot, alt: "screenshot" }) }),
3242
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.commentsList, children: [
3243
+ loadingComments && /* @__PURE__ */ jsx7(LoadingSpinner, { message: "\uB313\uAE00 \uB85C\uB529 \uC911..." }),
3244
+ !loadingComments && comments.length === 0 && /* @__PURE__ */ jsx7("div", { className: styles_module_default6.noComments, children: "\uC544\uC9C1 \uB313\uAE00\uC774 \uC5C6\uC2B5\uB2C8\uB2E4" }),
3245
+ comments.map((c) => /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.commentItem, children: [
3246
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.commentAvatar, style: { width: 22, height: 22, fontSize: 10 }, children: getInitials2(c.authorName) }),
3247
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.commentBody, children: [
3248
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.commentMeta, children: [
3249
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.commentAuthorName, children: c.authorName }),
3250
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.commentTime, children: formatTime2(c.createdAt) })
3190
3251
  ] }),
3191
- c.content && /* @__PURE__ */ jsx6("div", { className: styles_module_default5.commentContent, children: c.content }),
3192
- c.imageUrl && /* @__PURE__ */ jsx6(
3252
+ c.content && /* @__PURE__ */ jsx7("div", { className: styles_module_default6.commentContent, children: c.content }),
3253
+ c.imageUrl && /* @__PURE__ */ jsx7(
3193
3254
  "div",
3194
3255
  {
3195
- className: styles_module_default5.commentImage,
3256
+ className: styles_module_default6.commentImage,
3196
3257
  onClick: (e) => {
3197
3258
  e.stopPropagation();
3198
3259
  setLightboxSrc(c.imageUrl);
3199
3260
  },
3200
- children: /* @__PURE__ */ jsx6("img", { src: c.imageUrl, alt: "attachment" })
3261
+ children: /* @__PURE__ */ jsx7("img", { src: c.imageUrl, alt: "attachment" })
3201
3262
  }
3202
3263
  ),
3203
- c.fileUrl && /* @__PURE__ */ jsxs6(
3264
+ c.fileUrl && /* @__PURE__ */ jsxs7(
3204
3265
  "div",
3205
3266
  {
3206
- className: styles_module_default5.commentFileCard,
3267
+ className: styles_module_default6.commentFileCard,
3207
3268
  onClick: (e) => {
3208
3269
  e.stopPropagation();
3209
3270
  setFilePreview({
@@ -3214,24 +3275,24 @@ function InboxPanel({
3214
3275
  });
3215
3276
  },
3216
3277
  children: [
3217
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.commentFileIcon, children: getFileIcon2(c.fileType || "") }),
3218
- /* @__PURE__ */ jsxs6("span", { className: styles_module_default5.commentFileInfo, children: [
3219
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.commentFileName, children: c.fileName || "\uD30C\uC77C" }),
3220
- c.fileSize != null && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.commentFileSize, children: formatFileSize2(c.fileSize) })
3278
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.commentFileIcon, children: getFileIcon2(c.fileType || "") }),
3279
+ /* @__PURE__ */ jsxs7("span", { className: styles_module_default6.commentFileInfo, children: [
3280
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.commentFileName, children: c.fileName || "\uD30C\uC77C" }),
3281
+ c.fileSize != null && /* @__PURE__ */ jsx7("span", { className: styles_module_default6.commentFileSize, children: formatFileSize2(c.fileSize) })
3221
3282
  ] })
3222
3283
  ]
3223
3284
  }
3224
3285
  )
3225
3286
  ] })
3226
3287
  ] }, c.id)),
3227
- /* @__PURE__ */ jsx6("div", { ref: commentsEndRef })
3288
+ /* @__PURE__ */ jsx7("div", { ref: commentsEndRef })
3228
3289
  ] }),
3229
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.replyBox, children: [
3230
- /* @__PURE__ */ jsx6(
3290
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.replyBox, children: [
3291
+ /* @__PURE__ */ jsx7(
3231
3292
  "textarea",
3232
3293
  {
3233
3294
  ref: replyRef,
3234
- className: styles_module_default5.replyInput,
3295
+ className: styles_module_default6.replyInput,
3235
3296
  placeholder: "Reply...",
3236
3297
  value: replyText,
3237
3298
  onChange: (e) => {
@@ -3244,114 +3305,204 @@ function InboxPanel({
3244
3305
  rows: 2
3245
3306
  }
3246
3307
  ),
3247
- /* @__PURE__ */ jsx6(
3308
+ /* @__PURE__ */ jsx7(
3248
3309
  "button",
3249
3310
  {
3250
- className: `${styles_module_default5.sendBtn} ${replyText.trim() ? styles_module_default5.active : ""}`,
3311
+ className: `${styles_module_default6.sendBtn} ${replyText.trim() ? styles_module_default6.active : ""}`,
3251
3312
  onClick: handleSendReply,
3252
3313
  disabled: !replyText.trim(),
3253
3314
  type: "button",
3254
- children: /* @__PURE__ */ jsxs6("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "16", height: "16", children: [
3255
- /* @__PURE__ */ jsx6("line", { x1: "22", y1: "2", x2: "11", y2: "13" }),
3256
- /* @__PURE__ */ jsx6("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })
3315
+ children: /* @__PURE__ */ jsxs7("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "16", height: "16", children: [
3316
+ /* @__PURE__ */ jsx7("line", { x1: "22", y1: "2", x2: "11", y2: "13" }),
3317
+ /* @__PURE__ */ jsx7("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })
3257
3318
  ] })
3258
3319
  }
3259
3320
  )
3260
3321
  ] })
3261
- ] }) : /* @__PURE__ */ jsxs6(Fragment3, { children: [
3262
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.tabs, children: [
3263
- /* @__PURE__ */ jsxs6("button", { className: `${styles_module_default5.tab} ${tab === "page" ? styles_module_default5.active : ""}`, onClick: () => setTab("page"), type: "button", children: [
3322
+ ] }) : /* @__PURE__ */ jsxs7(Fragment3, { children: [
3323
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.tabs, children: [
3324
+ /* @__PURE__ */ jsxs7("button", { className: `${styles_module_default6.tab} ${tab === "page" ? styles_module_default6.active : ""}`, onClick: () => setTab("page"), type: "button", children: [
3264
3325
  "This Page",
3265
- pageItems.length > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.tabBadge, children: pageItems.length })
3326
+ pageItems.length > 0 && /* @__PURE__ */ jsx7("span", { className: styles_module_default6.tabBadge, children: pageItems.length })
3266
3327
  ] }),
3267
- /* @__PURE__ */ jsxs6("button", { className: `${styles_module_default5.tab} ${tab === "all" ? styles_module_default5.active : ""}`, onClick: () => setTab("all"), type: "button", children: [
3328
+ /* @__PURE__ */ jsxs7("button", { className: `${styles_module_default6.tab} ${tab === "all" ? styles_module_default6.active : ""}`, onClick: () => setTab("all"), type: "button", children: [
3268
3329
  "All",
3269
- allItems.length > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.tabBadge, children: allItems.length })
3330
+ allItems.length > 0 && /* @__PURE__ */ jsx7("span", { className: styles_module_default6.tabBadge, children: allItems.length })
3331
+ ] }),
3332
+ /* @__PURE__ */ jsxs7("button", { className: `${styles_module_default6.tab} ${tab === "history" ? styles_module_default6.active : ""}`, onClick: () => {
3333
+ setTab("history");
3334
+ onHistoryViewed?.();
3335
+ }, type: "button", children: [
3336
+ "History",
3337
+ newNotiCount && newNotiCount > 0 ? /* @__PURE__ */ jsx7("span", { className: styles_module_default6.tabBadge, children: newNotiCount }) : null
3270
3338
  ] })
3271
3339
  ] }),
3272
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.statusFilter, children: [
3273
- /* @__PURE__ */ jsxs6(
3274
- "button",
3275
- {
3276
- className: `${styles_module_default5.filterChip} ${statusFilter === "todo" ? styles_module_default5.active : ""}`,
3277
- onClick: () => setStatusFilter("todo"),
3278
- type: "button",
3279
- children: [
3280
- "\uC9C4\uD589\uC804",
3281
- todoCount > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.filterCount, children: todoCount })
3282
- ]
3283
- }
3284
- ),
3285
- /* @__PURE__ */ jsxs6(
3286
- "button",
3287
- {
3288
- className: `${styles_module_default5.filterChip} ${statusFilter === "in_progress" ? styles_module_default5.active : ""}`,
3289
- onClick: () => setStatusFilter("in_progress"),
3290
- type: "button",
3291
- children: [
3292
- "\uC9C4\uD589\uC911",
3293
- inProgressCount > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.filterCount, children: inProgressCount })
3294
- ]
3295
- }
3296
- ),
3297
- /* @__PURE__ */ jsxs6(
3298
- "button",
3299
- {
3300
- className: `${styles_module_default5.filterChip} ${statusFilter === "done" ? styles_module_default5.active : ""}`,
3301
- onClick: () => setStatusFilter("done"),
3302
- type: "button",
3303
- children: [
3304
- "\uC644\uB8CC",
3305
- doneCount > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.filterCount, children: doneCount })
3306
- ]
3307
- }
3308
- )
3309
- ] }),
3310
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.content, children: items.length === 0 ? /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.empty, children: [
3311
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.emptyIcon, children: /* @__PURE__ */ jsx6("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx6("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z" }) }) }),
3312
- tab === "page" ? "\uC774 \uD398\uC774\uC9C0\uC5D0 \uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4" : "\uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"
3313
- ] }) : items.map((item) => /* @__PURE__ */ jsxs6("div", { className: `${styles_module_default5.card} ${item.status === "done" ? styles_module_default5.cardDone : ""}`, onClick: () => handleItemClick(item), children: [
3314
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.cardHeader, children: [
3315
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardAvatar, children: getInitials2(item.authorName) }),
3316
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardInfo, children: /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.cardMeta, children: [
3317
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardAuthor, children: item.authorName }),
3318
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardTime, children: formatTime2(item.createdAt) })
3319
- ] }) })
3340
+ tab === "history" ? (
3341
+ /* === History 뷰 === */
3342
+ /* @__PURE__ */ jsxs7(Fragment3, { children: [
3343
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.historyFilter, children: [
3344
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.historyDateWrap, ref: datePickerRef, children: [
3345
+ /* @__PURE__ */ jsxs7(
3346
+ "button",
3347
+ {
3348
+ className: `${styles_module_default6.filterChip} ${historyDate ? styles_module_default6.active : ""}`,
3349
+ onClick: () => setShowDatePicker((v) => !v),
3350
+ type: "button",
3351
+ children: [
3352
+ /* @__PURE__ */ jsxs7("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "13", height: "13", children: [
3353
+ /* @__PURE__ */ jsx7("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }),
3354
+ /* @__PURE__ */ jsx7("line", { x1: "16", y1: "2", x2: "16", y2: "6" }),
3355
+ /* @__PURE__ */ jsx7("line", { x1: "8", y1: "2", x2: "8", y2: "6" }),
3356
+ /* @__PURE__ */ jsx7("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
3357
+ ] }),
3358
+ historyDate ? `${new Date(historyDate).getMonth() + 1}/${new Date(historyDate).getDate()}` : "\uB0A0\uC9DC"
3359
+ ]
3360
+ }
3361
+ ),
3362
+ showDatePicker && /* @__PURE__ */ jsx7("div", { className: styles_module_default6.datePopover, children: /* @__PURE__ */ jsx7(
3363
+ "input",
3364
+ {
3365
+ type: "date",
3366
+ value: historyDate,
3367
+ onChange: (e) => {
3368
+ setHistoryDate(e.target.value);
3369
+ setShowDatePicker(false);
3370
+ },
3371
+ className: styles_module_default6.dateInput,
3372
+ autoFocus: true
3373
+ }
3374
+ ) })
3375
+ ] }),
3376
+ historyDate && /* @__PURE__ */ jsx7(
3377
+ "button",
3378
+ {
3379
+ className: styles_module_default6.filterChipClear,
3380
+ onClick: () => setHistoryDate(""),
3381
+ type: "button",
3382
+ title: "\uD544\uD130 \uCD08\uAE30\uD654",
3383
+ children: "\xD7"
3384
+ }
3385
+ )
3386
+ ] }),
3387
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.content, children: historyLoading ? /* @__PURE__ */ jsx7("div", { className: styles_module_default6.empty, children: "\uB85C\uB529 \uC911..." }) : historyEvents.length === 0 ? /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.empty, children: [
3388
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.emptyIcon, children: /* @__PURE__ */ jsxs7("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
3389
+ /* @__PURE__ */ jsx7("circle", { cx: "12", cy: "12", r: "10" }),
3390
+ /* @__PURE__ */ jsx7("polyline", { points: "12 6 12 12 16 14" })
3391
+ ] }) }),
3392
+ "\uD788\uC2A4\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4"
3393
+ ] }) : historyEvents.map((ev, i) => /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.historyItem, children: [
3394
+ /* @__PURE__ */ jsx7("div", { className: `${styles_module_default6.historyDot} ${styles_module_default6[`historyDot_${ev.action}`]}` }),
3395
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.historyBody, children: [
3396
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.historyMeta, children: [
3397
+ /* @__PURE__ */ jsxs7("span", { className: styles_module_default6.historyEvent, children: [
3398
+ ev.action === "created" && "\uD53C\uB4DC\uBC31 \uC0DD\uC131",
3399
+ ev.action === "status_changed" && ev.toStatus === "in_progress" && "\uC9C4\uD589 \uC2DC\uC791",
3400
+ ev.action === "status_changed" && ev.toStatus === "done" && "\uC644\uB8CC \uCC98\uB9AC",
3401
+ ev.action === "status_changed" && ev.toStatus === "todo" && "\uC7AC\uC624\uD508",
3402
+ ev.action === "comment_added" && `\uB313\uAE00 (${ev.actorName || "\uC775\uBA85"})`
3403
+ ] }),
3404
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.historyTime, children: formatTime2(ev.createdAt) })
3405
+ ] }),
3406
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.historyTitle, children: (ev.taskTitle || "").replace(/^\[피드백\]\s*/, "") }),
3407
+ ev.feedbackUrl && /* @__PURE__ */ jsx7("div", { className: styles_module_default6.historyUrl, children: ev.feedbackUrl })
3408
+ ] })
3409
+ ] }, `${ev.id}-${ev.action}-${i}`)) })
3410
+ ] })
3411
+ ) : /* @__PURE__ */ jsxs7(Fragment3, { children: [
3412
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.statusFilter, children: [
3413
+ /* @__PURE__ */ jsxs7(
3414
+ "button",
3415
+ {
3416
+ className: `${styles_module_default6.filterChip} ${statusFilter === "todo" ? styles_module_default6.active : ""}`,
3417
+ onClick: () => setStatusFilter("todo"),
3418
+ type: "button",
3419
+ children: [
3420
+ "\uC9C4\uD589\uC804",
3421
+ todoCount > 0 && /* @__PURE__ */ jsx7("span", { className: styles_module_default6.filterCount, children: todoCount })
3422
+ ]
3423
+ }
3424
+ ),
3425
+ /* @__PURE__ */ jsxs7(
3426
+ "button",
3427
+ {
3428
+ className: `${styles_module_default6.filterChip} ${statusFilter === "in_progress" ? styles_module_default6.active : ""}`,
3429
+ onClick: () => setStatusFilter("in_progress"),
3430
+ type: "button",
3431
+ children: [
3432
+ "\uC9C4\uD589\uC911",
3433
+ inProgressCount > 0 && /* @__PURE__ */ jsx7("span", { className: styles_module_default6.filterCount, children: inProgressCount })
3434
+ ]
3435
+ }
3436
+ ),
3437
+ /* @__PURE__ */ jsxs7(
3438
+ "button",
3439
+ {
3440
+ className: `${styles_module_default6.filterChip} ${statusFilter === "done" ? styles_module_default6.active : ""}`,
3441
+ onClick: () => setStatusFilter("done"),
3442
+ type: "button",
3443
+ children: [
3444
+ "\uC644\uB8CC",
3445
+ doneCount > 0 && /* @__PURE__ */ jsx7("span", { className: styles_module_default6.filterCount, children: doneCount })
3446
+ ]
3447
+ }
3448
+ )
3320
3449
  ] }),
3321
- /* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardTitle, children: item.title.replace(/^\[피드백\]\s*/, "") }),
3322
- item.screenshot && /* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardScreenshot, children: /* @__PURE__ */ jsx6("img", { src: item.screenshot, alt: "screenshot" }) }),
3323
- tab === "all" && item.feedbackUrl && /* @__PURE__ */ jsxs6(
3324
- "div",
3325
- {
3326
- className: styles_module_default5.cardRoute,
3327
- onClick: (e) => {
3328
- e.stopPropagation();
3329
- window.location.href = item.feedbackUrl;
3330
- },
3331
- title: "\uD398\uC774\uC9C0\uB85C \uC774\uB3D9",
3332
- children: [
3333
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardRoutePath, children: item.feedbackUrl }),
3334
- /* @__PURE__ */ jsxs6("svg", { className: styles_module_default5.cardRouteIcon, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "12", height: "12", children: [
3335
- /* @__PURE__ */ jsx6("path", { d: "M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6" }),
3336
- /* @__PURE__ */ jsx6("polyline", { points: "15 3 21 3 21 9" }),
3337
- /* @__PURE__ */ jsx6("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
3338
- ] })
3339
- ]
3340
- }
3341
- ),
3342
- /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.cardFooter, children: [
3343
- /* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardReplyDot }),
3344
- /* @__PURE__ */ jsxs6("span", { className: styles_module_default5.cardReplyCount, children: [
3345
- item.commentCount,
3346
- " ",
3347
- item.commentCount === 1 ? "Reply" : "Replies"
3450
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.content, children: items.length === 0 ? /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.empty, children: [
3451
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.emptyIcon, children: /* @__PURE__ */ jsx7("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx7("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z" }) }) }),
3452
+ tab === "page" ? "\uC774 \uD398\uC774\uC9C0\uC5D0 \uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4" : "\uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"
3453
+ ] }) : items.map((item) => /* @__PURE__ */ jsxs7("div", { className: `${styles_module_default6.card} ${item.status === "done" ? styles_module_default6.cardDone : ""}`, onClick: () => handleItemClick(item), children: [
3454
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.cardHeader, children: [
3455
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.cardAvatar, children: getInitials2(item.authorName) }),
3456
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.cardInfo, children: /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.cardMeta, children: [
3457
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.cardAuthor, children: item.authorName }),
3458
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.cardTime, children: formatTime2(item.createdAt) })
3459
+ ] }) })
3460
+ ] }),
3461
+ /* @__PURE__ */ jsx7("div", { className: styles_module_default6.cardTitle, children: item.title.replace(/^\[피드백\]\s*/, "") }),
3462
+ item.screenshot && /* @__PURE__ */ jsx7("div", { className: styles_module_default6.cardScreenshot, children: /* @__PURE__ */ jsx7("img", { src: item.screenshot, alt: "screenshot" }) }),
3463
+ tab === "all" && item.feedbackUrl && /* @__PURE__ */ jsxs7(
3464
+ "div",
3465
+ {
3466
+ className: styles_module_default6.cardRoute,
3467
+ onClick: (e) => {
3468
+ e.stopPropagation();
3469
+ window.location.href = item.feedbackUrl;
3470
+ },
3471
+ title: "\uD398\uC774\uC9C0\uB85C \uC774\uB3D9",
3472
+ children: [
3473
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.cardRoutePath, children: item.feedbackUrl }),
3474
+ /* @__PURE__ */ jsxs7("svg", { className: styles_module_default6.cardRouteIcon, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "12", height: "12", children: [
3475
+ /* @__PURE__ */ jsx7("path", { d: "M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6" }),
3476
+ /* @__PURE__ */ jsx7("polyline", { points: "15 3 21 3 21 9" }),
3477
+ /* @__PURE__ */ jsx7("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
3478
+ ] })
3479
+ ]
3480
+ }
3481
+ ),
3482
+ (item.startedAt || item.completedAt) && /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.cardStatusTime, children: [
3483
+ item.startedAt && item.status !== "todo" && /* @__PURE__ */ jsxs7("span", { children: [
3484
+ "\uC9C4\uD589 \uC2DC\uC791: ",
3485
+ formatTime2(item.startedAt)
3486
+ ] }),
3487
+ item.completedAt && item.status === "done" && /* @__PURE__ */ jsxs7("span", { children: [
3488
+ "\uC644\uB8CC: ",
3489
+ formatTime2(item.completedAt)
3490
+ ] })
3491
+ ] }),
3492
+ /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.cardFooter, children: [
3493
+ /* @__PURE__ */ jsx7("span", { className: styles_module_default6.cardReplyDot }),
3494
+ /* @__PURE__ */ jsxs7("span", { className: styles_module_default6.cardReplyCount, children: [
3495
+ item.commentCount,
3496
+ " ",
3497
+ item.commentCount === 1 ? "Reply" : "Replies"
3498
+ ] })
3348
3499
  ] })
3349
- ] })
3350
- ] }, item.id)) })
3500
+ ] }, item.id)) })
3501
+ ] })
3351
3502
  ] })
3352
3503
  ] }),
3353
- lightboxSrc && /* @__PURE__ */ jsx6(ImageLightbox, { src: lightboxSrc, onClose: () => setLightboxSrc(null) }),
3354
- filePreview && /* @__PURE__ */ jsx6(
3504
+ lightboxSrc && /* @__PURE__ */ jsx7(ImageLightbox, { src: lightboxSrc, onClose: () => setLightboxSrc(null) }),
3505
+ filePreview && /* @__PURE__ */ jsx7(
3355
3506
  FilePreviewModal,
3356
3507
  {
3357
3508
  fileUrl: filePreview.url,
@@ -3403,8 +3554,8 @@ var MARKER_COLORS = [
3403
3554
  ];
3404
3555
 
3405
3556
  // src/components/settings-panel/styles.module.scss
3406
- var css6 = '@keyframes styles-module__panelIn___SmRh6 {\n from {\n opacity: 0;\n transform: translateY(8px) scale(0.96);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n.styles-module__backdrop___--cMp {\n position: fixed;\n inset: 0;\n z-index: 100005;\n}\n\n.styles-module__panel___z6xiJ {\n position: fixed;\n bottom: 80px;\n right: 24px;\n width: 280px;\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);\n z-index: 100006;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__panelIn___SmRh6 0.15s ease-out;\n -webkit-font-smoothing: antialiased;\n}\n\n.styles-module__header___NkOur {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 16px;\n border-bottom: 1px solid #f3f4f6;\n}\n\n.styles-module__title___tsKZw {\n font-size: 14px;\n font-weight: 600;\n color: #18181b;\n}\n\n.styles-module__closeBtn___-OQ4Y {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #6b7280;\n}\n.styles-module__closeBtn___-OQ4Y:hover {\n background: #f3f4f6;\n color: #18181b;\n}\n\n.styles-module__body___9pyCP {\n padding: 12px 16px 16px;\n}\n\n.styles-module__field___vnQMl {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 0;\n}\n\n.styles-module__fieldLabel___2WUKB {\n font-size: 13px;\n font-weight: 500;\n color: #374151;\n}\n\n.styles-module__toggle___uWsqC {\n width: 40px;\n height: 22px;\n border-radius: 11px;\n background: #d1d5db;\n border: none;\n cursor: pointer;\n position: relative;\n transition: background 0.2s;\n padding: 0;\n}\n.styles-module__toggle___uWsqC.styles-module__on___W27kf {\n background: #18181b;\n}\n\n.styles-module__toggleThumb___wyckC {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 18px;\n height: 18px;\n border-radius: 50%;\n background: #fff;\n transition: transform 0.2s;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n.styles-module__on___W27kf .styles-module__toggleThumb___wyckC {\n transform: translateX(18px);\n}\n\n.styles-module__colors___vgFGZ {\n display: flex;\n gap: 6px;\n}\n\n.styles-module__colorBtn___N7dGu {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n border: 2px solid transparent;\n cursor: pointer;\n transition: transform 0.12s, border-color 0.12s;\n padding: 0;\n}\n.styles-module__colorBtn___N7dGu:hover {\n transform: scale(1.15);\n}\n.styles-module__colorBtn___N7dGu.styles-module__selected___0tVDH {\n border-color: #18181b;\n transform: scale(1.15);\n}';
3407
- var classNames6 = { "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" };
3557
+ var css7 = '@keyframes styles-module__panelIn___SmRh6 {\n from {\n opacity: 0;\n transform: translateY(8px) scale(0.96);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n.styles-module__backdrop___--cMp {\n position: fixed;\n inset: 0;\n z-index: 100005;\n}\n\n.styles-module__panel___z6xiJ {\n position: fixed;\n bottom: 80px;\n right: 24px;\n width: 280px;\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);\n z-index: 100006;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__panelIn___SmRh6 0.15s ease-out;\n -webkit-font-smoothing: antialiased;\n}\n\n.styles-module__header___NkOur {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 16px;\n border-bottom: 1px solid #f3f4f6;\n}\n\n.styles-module__title___tsKZw {\n font-size: 14px;\n font-weight: 600;\n color: #18181b;\n}\n\n.styles-module__closeBtn___-OQ4Y {\n width: 28px;\n height: 28px;\n border: none;\n background: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n color: #6b7280;\n}\n.styles-module__closeBtn___-OQ4Y:hover {\n background: #f3f4f6;\n color: #18181b;\n}\n\n.styles-module__body___9pyCP {\n padding: 12px 16px 16px;\n}\n\n.styles-module__field___vnQMl {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 0;\n}\n\n.styles-module__fieldLabel___2WUKB {\n font-size: 13px;\n font-weight: 500;\n color: #374151;\n}\n\n.styles-module__toggle___uWsqC {\n width: 40px;\n height: 22px;\n border-radius: 11px;\n background: #d1d5db;\n border: none;\n cursor: pointer;\n position: relative;\n transition: background 0.2s;\n padding: 0;\n}\n.styles-module__toggle___uWsqC.styles-module__on___W27kf {\n background: #18181b;\n}\n\n.styles-module__toggleThumb___wyckC {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 18px;\n height: 18px;\n border-radius: 50%;\n background: #fff;\n transition: transform 0.2s;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n.styles-module__on___W27kf .styles-module__toggleThumb___wyckC {\n transform: translateX(18px);\n}\n\n.styles-module__colors___vgFGZ {\n display: flex;\n gap: 6px;\n}\n\n.styles-module__colorBtn___N7dGu {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n border: 2px solid transparent;\n cursor: pointer;\n transition: transform 0.12s, border-color 0.12s;\n padding: 0;\n}\n.styles-module__colorBtn___N7dGu:hover {\n transform: scale(1.15);\n}\n.styles-module__colorBtn___N7dGu.styles-module__selected___0tVDH {\n border-color: #18181b;\n transform: scale(1.15);\n}';
3558
+ var classNames7 = { "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" };
3408
3559
  if (typeof document !== "undefined") {
3409
3560
  let style = document.getElementById("impakers-debug-styles-settings-panel-styles");
3410
3561
  if (!style) {
@@ -3412,12 +3563,12 @@ if (typeof document !== "undefined") {
3412
3563
  style.id = "impakers-debug-styles-settings-panel-styles";
3413
3564
  document.head.appendChild(style);
3414
3565
  }
3415
- style.textContent = css6;
3566
+ style.textContent = css7;
3416
3567
  }
3417
- var styles_module_default6 = classNames6;
3568
+ var styles_module_default7 = classNames7;
3418
3569
 
3419
3570
  // src/components/settings-panel/index.tsx
3420
- import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
3571
+ import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
3421
3572
  function SettingsPanel({ settings, onChange, onClose }) {
3422
3573
  const handleToggleMarkers = useCallback5(() => {
3423
3574
  onChange({ ...settings, markersVisible: !settings.markersVisible });
@@ -3433,56 +3584,56 @@ function SettingsPanel({ settings, onChange, onClose }) {
3433
3584
  }, [settings, onChange]);
3434
3585
  if (typeof document === "undefined") return null;
3435
3586
  return createPortal2(
3436
- /* @__PURE__ */ jsxs7("div", { "data-impakers-debug": "", children: [
3437
- /* @__PURE__ */ jsx7("div", { className: styles_module_default6.backdrop, onClick: onClose }),
3438
- /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.panel, "data-impakers-debug": "", children: [
3439
- /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.header, children: [
3440
- /* @__PURE__ */ jsx7("span", { className: styles_module_default6.title, children: "\uC124\uC815" }),
3441
- /* @__PURE__ */ jsx7("button", { className: styles_module_default6.closeBtn, onClick: onClose, type: "button", children: /* @__PURE__ */ jsx7("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx7("path", { d: "M18 6L6 18M6 6l12 12" }) }) })
3587
+ /* @__PURE__ */ jsxs8("div", { "data-impakers-debug": "", children: [
3588
+ /* @__PURE__ */ jsx8("div", { className: styles_module_default7.backdrop, onClick: onClose }),
3589
+ /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.panel, "data-impakers-debug": "", children: [
3590
+ /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.header, children: [
3591
+ /* @__PURE__ */ jsx8("span", { className: styles_module_default7.title, children: "\uC124\uC815" }),
3592
+ /* @__PURE__ */ jsx8("button", { className: styles_module_default7.closeBtn, onClick: onClose, type: "button", children: /* @__PURE__ */ jsx8("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx8("path", { d: "M18 6L6 18M6 6l12 12" }) }) })
3442
3593
  ] }),
3443
- /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.body, children: [
3444
- /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.field, children: [
3445
- /* @__PURE__ */ jsx7("div", { className: styles_module_default6.fieldLabel, children: "\uB9C8\uCEE4 \uD45C\uC2DC" }),
3446
- /* @__PURE__ */ jsx7(
3594
+ /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.body, children: [
3595
+ /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.field, children: [
3596
+ /* @__PURE__ */ jsx8("div", { className: styles_module_default7.fieldLabel, children: "\uB9C8\uCEE4 \uD45C\uC2DC" }),
3597
+ /* @__PURE__ */ jsx8(
3447
3598
  "button",
3448
3599
  {
3449
- className: `${styles_module_default6.toggle} ${settings.markersVisible ? styles_module_default6.on : ""}`,
3600
+ className: `${styles_module_default7.toggle} ${settings.markersVisible ? styles_module_default7.on : ""}`,
3450
3601
  onClick: handleToggleMarkers,
3451
3602
  type: "button",
3452
- children: /* @__PURE__ */ jsx7("span", { className: styles_module_default6.toggleThumb })
3603
+ children: /* @__PURE__ */ jsx8("span", { className: styles_module_default7.toggleThumb })
3453
3604
  }
3454
3605
  )
3455
3606
  ] }),
3456
- /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.field, children: [
3457
- /* @__PURE__ */ jsx7("div", { className: styles_module_default6.fieldLabel, children: "\uC644\uB8CC \uD540 \uC228\uAE30\uAE30" }),
3458
- /* @__PURE__ */ jsx7(
3607
+ /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.field, children: [
3608
+ /* @__PURE__ */ jsx8("div", { className: styles_module_default7.fieldLabel, children: "\uC644\uB8CC \uD540 \uC228\uAE30\uAE30" }),
3609
+ /* @__PURE__ */ jsx8(
3459
3610
  "button",
3460
3611
  {
3461
- className: `${styles_module_default6.toggle} ${settings.hideDoneMarkers ? styles_module_default6.on : ""}`,
3612
+ className: `${styles_module_default7.toggle} ${settings.hideDoneMarkers ? styles_module_default7.on : ""}`,
3462
3613
  onClick: handleToggleHideDone,
3463
3614
  type: "button",
3464
- children: /* @__PURE__ */ jsx7("span", { className: styles_module_default6.toggleThumb })
3615
+ children: /* @__PURE__ */ jsx8("span", { className: styles_module_default7.toggleThumb })
3465
3616
  }
3466
3617
  )
3467
3618
  ] }),
3468
- /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.field, children: [
3469
- /* @__PURE__ */ jsx7("div", { className: styles_module_default6.fieldLabel, children: "\uB0B4\uAC00 \uCD94\uAC00\uD55C \uAC83\uB9CC" }),
3470
- /* @__PURE__ */ jsx7(
3619
+ /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.field, children: [
3620
+ /* @__PURE__ */ jsx8("div", { className: styles_module_default7.fieldLabel, children: "\uB0B4\uAC00 \uCD94\uAC00\uD55C \uAC83\uB9CC" }),
3621
+ /* @__PURE__ */ jsx8(
3471
3622
  "button",
3472
3623
  {
3473
- className: `${styles_module_default6.toggle} ${settings.showOnlyMine ? styles_module_default6.on : ""}`,
3624
+ className: `${styles_module_default7.toggle} ${settings.showOnlyMine ? styles_module_default7.on : ""}`,
3474
3625
  onClick: handleToggleShowOnlyMine,
3475
3626
  type: "button",
3476
- children: /* @__PURE__ */ jsx7("span", { className: styles_module_default6.toggleThumb })
3627
+ children: /* @__PURE__ */ jsx8("span", { className: styles_module_default7.toggleThumb })
3477
3628
  }
3478
3629
  )
3479
3630
  ] }),
3480
- /* @__PURE__ */ jsxs7("div", { className: styles_module_default6.field, children: [
3481
- /* @__PURE__ */ jsx7("div", { className: styles_module_default6.fieldLabel, children: "\uB9C8\uCEE4 \uC0C9\uC0C1" }),
3482
- /* @__PURE__ */ jsx7("div", { className: styles_module_default6.colors, children: MARKER_COLORS.map((c) => /* @__PURE__ */ jsx7(
3631
+ /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.field, children: [
3632
+ /* @__PURE__ */ jsx8("div", { className: styles_module_default7.fieldLabel, children: "\uB9C8\uCEE4 \uC0C9\uC0C1" }),
3633
+ /* @__PURE__ */ jsx8("div", { className: styles_module_default7.colors, children: MARKER_COLORS.map((c) => /* @__PURE__ */ jsx8(
3483
3634
  "button",
3484
3635
  {
3485
- className: `${styles_module_default6.colorBtn} ${settings.markerColor === c.value ? styles_module_default6.selected : ""}`,
3636
+ className: `${styles_module_default7.colorBtn} ${settings.markerColor === c.value ? styles_module_default7.selected : ""}`,
3486
3637
  style: { background: c.value },
3487
3638
  onClick: () => handleColorChange(c.value),
3488
3639
  title: c.label,
@@ -3499,8 +3650,8 @@ function SettingsPanel({ settings, onChange, onClose }) {
3499
3650
  }
3500
3651
 
3501
3652
  // src/components/debug-widget/styles.module.scss
3502
- var css7 = '.styles-module__markersLayer___VR1cD svg[fill=none],\n.styles-module__fixedMarkersLayer___wBuxm svg[fill=none] {\n fill: none !important;\n}\n.styles-module__markersLayer___VR1cD svg[fill=none] :not([fill]),\n.styles-module__fixedMarkersLayer___wBuxm svg[fill=none] :not([fill]) {\n fill: none !important;\n}\n\n@keyframes styles-module__fadeIn___PpRqy {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes styles-module__fadeOut___tZb9S {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes styles-module__hoverHighlightIn___ljC4F {\n from {\n opacity: 0;\n transform: scale(0.98);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__hoverTooltipIn___tncNM {\n from {\n opacity: 0;\n transform: translateY(4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes styles-module__fabEnter___9koyT {\n from {\n opacity: 0;\n transform: scale(0.5);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n.styles-module__fab___6FrCF {\n position: fixed;\n bottom: 24px;\n right: 24px;\n width: 44px;\n height: 44px;\n border-radius: 50%;\n background: #18181b;\n color: white;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n z-index: 99999;\n animation: styles-module__fabEnter___9koyT 0.3s cubic-bezier(0.22, 1, 0.36, 1);\n touch-action: none;\n}\n.styles-module__fab___6FrCF svg {\n width: 20px;\n height: 20px;\n}\n.styles-module__fab___6FrCF:hover {\n transform: scale(1.08);\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.12);\n}\n.styles-module__fab___6FrCF:active {\n transform: scale(0.96);\n}\n.styles-module__fab___6FrCF.styles-module__active___X5PRD {\n background: #dc2626;\n}\n\n.styles-module__hoverHighlight___9kGLL {\n position: fixed;\n border: 2px solid rgba(0, 136, 255, 0.5);\n border-radius: 4px;\n background-color: rgba(0, 136, 255, 0.04);\n pointer-events: none !important;\n box-sizing: border-box;\n will-change: opacity;\n z-index: 99997;\n}\n.styles-module__hoverHighlight___9kGLL.styles-module__enter___jAi-c {\n animation: styles-module__hoverHighlightIn___ljC4F 0.12s ease-out forwards;\n}\n\n.styles-module__singleSelectOutline___2meUm {\n position: fixed;\n border: 2px solid rgba(0, 136, 255, 0.6);\n border-radius: 4px;\n pointer-events: none !important;\n background-color: rgba(0, 136, 255, 0.05);\n box-sizing: border-box;\n will-change: opacity;\n z-index: 99997;\n}\n.styles-module__singleSelectOutline___2meUm.styles-module__enter___jAi-c {\n animation: styles-module__fadeIn___PpRqy 0.15s ease-out forwards;\n}\n\n.styles-module__hoverTooltip___JE1Bs {\n position: fixed;\n font-size: 0.6875rem;\n font-weight: 500;\n color: #fff;\n background: rgba(0, 0, 0, 0.85);\n padding: 0.35rem 0.6rem;\n border-radius: 0.375rem;\n pointer-events: none !important;\n white-space: nowrap;\n max-width: 280px;\n overflow: hidden;\n text-overflow: ellipsis;\n z-index: 99999;\n}\n.styles-module__hoverTooltip___JE1Bs.styles-module__enter___jAi-c {\n animation: styles-module__hoverTooltipIn___tncNM 0.1s ease-out forwards;\n}\n\n.styles-module__hoverReactPath___wPGYi {\n font-size: 0.625rem;\n color: rgba(255, 255, 255, 0.6);\n margin-bottom: 0.15rem;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__hoverElementName___lNqTP {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__markersLayer___VR1cD {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n z-index: 99998;\n pointer-events: none;\n}\n.styles-module__markersLayer___VR1cD > * {\n pointer-events: auto;\n}\n\n.styles-module__fixedMarkersLayer___wBuxm {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 99998;\n pointer-events: none;\n}\n.styles-module__fixedMarkersLayer___wBuxm > * {\n pointer-events: auto;\n}\n\n.styles-module__contextMenu___nDXft {\n position: fixed;\n z-index: 2147483647;\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16), 0 1px 4px rgba(0, 0, 0, 0.08);\n padding: 4px;\n min-width: 140px;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__fadeIn___PpRqy 0.1s ease-out;\n}\n\n.styles-module__contextMenuItem___69GKu {\n display: block;\n width: 100%;\n padding: 8px 12px;\n border: none;\n background: none;\n font-size: 13px;\n color: #18181b;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n font-family: inherit;\n}\n.styles-module__contextMenuItem___69GKu:hover {\n background: #f4f4f5;\n}\n\n@keyframes styles-module__toastIn___V382h {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes styles-module__toastOut___zlqxG {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n.styles-module__toast___gV3Sa {\n position: fixed;\n bottom: 80px;\n right: 24px;\n display: flex;\n align-items: center;\n gap: 8px;\n background: white;\n border: 1px solid #e5e5e5;\n border-radius: 8px;\n padding: 10px 16px;\n font-size: 13px;\n font-weight: 500;\n color: #18181b;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n z-index: 100000;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__toastIn___V382h 0.2s ease-out, styles-module__toastOut___zlqxG 0.3s ease-in 2.7s forwards;\n max-width: 320px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.styles-module__toast___gV3Sa span {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.styles-module__toast___gV3Sa.styles-module__toastError___Q-8dn {\n border-color: #fecaca;\n background: #fef2f2;\n color: #991b1b;\n animation: styles-module__toastIn___V382h 0.2s ease-out, styles-module__toastOut___zlqxG 0.3s ease-in 3.7s forwards;\n}\n\n@keyframes styles-module__countdownPulse___ngZrL {\n 0%, 100% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.15);\n }\n}\n.styles-module__countdownOverlay___GruQJ {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n z-index: 100002;\n pointer-events: auto;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__fadeIn___PpRqy 0.2s ease-out;\n}\n\n.styles-module__countdownNumber___VAmkI {\n width: 72px;\n height: 72px;\n border-radius: 50%;\n background: rgba(24, 24, 27, 0.9);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 28px;\n font-weight: 700;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n animation: styles-module__countdownPulse___ngZrL 1s ease-in-out infinite;\n}\n\n.styles-module__countdownLabel___px-ao {\n font-size: 13px;\n font-weight: 500;\n color: #18181b;\n background: rgba(255, 255, 255, 0.95);\n padding: 6px 14px;\n border-radius: 8px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.styles-module__countdownCancel___8cRgZ {\n font-size: 12px;\n color: #6b7280;\n background: rgba(255, 255, 255, 0.9);\n border: 1px solid #d1d5db;\n border-radius: 6px;\n padding: 4px 12px;\n cursor: pointer;\n font-family: inherit;\n transition: background 0.12s;\n}\n.styles-module__countdownCancel___8cRgZ:hover {\n background: #f3f4f6;\n}\n\nhtml.impakers-selecting {\n cursor: crosshair !important;\n}\nhtml.impakers-selecting * {\n cursor: crosshair !important;\n}';
3503
- var classNames7 = { "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" };
3653
+ var css8 = '.styles-module__markersLayer___VR1cD svg[fill=none],\n.styles-module__fixedMarkersLayer___wBuxm svg[fill=none] {\n fill: none !important;\n}\n.styles-module__markersLayer___VR1cD svg[fill=none] :not([fill]),\n.styles-module__fixedMarkersLayer___wBuxm svg[fill=none] :not([fill]) {\n fill: none !important;\n}\n\n@keyframes styles-module__fadeIn___PpRqy {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes styles-module__fadeOut___tZb9S {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes styles-module__hoverHighlightIn___ljC4F {\n from {\n opacity: 0;\n transform: scale(0.98);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__hoverTooltipIn___tncNM {\n from {\n opacity: 0;\n transform: translateY(4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes styles-module__fabEnter___9koyT {\n from {\n opacity: 0;\n transform: scale(0.5);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n.styles-module__fab___6FrCF {\n position: fixed;\n bottom: 24px;\n right: 24px;\n width: 44px;\n height: 44px;\n border-radius: 50%;\n background: #18181b;\n color: white;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n z-index: 99999;\n animation: styles-module__fabEnter___9koyT 0.3s cubic-bezier(0.22, 1, 0.36, 1);\n touch-action: none;\n}\n.styles-module__fab___6FrCF svg {\n width: 20px;\n height: 20px;\n}\n.styles-module__fab___6FrCF:hover {\n transform: scale(1.08);\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.12);\n}\n.styles-module__fab___6FrCF:active {\n transform: scale(0.96);\n}\n.styles-module__fab___6FrCF.styles-module__active___X5PRD {\n background: #dc2626;\n}\n\n.styles-module__hoverHighlight___9kGLL {\n position: fixed;\n border: 2px solid rgba(0, 136, 255, 0.5);\n border-radius: 4px;\n background-color: rgba(0, 136, 255, 0.04);\n pointer-events: none !important;\n box-sizing: border-box;\n will-change: opacity;\n z-index: 99997;\n}\n.styles-module__hoverHighlight___9kGLL.styles-module__enter___jAi-c {\n animation: styles-module__hoverHighlightIn___ljC4F 0.12s ease-out forwards;\n}\n\n.styles-module__singleSelectOutline___2meUm {\n position: fixed;\n border: 2px solid rgba(0, 136, 255, 0.6);\n border-radius: 4px;\n pointer-events: none !important;\n background-color: rgba(0, 136, 255, 0.05);\n box-sizing: border-box;\n will-change: opacity;\n z-index: 99997;\n}\n.styles-module__singleSelectOutline___2meUm.styles-module__enter___jAi-c {\n animation: styles-module__fadeIn___PpRqy 0.15s ease-out forwards;\n}\n\n.styles-module__hoverTooltip___JE1Bs {\n position: fixed;\n font-size: 0.6875rem;\n font-weight: 500;\n color: #fff;\n background: rgba(0, 0, 0, 0.85);\n padding: 0.35rem 0.6rem;\n border-radius: 0.375rem;\n pointer-events: none !important;\n white-space: nowrap;\n max-width: 280px;\n overflow: hidden;\n text-overflow: ellipsis;\n z-index: 99999;\n}\n.styles-module__hoverTooltip___JE1Bs.styles-module__enter___jAi-c {\n animation: styles-module__hoverTooltipIn___tncNM 0.1s ease-out forwards;\n}\n\n.styles-module__hoverReactPath___wPGYi {\n font-size: 0.625rem;\n color: rgba(255, 255, 255, 0.6);\n margin-bottom: 0.15rem;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__hoverElementName___lNqTP {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__markersLayer___VR1cD {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n z-index: 99998;\n pointer-events: none;\n}\n.styles-module__markersLayer___VR1cD > * {\n pointer-events: auto;\n}\n\n.styles-module__fixedMarkersLayer___wBuxm {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 99998;\n pointer-events: none;\n}\n.styles-module__fixedMarkersLayer___wBuxm > * {\n pointer-events: auto;\n}\n\n.styles-module__contextMenu___nDXft {\n position: fixed;\n z-index: 2147483647;\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16), 0 1px 4px rgba(0, 0, 0, 0.08);\n padding: 4px;\n min-width: 140px;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__fadeIn___PpRqy 0.1s ease-out;\n}\n\n.styles-module__contextMenuItem___69GKu {\n display: block;\n width: 100%;\n padding: 8px 12px;\n border: none;\n background: none;\n font-size: 13px;\n color: #18181b;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n font-family: inherit;\n}\n.styles-module__contextMenuItem___69GKu:hover {\n background: #f4f4f5;\n}\n\n@keyframes styles-module__toastIn___V382h {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes styles-module__toastOut___zlqxG {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n.styles-module__toast___gV3Sa {\n position: fixed;\n bottom: 80px;\n right: 24px;\n display: flex;\n align-items: center;\n gap: 8px;\n background: white;\n border: 1px solid #e5e5e5;\n border-radius: 8px;\n padding: 10px 16px;\n font-size: 13px;\n font-weight: 500;\n color: #18181b;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n z-index: 100000;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__toastIn___V382h 0.2s ease-out, styles-module__toastOut___zlqxG 0.3s ease-in 2.7s forwards;\n max-width: 320px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.styles-module__toast___gV3Sa span {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.styles-module__toast___gV3Sa.styles-module__toastError___Q-8dn {\n border-color: #fecaca;\n background: #fef2f2;\n color: #991b1b;\n animation: styles-module__toastIn___V382h 0.2s ease-out, styles-module__toastOut___zlqxG 0.3s ease-in 3.7s forwards;\n}\n\n@keyframes styles-module__countdownPulse___ngZrL {\n 0%, 100% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.15);\n }\n}\n.styles-module__countdownOverlay___GruQJ {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n z-index: 100002;\n pointer-events: auto;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;\n animation: styles-module__fadeIn___PpRqy 0.2s ease-out;\n}\n\n.styles-module__countdownNumber___VAmkI {\n width: 72px;\n height: 72px;\n border-radius: 50%;\n background: rgba(24, 24, 27, 0.9);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 28px;\n font-weight: 700;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n animation: styles-module__countdownPulse___ngZrL 1s ease-in-out infinite;\n}\n\n.styles-module__countdownLabel___px-ao {\n font-size: 13px;\n font-weight: 500;\n color: #18181b;\n background: rgba(255, 255, 255, 0.95);\n padding: 6px 14px;\n border-radius: 8px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.styles-module__countdownCancel___8cRgZ {\n font-size: 12px;\n color: #6b7280;\n background: rgba(255, 255, 255, 0.9);\n border: 1px solid #d1d5db;\n border-radius: 6px;\n padding: 4px 12px;\n cursor: pointer;\n font-family: inherit;\n transition: background 0.12s;\n}\n.styles-module__countdownCancel___8cRgZ:hover {\n background: #f3f4f6;\n}\n\nhtml.impakers-selecting {\n cursor: crosshair !important;\n}\nhtml.impakers-selecting * {\n cursor: crosshair !important;\n}';
3654
+ var classNames8 = { "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" };
3504
3655
  if (typeof document !== "undefined") {
3505
3656
  let style = document.getElementById("impakers-debug-styles-debug-widget-styles");
3506
3657
  if (!style) {
@@ -3508,12 +3659,12 @@ if (typeof document !== "undefined") {
3508
3659
  style.id = "impakers-debug-styles-debug-widget-styles";
3509
3660
  document.head.appendChild(style);
3510
3661
  }
3511
- style.textContent = css7;
3662
+ style.textContent = css8;
3512
3663
  }
3513
- var styles_module_default7 = classNames7;
3664
+ var styles_module_default8 = classNames8;
3514
3665
 
3515
3666
  // src/components/debug-widget/index.tsx
3516
- import { Fragment as Fragment4, jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
3667
+ import { Fragment as Fragment4, jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
3517
3668
  function deepElementFromPoint(x, y) {
3518
3669
  let element = document.elementFromPoint(x, y);
3519
3670
  if (!element) return null;
@@ -3632,6 +3783,7 @@ function DebugWidget({ endpoint, getUser, onHide }) {
3632
3783
  const [toastError, setToastError] = useState5(null);
3633
3784
  const [activeThread, setActiveThread] = useState5(null);
3634
3785
  const [threadComments, setThreadComments] = useState5({});
3786
+ const [threadLoading, setThreadLoading] = useState5(false);
3635
3787
  const [serverTasks, setServerTasks] = useState5([]);
3636
3788
  const [allServerTasks, setAllServerTasks] = useState5([]);
3637
3789
  const [showInbox, setShowInbox] = useState5(false);
@@ -3639,6 +3791,7 @@ function DebugWidget({ endpoint, getUser, onHide }) {
3639
3791
  const [settings, setSettings] = useState5(() => loadSettings());
3640
3792
  const [routePath, setRoutePath] = useState5(() => window.location.pathname);
3641
3793
  const [hasHydratedServerTasks, setHasHydratedServerTasks] = useState5(false);
3794
+ const [newNotiCount, setNewNotiCount] = useState5(0);
3642
3795
  const [delayCountdown, setDelayCountdown] = useState5(null);
3643
3796
  const delayTimerRef = useRef5(null);
3644
3797
  const popupRef = useRef5(null);
@@ -3738,6 +3891,16 @@ function DebugWidget({ endpoint, getUser, onHide }) {
3738
3891
  });
3739
3892
  return unsubscribe;
3740
3893
  }, [endpoint, routePath]);
3894
+ const LAST_SEEN_KEY = "impakers-debug-history-last-seen";
3895
+ useEffect5(() => {
3896
+ const lastSeen = localStorage.getItem(LAST_SEEN_KEY) || (/* @__PURE__ */ new Date(0)).toISOString();
3897
+ fetchHistory(endpoint, { since: lastSeen, limit: 100 }).then((events) => setNewNotiCount(events.length)).catch(() => {
3898
+ });
3899
+ }, [endpoint]);
3900
+ const handleHistoryViewed = useCallback6(() => {
3901
+ localStorage.setItem(LAST_SEEN_KEY, (/* @__PURE__ */ new Date()).toISOString());
3902
+ setNewNotiCount(0);
3903
+ }, []);
3741
3904
  useEffect5(() => {
3742
3905
  if (!hasHydratedServerTasks) return;
3743
3906
  const serverAnnotations = serverTasks.map(taskToAnnotation).filter((annotation) => annotation !== null);
@@ -4088,12 +4251,15 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4088
4251
  const cached = getCachedSnapshot(cacheKey);
4089
4252
  if (cached) {
4090
4253
  setThreadComments((prev) => ({ ...prev, [activeThread]: cached }));
4254
+ setThreadLoading(false);
4255
+ } else {
4256
+ setThreadLoading(true);
4091
4257
  }
4092
4258
  const unsubscribe = subscribeCache(cacheKey, (comments) => {
4093
4259
  setThreadComments((prev) => ({ ...prev, [activeThread]: comments }));
4260
+ setThreadLoading(false);
4094
4261
  });
4095
- fetchComments(endpoint, activeThread, { staleWhileRevalidate: true }).catch(() => {
4096
- });
4262
+ fetchComments(endpoint, activeThread, { staleWhileRevalidate: true }).then(() => setThreadLoading(false)).catch(() => setThreadLoading(false));
4097
4263
  return unsubscribe;
4098
4264
  }, [activeThread, endpoint]);
4099
4265
  const handleThreadReply = useCallback6(async (taskId, content, screenshot, file) => {
@@ -4162,37 +4328,37 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4162
4328
  id: "comment",
4163
4329
  label: "\uD53C\uB4DC\uBC31",
4164
4330
  active: isActive,
4165
- icon: /* @__PURE__ */ jsx8("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx8("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z" }) })
4331
+ icon: /* @__PURE__ */ jsx9("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx9("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z" }) })
4166
4332
  },
4167
4333
  {
4168
4334
  id: "delay-capture",
4169
4335
  label: "\uB51C\uB808\uC774 \uCEA1\uCC98",
4170
- icon: /* @__PURE__ */ jsxs8("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4171
- /* @__PURE__ */ jsx8("circle", { cx: "12", cy: "12", r: "10" }),
4172
- /* @__PURE__ */ jsx8("polyline", { points: "12 6 12 12 16 14" })
4336
+ icon: /* @__PURE__ */ jsxs9("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4337
+ /* @__PURE__ */ jsx9("circle", { cx: "12", cy: "12", r: "10" }),
4338
+ /* @__PURE__ */ jsx9("polyline", { points: "12 6 12 12 16 14" })
4173
4339
  ] })
4174
4340
  },
4175
4341
  {
4176
4342
  id: "inbox",
4177
4343
  label: "Inbox",
4178
- badge: annotations.length || void 0,
4179
- icon: /* @__PURE__ */ jsxs8("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4180
- /* @__PURE__ */ jsx8("polyline", { points: "22 12 16 12 14 15 10 15 8 12 2 12" }),
4181
- /* @__PURE__ */ jsx8("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" })
4344
+ badge: newNotiCount || void 0,
4345
+ icon: /* @__PURE__ */ jsxs9("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4346
+ /* @__PURE__ */ jsx9("polyline", { points: "22 12 16 12 14 15 10 15 8 12 2 12" }),
4347
+ /* @__PURE__ */ jsx9("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" })
4182
4348
  ] })
4183
4349
  },
4184
4350
  {
4185
4351
  id: "settings",
4186
4352
  label: "\uC124\uC815",
4187
- icon: /* @__PURE__ */ jsxs8("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4188
- /* @__PURE__ */ jsx8("circle", { cx: "12", cy: "12", r: "3" }),
4189
- /* @__PURE__ */ jsx8("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" })
4353
+ icon: /* @__PURE__ */ jsxs9("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4354
+ /* @__PURE__ */ jsx9("circle", { cx: "12", cy: "12", r: "3" }),
4355
+ /* @__PURE__ */ jsx9("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" })
4190
4356
  ] })
4191
4357
  }
4192
4358
  ];
4193
4359
  const currentPath = routePath;
4194
4360
  const currentUserName = getUser?.()?.name ? String(getUser().name) : null;
4195
- const visibleAnnotations = useMemo(() => {
4361
+ const visibleAnnotations = useMemo2(() => {
4196
4362
  return annotations.filter((a) => {
4197
4363
  const task = serverTasks.find((t) => t.id === a.id);
4198
4364
  if (settings.hideDoneMarkers && (a.status === "done" || a.status === "resolved")) return false;
@@ -4200,29 +4366,23 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4200
4366
  return true;
4201
4367
  });
4202
4368
  }, [annotations, serverTasks, settings.hideDoneMarkers, settings.showOnlyMine, currentUserName]);
4203
- const allInboxItems = serverTasks.map((task) => ({
4369
+ const toInboxItem = (task, fallbackUrl) => ({
4204
4370
  id: task.id,
4205
4371
  title: task.title || "\uD53C\uB4DC\uBC31",
4206
4372
  status: task.status,
4207
4373
  priority: task.priority,
4208
4374
  authorName: task.authorName || "\uC775\uBA85",
4209
- feedbackUrl: task.feedbackUrl || currentPath,
4375
+ feedbackUrl: task.feedbackUrl || fallbackUrl,
4210
4376
  createdAt: task.createdAt,
4377
+ startedAt: task.startedAt,
4378
+ completedAt: task.completedAt,
4211
4379
  commentCount: task.commentCount || 0
4212
- }));
4213
- const allRouteItems = allServerTasks.map((task) => ({
4214
- id: task.id,
4215
- title: task.title || "\uD53C\uB4DC\uBC31",
4216
- status: task.status,
4217
- priority: task.priority,
4218
- authorName: task.authorName || "\uC775\uBA85",
4219
- feedbackUrl: task.feedbackUrl || "",
4220
- createdAt: task.createdAt,
4221
- commentCount: task.commentCount || 0
4222
- }));
4380
+ });
4381
+ const allInboxItems = serverTasks.map((t) => toInboxItem(t, currentPath));
4382
+ const allRouteItems = allServerTasks.map((t) => toInboxItem(t, ""));
4223
4383
  return createPortal3(
4224
- /* @__PURE__ */ jsxs8("div", { "data-impakers-debug": "", children: [
4225
- /* @__PURE__ */ jsx8(
4384
+ /* @__PURE__ */ jsxs9("div", { "data-impakers-debug": "", children: [
4385
+ /* @__PURE__ */ jsx9(
4226
4386
  FabMenu,
4227
4387
  {
4228
4388
  items: fabItems,
@@ -4231,7 +4391,7 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4231
4391
  onDoubleTap: toggleActive
4232
4392
  }
4233
4393
  ),
4234
- showInbox && /* @__PURE__ */ jsx8(
4394
+ showInbox && /* @__PURE__ */ jsx9(
4235
4395
  InboxPanel,
4236
4396
  {
4237
4397
  pageItems: allInboxItems,
@@ -4241,10 +4401,12 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4241
4401
  endpoint,
4242
4402
  currentUserName: getUser?.()?.name ? String(getUser().name) : "\uC775\uBA85",
4243
4403
  currentUserId: getUser?.()?.id ? String(getUser().id) : void 0,
4244
- onClose: () => setShowInbox(false)
4404
+ onClose: () => setShowInbox(false),
4405
+ onHistoryViewed: handleHistoryViewed,
4406
+ newNotiCount
4245
4407
  }
4246
4408
  ),
4247
- showSettings && /* @__PURE__ */ jsx8(
4409
+ showSettings && /* @__PURE__ */ jsx9(
4248
4410
  SettingsPanel,
4249
4411
  {
4250
4412
  settings,
@@ -4252,11 +4414,11 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4252
4414
  onClose: () => setShowSettings(false)
4253
4415
  }
4254
4416
  ),
4255
- isActive && /* @__PURE__ */ jsxs8(Fragment4, { children: [
4256
- hoverInfo?.rect && !pendingAnnotation && /* @__PURE__ */ jsx8(
4417
+ isActive && /* @__PURE__ */ jsxs9(Fragment4, { children: [
4418
+ hoverInfo?.rect && !pendingAnnotation && /* @__PURE__ */ jsx9(
4257
4419
  "div",
4258
4420
  {
4259
- className: `${styles_module_default7.hoverHighlight} ${styles_module_default7.enter}`,
4421
+ className: `${styles_module_default8.hoverHighlight} ${styles_module_default8.enter}`,
4260
4422
  style: {
4261
4423
  left: hoverInfo.rect.left,
4262
4424
  top: hoverInfo.rect.top,
@@ -4265,24 +4427,24 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4265
4427
  }
4266
4428
  }
4267
4429
  ),
4268
- hoverInfo && !pendingAnnotation && /* @__PURE__ */ jsxs8(
4430
+ hoverInfo && !pendingAnnotation && /* @__PURE__ */ jsxs9(
4269
4431
  "div",
4270
4432
  {
4271
- className: `${styles_module_default7.hoverTooltip} ${styles_module_default7.enter}`,
4433
+ className: `${styles_module_default8.hoverTooltip} ${styles_module_default8.enter}`,
4272
4434
  style: {
4273
4435
  left: Math.min(hoverPosition.x + 14, window.innerWidth - 200),
4274
4436
  top: hoverPosition.y + 14
4275
4437
  },
4276
4438
  children: [
4277
- hoverInfo.reactComponents && /* @__PURE__ */ jsx8("div", { className: styles_module_default7.hoverReactPath, children: hoverInfo.reactComponents }),
4278
- /* @__PURE__ */ jsx8("div", { className: styles_module_default7.hoverElementName, children: hoverInfo.elementName })
4439
+ hoverInfo.reactComponents && /* @__PURE__ */ jsx9("div", { className: styles_module_default8.hoverReactPath, children: hoverInfo.reactComponents }),
4440
+ /* @__PURE__ */ jsx9("div", { className: styles_module_default8.hoverElementName, children: hoverInfo.elementName })
4279
4441
  ]
4280
4442
  }
4281
4443
  ),
4282
- hoveredRect && hoveredMarkerId && /* @__PURE__ */ jsx8(
4444
+ hoveredRect && hoveredMarkerId && /* @__PURE__ */ jsx9(
4283
4445
  "div",
4284
4446
  {
4285
- className: `${styles_module_default7.singleSelectOutline} ${styles_module_default7.enter}`,
4447
+ className: `${styles_module_default8.singleSelectOutline} ${styles_module_default8.enter}`,
4286
4448
  style: {
4287
4449
  left: hoveredRect.left,
4288
4450
  top: hoveredRect.top,
@@ -4293,16 +4455,16 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4293
4455
  ),
4294
4456
  pendingAnnotation?.targetElement && (() => {
4295
4457
  const r = pendingAnnotation.targetElement.getBoundingClientRect();
4296
- return /* @__PURE__ */ jsx8(
4458
+ return /* @__PURE__ */ jsx9(
4297
4459
  "div",
4298
4460
  {
4299
- className: `${styles_module_default7.singleSelectOutline} ${styles_module_default7.enter}`,
4461
+ className: `${styles_module_default8.singleSelectOutline} ${styles_module_default8.enter}`,
4300
4462
  style: { left: r.left, top: r.top, width: r.width, height: r.height }
4301
4463
  }
4302
4464
  );
4303
4465
  })()
4304
4466
  ] }),
4305
- /* @__PURE__ */ jsx8("div", { className: styles_module_default7.markersLayer, "data-impakers-debug": "", style: { display: settings.markersVisible ? void 0 : "none" }, children: visibleAnnotations.filter((a) => !a.isFixed).map((annotation, i) => /* @__PURE__ */ jsx8(
4467
+ /* @__PURE__ */ jsx9("div", { className: styles_module_default8.markersLayer, "data-impakers-debug": "", style: { display: settings.markersVisible ? void 0 : "none" }, children: visibleAnnotations.filter((a) => !a.isFixed).map((annotation, i) => /* @__PURE__ */ jsx9(
4306
4468
  AnnotationMarker,
4307
4469
  {
4308
4470
  annotation,
@@ -4320,8 +4482,8 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4320
4482
  },
4321
4483
  annotation.id
4322
4484
  )) }),
4323
- /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.fixedMarkersLayer, "data-impakers-debug": "", style: { display: settings.markersVisible ? void 0 : "none" }, children: [
4324
- visibleAnnotations.filter((a) => a.isFixed).map((annotation, i) => /* @__PURE__ */ jsx8(
4485
+ /* @__PURE__ */ jsxs9("div", { className: styles_module_default8.fixedMarkersLayer, "data-impakers-debug": "", style: { display: settings.markersVisible ? void 0 : "none" }, children: [
4486
+ visibleAnnotations.filter((a) => a.isFixed).map((annotation, i) => /* @__PURE__ */ jsx9(
4325
4487
  AnnotationMarker,
4326
4488
  {
4327
4489
  annotation,
@@ -4339,7 +4501,7 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4339
4501
  },
4340
4502
  annotation.id
4341
4503
  )),
4342
- pendingAnnotation && /* @__PURE__ */ jsx8(
4504
+ pendingAnnotation && /* @__PURE__ */ jsx9(
4343
4505
  PendingMarker,
4344
4506
  {
4345
4507
  x: pendingAnnotation.x,
@@ -4349,7 +4511,7 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4349
4511
  }
4350
4512
  )
4351
4513
  ] }),
4352
- pendingAnnotation && /* @__PURE__ */ jsx8(
4514
+ pendingAnnotation && /* @__PURE__ */ jsx9(
4353
4515
  AnnotationPopupCSS,
4354
4516
  {
4355
4517
  ref: popupRef,
@@ -4384,7 +4546,7 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4384
4546
  createdAt: taskData?.createdAt || new Date(annotation.timestamp).toISOString(),
4385
4547
  comments: threadComments[annotation.id] || []
4386
4548
  };
4387
- return /* @__PURE__ */ jsx8(
4549
+ return /* @__PURE__ */ jsx9(
4388
4550
  CommentThread,
4389
4551
  {
4390
4552
  task,
@@ -4392,18 +4554,19 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4392
4554
  currentUserId: getUser?.()?.id ? String(getUser().id) : void 0,
4393
4555
  left: threadLeft,
4394
4556
  top: threadTop,
4557
+ loading: threadLoading,
4395
4558
  onClose: handleThreadClose,
4396
4559
  onReply: handleThreadReply
4397
4560
  }
4398
4561
  );
4399
4562
  })(),
4400
- delayCountdown !== null && /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.countdownOverlay, "data-impakers-debug": "", children: [
4401
- /* @__PURE__ */ jsx8("div", { className: styles_module_default7.countdownNumber, children: delayCountdown }),
4402
- /* @__PURE__ */ jsx8("div", { className: styles_module_default7.countdownLabel, children: "\uD53C\uB4DC\uBC31 \uBAA8\uB4DC \uD65C\uC131\uD654\uAE4C\uC9C0..." }),
4403
- /* @__PURE__ */ jsx8(
4563
+ delayCountdown !== null && /* @__PURE__ */ jsxs9("div", { className: styles_module_default8.countdownOverlay, "data-impakers-debug": "", children: [
4564
+ /* @__PURE__ */ jsx9("div", { className: styles_module_default8.countdownNumber, children: delayCountdown }),
4565
+ /* @__PURE__ */ jsx9("div", { className: styles_module_default8.countdownLabel, children: "\uD53C\uB4DC\uBC31 \uBAA8\uB4DC \uD65C\uC131\uD654\uAE4C\uC9C0..." }),
4566
+ /* @__PURE__ */ jsx9(
4404
4567
  "button",
4405
4568
  {
4406
- className: styles_module_default7.countdownCancel,
4569
+ className: styles_module_default8.countdownCancel,
4407
4570
  onClick: () => {
4408
4571
  if (delayTimerRef.current) clearTimeout(delayTimerRef.current);
4409
4572
  setDelayCountdown(null);
@@ -4413,17 +4576,17 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4413
4576
  }
4414
4577
  )
4415
4578
  ] }),
4416
- showToast && /* @__PURE__ */ jsxs8("div", { className: styles_module_default7.toast, "data-impakers-debug": "", children: [
4417
- /* @__PURE__ */ jsx8("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#16a34a", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx8("polyline", { points: "20 6 9 17 4 12" }) }),
4418
- /* @__PURE__ */ jsx8("span", { children: "\uD0DC\uC2A4\uD06C \uC0DD\uC131\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4" })
4579
+ showToast && /* @__PURE__ */ jsxs9("div", { className: styles_module_default8.toast, "data-impakers-debug": "", children: [
4580
+ /* @__PURE__ */ jsx9("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#16a34a", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx9("polyline", { points: "20 6 9 17 4 12" }) }),
4581
+ /* @__PURE__ */ jsx9("span", { children: "\uD0DC\uC2A4\uD06C \uC0DD\uC131\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4" })
4419
4582
  ] }),
4420
- toastError && /* @__PURE__ */ jsxs8("div", { className: `${styles_module_default7.toast} ${styles_module_default7.toastError}`, "data-impakers-debug": "", children: [
4421
- /* @__PURE__ */ jsxs8("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#ef4444", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4422
- /* @__PURE__ */ jsx8("circle", { cx: "12", cy: "12", r: "10" }),
4423
- /* @__PURE__ */ jsx8("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
4424
- /* @__PURE__ */ jsx8("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
4583
+ toastError && /* @__PURE__ */ jsxs9("div", { className: `${styles_module_default8.toast} ${styles_module_default8.toastError}`, "data-impakers-debug": "", children: [
4584
+ /* @__PURE__ */ jsxs9("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#ef4444", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4585
+ /* @__PURE__ */ jsx9("circle", { cx: "12", cy: "12", r: "10" }),
4586
+ /* @__PURE__ */ jsx9("line", { x1: "15", y1: "9", x2: "9", y2: "15" }),
4587
+ /* @__PURE__ */ jsx9("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
4425
4588
  ] }),
4426
- /* @__PURE__ */ jsx8("span", { children: toastError })
4589
+ /* @__PURE__ */ jsx9("span", { children: toastError })
4427
4590
  ] })
4428
4591
  ] }),
4429
4592
  document.body
@@ -4433,7 +4596,7 @@ function DebugWidget({ endpoint, getUser, onHide }) {
4433
4596
  // src/ui/AuthPromptPortal.tsx
4434
4597
  import { useState as useState6, useCallback as useCallback7 } from "react";
4435
4598
  import { createPortal as createPortal4 } from "react-dom";
4436
- import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
4599
+ import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
4437
4600
  function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4438
4601
  const [code, setCode] = useState6("");
4439
4602
  const [loading, setLoading] = useState6(false);
@@ -4457,7 +4620,7 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4457
4620
  );
4458
4621
  if (typeof document === "undefined") return null;
4459
4622
  return createPortal4(
4460
- /* @__PURE__ */ jsxs9("div", { "data-impakers-debug": "", style: {
4623
+ /* @__PURE__ */ jsxs10("div", { "data-impakers-debug": "", style: {
4461
4624
  position: "fixed",
4462
4625
  inset: 0,
4463
4626
  zIndex: 2147483647,
@@ -4466,7 +4629,7 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4466
4629
  justifyContent: "center",
4467
4630
  fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
4468
4631
  }, children: [
4469
- /* @__PURE__ */ jsx9(
4632
+ /* @__PURE__ */ jsx10(
4470
4633
  "div",
4471
4634
  {
4472
4635
  onClick: onClose,
@@ -4477,7 +4640,7 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4477
4640
  }
4478
4641
  }
4479
4642
  ),
4480
- /* @__PURE__ */ jsxs9("div", { style: {
4643
+ /* @__PURE__ */ jsxs10("div", { style: {
4481
4644
  position: "relative",
4482
4645
  width: 360,
4483
4646
  background: "white",
@@ -4485,15 +4648,15 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4485
4648
  boxShadow: "0 16px 48px rgba(0,0,0,0.16)",
4486
4649
  overflow: "hidden"
4487
4650
  }, children: [
4488
- /* @__PURE__ */ jsxs9("div", { style: {
4651
+ /* @__PURE__ */ jsxs10("div", { style: {
4489
4652
  display: "flex",
4490
4653
  alignItems: "center",
4491
4654
  justifyContent: "space-between",
4492
4655
  padding: "16px 20px",
4493
4656
  borderBottom: "1px solid #e5e5e5"
4494
4657
  }, children: [
4495
- /* @__PURE__ */ jsx9("h3", { style: { fontSize: 15, fontWeight: 600, color: "#18181b", margin: 0 }, children: "\uD53C\uB4DC\uBC31 \uC704\uC82F \uC778\uC99D" }),
4496
- /* @__PURE__ */ jsx9(
4658
+ /* @__PURE__ */ jsx10("h3", { style: { fontSize: 15, fontWeight: 600, color: "#18181b", margin: 0 }, children: "\uD53C\uB4DC\uBC31 \uC704\uC82F \uC778\uC99D" }),
4659
+ /* @__PURE__ */ jsx10(
4497
4660
  "button",
4498
4661
  {
4499
4662
  onClick: onClose,
@@ -4510,12 +4673,12 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4510
4673
  borderRadius: 6,
4511
4674
  color: "#71717a"
4512
4675
  },
4513
- children: /* @__PURE__ */ jsx9("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx9("path", { d: "M18 6L6 18M6 6l12 12" }) })
4676
+ children: /* @__PURE__ */ jsx10("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx10("path", { d: "M18 6L6 18M6 6l12 12" }) })
4514
4677
  }
4515
4678
  )
4516
4679
  ] }),
4517
- /* @__PURE__ */ jsxs9("div", { style: { padding: 20 }, children: [
4518
- /* @__PURE__ */ jsxs9("p", { style: {
4680
+ /* @__PURE__ */ jsxs10("div", { style: { padding: 20 }, children: [
4681
+ /* @__PURE__ */ jsxs10("p", { style: {
4519
4682
  fontSize: 13,
4520
4683
  color: "#71717a",
4521
4684
  textAlign: "center",
@@ -4523,10 +4686,10 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4523
4686
  lineHeight: 1.5
4524
4687
  }, children: [
4525
4688
  "\uC11C\uBE44\uC2A4 \uC2DC\uD06C\uB9BF \uCF54\uB4DC\uB97C \uC785\uB825\uD574\uC8FC\uC138\uC694.",
4526
- /* @__PURE__ */ jsx9("br", {}),
4689
+ /* @__PURE__ */ jsx10("br", {}),
4527
4690
  "\uCF54\uB4DC\uB294 \uC784\uD328\uCEE4\uC2A4 OS\uC5D0\uC11C \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."
4528
4691
  ] }),
4529
- error && /* @__PURE__ */ jsx9("div", { style: {
4692
+ error && /* @__PURE__ */ jsx10("div", { style: {
4530
4693
  background: "#fef2f2",
4531
4694
  border: "1px solid #fecaca",
4532
4695
  color: "#dc2626",
@@ -4535,8 +4698,8 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4535
4698
  fontSize: 13,
4536
4699
  marginBottom: 12
4537
4700
  }, children: error }),
4538
- /* @__PURE__ */ jsxs9("form", { onSubmit: handleSubmit, children: [
4539
- /* @__PURE__ */ jsx9(
4701
+ /* @__PURE__ */ jsxs10("form", { onSubmit: handleSubmit, children: [
4702
+ /* @__PURE__ */ jsx10(
4540
4703
  "input",
4541
4704
  {
4542
4705
  type: "text",
@@ -4563,7 +4726,7 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4563
4726
  }
4564
4727
  }
4565
4728
  ),
4566
- /* @__PURE__ */ jsx9(
4729
+ /* @__PURE__ */ jsx10(
4567
4730
  "button",
4568
4731
  {
4569
4732
  type: "submit",
@@ -4593,7 +4756,7 @@ function AuthPromptPortal({ endpoint, onSuccess, onClose }) {
4593
4756
  }
4594
4757
 
4595
4758
  // src/react.tsx
4596
- import { Fragment as Fragment5, jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
4759
+ import { Fragment as Fragment5, jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
4597
4760
  function ImpakersDebugProvider({ endpoint, getUser }) {
4598
4761
  const [authenticated, setAuthenticated] = useState7(false);
4599
4762
  const [showAuth, setShowAuth] = useState7(false);
@@ -4667,9 +4830,9 @@ function ImpakersDebugProvider({ endpoint, getUser }) {
4667
4830
  } catch {
4668
4831
  }
4669
4832
  }, []);
4670
- return /* @__PURE__ */ jsxs10(Fragment5, { children: [
4671
- authenticated && !hidden && /* @__PURE__ */ jsx10(DebugWidget, { endpoint, getUser, onHide: handleHide }),
4672
- showAuth && !authenticated && /* @__PURE__ */ jsx10(
4833
+ return /* @__PURE__ */ jsxs11(Fragment5, { children: [
4834
+ authenticated && !hidden && /* @__PURE__ */ jsx11(DebugWidget, { endpoint, getUser, onHide: handleHide }),
4835
+ showAuth && !authenticated && /* @__PURE__ */ jsx11(
4673
4836
  AuthPromptPortal,
4674
4837
  {
4675
4838
  endpoint,