@impakers/debug 1.4.17 → 1.4.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react.js +230 -104
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +233 -107
- package/dist/react.mjs.map +1 -1
- package/package.json +1 -1
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
|
|
@@ -2456,14 +2456,14 @@ function formatTime(dateStr) {
|
|
|
2456
2456
|
const date = new Date(dateStr);
|
|
2457
2457
|
const diff = Date.now() - date.getTime();
|
|
2458
2458
|
const pad = (n) => String(n).padStart(2, "0");
|
|
2459
|
-
const abs = `${
|
|
2459
|
+
const abs = `${date.getMonth() + 1}/${date.getDate()} ${pad(date.getHours())}:${pad(date.getMinutes())}`;
|
|
2460
2460
|
const m = Math.floor(diff / 6e4);
|
|
2461
|
-
if (m < 1) return `${abs} (
|
|
2462
|
-
if (m < 60) return `${abs} (${m}
|
|
2461
|
+
if (m < 1) return `${abs} (\uBC29\uAE08)`;
|
|
2462
|
+
if (m < 60) return `${abs} (${m}\uBD84 \uC804)`;
|
|
2463
2463
|
const h = Math.floor(m / 60);
|
|
2464
|
-
if (h < 24) return `${abs} (${h}
|
|
2464
|
+
if (h < 24) return `${abs} (${h}\uC2DC\uAC04 \uC804)`;
|
|
2465
2465
|
const d = Math.floor(h / 24);
|
|
2466
|
-
return `${abs} (${d}
|
|
2466
|
+
return `${abs} (${d}\uC77C \uC804)`;
|
|
2467
2467
|
}
|
|
2468
2468
|
function getInitials(name) {
|
|
2469
2469
|
return name.slice(0, 1).toUpperCase();
|
|
@@ -2948,12 +2948,12 @@ function FabMenu({ items, onSelect, onHide, onDoubleTap }) {
|
|
|
2948
2948
|
}
|
|
2949
2949
|
|
|
2950
2950
|
// src/components/inbox-panel/index.tsx
|
|
2951
|
-
import { useState as useState4, useCallback as useCallback4, useEffect as useEffect4, useRef as useRef4 } from "react";
|
|
2951
|
+
import { useState as useState4, useCallback as useCallback4, useEffect as useEffect4, useRef as useRef4, useMemo } from "react";
|
|
2952
2952
|
import { createPortal } from "react-dom";
|
|
2953
2953
|
|
|
2954
2954
|
// 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" };
|
|
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__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 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}\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_started___0FJa0 {\n background: #3b82f6;\n}\n\n.styles-module__historyDot_completed___q-WGH {\n background: #16a34a;\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}';
|
|
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", "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_started": "styles-module__historyDot_started___0FJa0", "historyDot_completed": "styles-module__historyDot_completed___q-WGH", "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
2957
|
if (typeof document !== "undefined") {
|
|
2958
2958
|
let style = document.getElementById("impakers-debug-styles-inbox-panel-styles");
|
|
2959
2959
|
if (!style) {
|
|
@@ -3052,14 +3052,14 @@ function formatTime2(dateStr) {
|
|
|
3052
3052
|
const date = new Date(dateStr);
|
|
3053
3053
|
const diff = Date.now() - date.getTime();
|
|
3054
3054
|
const pad = (n) => String(n).padStart(2, "0");
|
|
3055
|
-
const abs = `${
|
|
3055
|
+
const abs = `${date.getMonth() + 1}/${date.getDate()} ${pad(date.getHours())}:${pad(date.getMinutes())}`;
|
|
3056
3056
|
const m = Math.floor(diff / 6e4);
|
|
3057
|
-
if (m < 1) return `${abs} (
|
|
3058
|
-
if (m < 60) return `${abs} (${m}
|
|
3057
|
+
if (m < 1) return `${abs} (\uBC29\uAE08)`;
|
|
3058
|
+
if (m < 60) return `${abs} (${m}\uBD84 \uC804)`;
|
|
3059
3059
|
const h = Math.floor(m / 60);
|
|
3060
|
-
if (h < 24) return `${abs} (${h}
|
|
3060
|
+
if (h < 24) return `${abs} (${h}\uC2DC\uAC04 \uC804)`;
|
|
3061
3061
|
const d = Math.floor(h / 24);
|
|
3062
|
-
return `${abs} (${d}
|
|
3062
|
+
return `${abs} (${d}\uC77C \uC804)`;
|
|
3063
3063
|
}
|
|
3064
3064
|
function getInitials2(name) {
|
|
3065
3065
|
return name.slice(0, 1).toUpperCase();
|
|
@@ -3076,6 +3076,9 @@ function InboxPanel({
|
|
|
3076
3076
|
}) {
|
|
3077
3077
|
const [tab, setTab] = useState4("page");
|
|
3078
3078
|
const [statusFilter, setStatusFilter] = useState4("todo");
|
|
3079
|
+
const [historyDate, setHistoryDate] = useState4("");
|
|
3080
|
+
const [showDatePicker, setShowDatePicker] = useState4(false);
|
|
3081
|
+
const datePickerRef = useRef4(null);
|
|
3079
3082
|
const [exiting, setExiting] = useState4(false);
|
|
3080
3083
|
const [selectedItem, setSelectedItem] = useState4(null);
|
|
3081
3084
|
const [comments, setComments] = useState4([]);
|
|
@@ -3124,6 +3127,16 @@ function InboxPanel({
|
|
|
3124
3127
|
useEffect4(() => {
|
|
3125
3128
|
commentsEndRef.current?.scrollIntoView({ behavior: "smooth" });
|
|
3126
3129
|
}, [comments.length]);
|
|
3130
|
+
useEffect4(() => {
|
|
3131
|
+
if (!showDatePicker) return;
|
|
3132
|
+
const handler = (e) => {
|
|
3133
|
+
if (datePickerRef.current && !datePickerRef.current.contains(e.target)) {
|
|
3134
|
+
setShowDatePicker(false);
|
|
3135
|
+
}
|
|
3136
|
+
};
|
|
3137
|
+
document.addEventListener("mousedown", handler);
|
|
3138
|
+
return () => document.removeEventListener("mousedown", handler);
|
|
3139
|
+
}, [showDatePicker]);
|
|
3127
3140
|
useEffect4(() => {
|
|
3128
3141
|
if (selectedItem) replyRef.current?.focus();
|
|
3129
3142
|
}, [selectedItem]);
|
|
@@ -3146,11 +3159,48 @@ function InboxPanel({
|
|
|
3146
3159
|
}
|
|
3147
3160
|
if (e.key === "Escape") handleClose();
|
|
3148
3161
|
}, [handleSendReply, handleClose]);
|
|
3149
|
-
const rawItems = tab === "page" ? pageItems : allItems;
|
|
3162
|
+
const rawItems = tab === "page" ? pageItems : tab === "all" ? allItems : [];
|
|
3150
3163
|
const items = rawItems.filter((item) => item.status === statusFilter);
|
|
3151
3164
|
const todoCount = rawItems.filter((item) => item.status === "todo").length;
|
|
3152
3165
|
const inProgressCount = rawItems.filter((item) => item.status === "in_progress").length;
|
|
3153
3166
|
const doneCount = rawItems.filter((item) => item.status === "done").length;
|
|
3167
|
+
const historyEvents = useMemo(() => {
|
|
3168
|
+
const allSrc = allItems.length > 0 ? allItems : pageItems;
|
|
3169
|
+
const events = [];
|
|
3170
|
+
for (const item of allSrc) {
|
|
3171
|
+
events.push({
|
|
3172
|
+
id: item.id,
|
|
3173
|
+
title: item.title,
|
|
3174
|
+
authorName: item.authorName,
|
|
3175
|
+
event: "created",
|
|
3176
|
+
timestamp: item.createdAt,
|
|
3177
|
+
feedbackUrl: item.feedbackUrl
|
|
3178
|
+
});
|
|
3179
|
+
if (item.startedAt) {
|
|
3180
|
+
events.push({
|
|
3181
|
+
id: item.id,
|
|
3182
|
+
title: item.title,
|
|
3183
|
+
authorName: item.authorName,
|
|
3184
|
+
event: "started",
|
|
3185
|
+
timestamp: item.startedAt,
|
|
3186
|
+
feedbackUrl: item.feedbackUrl
|
|
3187
|
+
});
|
|
3188
|
+
}
|
|
3189
|
+
if (item.completedAt) {
|
|
3190
|
+
events.push({
|
|
3191
|
+
id: item.id,
|
|
3192
|
+
title: item.title,
|
|
3193
|
+
authorName: item.authorName,
|
|
3194
|
+
event: "completed",
|
|
3195
|
+
timestamp: item.completedAt,
|
|
3196
|
+
feedbackUrl: item.feedbackUrl
|
|
3197
|
+
});
|
|
3198
|
+
}
|
|
3199
|
+
}
|
|
3200
|
+
const sorted = events.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
|
|
3201
|
+
if (!historyDate) return sorted;
|
|
3202
|
+
return sorted.filter((ev) => ev.timestamp.startsWith(historyDate));
|
|
3203
|
+
}, [allItems, pageItems, historyDate]);
|
|
3154
3204
|
if (typeof document === "undefined") return null;
|
|
3155
3205
|
return createPortal(
|
|
3156
3206
|
/* @__PURE__ */ jsxs6("div", { "data-impakers-debug": "", children: [
|
|
@@ -3267,87 +3317,169 @@ function InboxPanel({
|
|
|
3267
3317
|
/* @__PURE__ */ jsxs6("button", { className: `${styles_module_default5.tab} ${tab === "all" ? styles_module_default5.active : ""}`, onClick: () => setTab("all"), type: "button", children: [
|
|
3268
3318
|
"All",
|
|
3269
3319
|
allItems.length > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.tabBadge, children: allItems.length })
|
|
3270
|
-
] })
|
|
3271
|
-
|
|
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
|
-
)
|
|
3320
|
+
] }),
|
|
3321
|
+
/* @__PURE__ */ jsx6("button", { className: `${styles_module_default5.tab} ${tab === "history" ? styles_module_default5.active : ""}`, onClick: () => setTab("history"), type: "button", children: "History" })
|
|
3309
3322
|
] }),
|
|
3310
|
-
|
|
3311
|
-
/*
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3323
|
+
tab === "history" ? (
|
|
3324
|
+
/* === History 뷰 === */
|
|
3325
|
+
/* @__PURE__ */ jsxs6(Fragment3, { children: [
|
|
3326
|
+
/* @__PURE__ */ jsxs6("div", { className: styles_module_default5.historyFilter, children: [
|
|
3327
|
+
/* @__PURE__ */ jsxs6("div", { className: styles_module_default5.historyDateWrap, ref: datePickerRef, children: [
|
|
3328
|
+
/* @__PURE__ */ jsxs6(
|
|
3329
|
+
"button",
|
|
3330
|
+
{
|
|
3331
|
+
className: `${styles_module_default5.filterChip} ${historyDate ? styles_module_default5.active : ""}`,
|
|
3332
|
+
onClick: () => setShowDatePicker((v) => !v),
|
|
3333
|
+
type: "button",
|
|
3334
|
+
children: [
|
|
3335
|
+
/* @__PURE__ */ jsxs6("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: "13", height: "13", children: [
|
|
3336
|
+
/* @__PURE__ */ jsx6("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }),
|
|
3337
|
+
/* @__PURE__ */ jsx6("line", { x1: "16", y1: "2", x2: "16", y2: "6" }),
|
|
3338
|
+
/* @__PURE__ */ jsx6("line", { x1: "8", y1: "2", x2: "8", y2: "6" }),
|
|
3339
|
+
/* @__PURE__ */ jsx6("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
|
|
3340
|
+
] }),
|
|
3341
|
+
historyDate ? `${new Date(historyDate).getMonth() + 1}/${new Date(historyDate).getDate()}` : "\uB0A0\uC9DC"
|
|
3342
|
+
]
|
|
3343
|
+
}
|
|
3344
|
+
),
|
|
3345
|
+
showDatePicker && /* @__PURE__ */ jsx6("div", { className: styles_module_default5.datePopover, children: /* @__PURE__ */ jsx6(
|
|
3346
|
+
"input",
|
|
3347
|
+
{
|
|
3348
|
+
type: "date",
|
|
3349
|
+
value: historyDate,
|
|
3350
|
+
onChange: (e) => {
|
|
3351
|
+
setHistoryDate(e.target.value);
|
|
3352
|
+
setShowDatePicker(false);
|
|
3353
|
+
},
|
|
3354
|
+
className: styles_module_default5.dateInput,
|
|
3355
|
+
autoFocus: true
|
|
3356
|
+
}
|
|
3357
|
+
) })
|
|
3358
|
+
] }),
|
|
3359
|
+
historyDate && /* @__PURE__ */ jsx6(
|
|
3360
|
+
"button",
|
|
3361
|
+
{
|
|
3362
|
+
className: styles_module_default5.filterChipClear,
|
|
3363
|
+
onClick: () => setHistoryDate(""),
|
|
3364
|
+
type: "button",
|
|
3365
|
+
title: "\uD544\uD130 \uCD08\uAE30\uD654",
|
|
3366
|
+
children: "\xD7"
|
|
3367
|
+
}
|
|
3368
|
+
)
|
|
3369
|
+
] }),
|
|
3370
|
+
/* @__PURE__ */ jsx6("div", { className: styles_module_default5.content, children: historyEvents.length === 0 ? /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.empty, children: [
|
|
3371
|
+
/* @__PURE__ */ jsx6("div", { className: styles_module_default5.emptyIcon, children: /* @__PURE__ */ jsxs6("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
3372
|
+
/* @__PURE__ */ jsx6("circle", { cx: "12", cy: "12", r: "10" }),
|
|
3373
|
+
/* @__PURE__ */ jsx6("polyline", { points: "12 6 12 12 16 14" })
|
|
3374
|
+
] }) }),
|
|
3375
|
+
"\uD788\uC2A4\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4"
|
|
3376
|
+
] }) : historyEvents.map((ev, i) => /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.historyItem, children: [
|
|
3377
|
+
/* @__PURE__ */ jsx6("div", { className: `${styles_module_default5.historyDot} ${styles_module_default5[`historyDot_${ev.event}`]}` }),
|
|
3378
|
+
/* @__PURE__ */ jsxs6("div", { className: styles_module_default5.historyBody, children: [
|
|
3379
|
+
/* @__PURE__ */ jsxs6("div", { className: styles_module_default5.historyMeta, children: [
|
|
3380
|
+
/* @__PURE__ */ jsxs6("span", { className: styles_module_default5.historyEvent, children: [
|
|
3381
|
+
ev.event === "created" && "\uD53C\uB4DC\uBC31 \uC0DD\uC131",
|
|
3382
|
+
ev.event === "started" && "\uC9C4\uD589 \uC2DC\uC791",
|
|
3383
|
+
ev.event === "completed" && "\uC644\uB8CC \uCC98\uB9AC"
|
|
3384
|
+
] }),
|
|
3385
|
+
/* @__PURE__ */ jsx6("span", { className: styles_module_default5.historyTime, children: formatTime2(ev.timestamp) })
|
|
3386
|
+
] }),
|
|
3387
|
+
/* @__PURE__ */ jsx6("div", { className: styles_module_default5.historyTitle, children: ev.title.replace(/^\[피드백\]\s*/, "") }),
|
|
3388
|
+
ev.feedbackUrl && /* @__PURE__ */ jsx6("div", { className: styles_module_default5.historyUrl, children: ev.feedbackUrl })
|
|
3389
|
+
] })
|
|
3390
|
+
] }, `${ev.id}-${ev.event}-${i}`)) })
|
|
3391
|
+
] })
|
|
3392
|
+
) : /* @__PURE__ */ jsxs6(Fragment3, { children: [
|
|
3393
|
+
/* @__PURE__ */ jsxs6("div", { className: styles_module_default5.statusFilter, children: [
|
|
3394
|
+
/* @__PURE__ */ jsxs6(
|
|
3395
|
+
"button",
|
|
3396
|
+
{
|
|
3397
|
+
className: `${styles_module_default5.filterChip} ${statusFilter === "todo" ? styles_module_default5.active : ""}`,
|
|
3398
|
+
onClick: () => setStatusFilter("todo"),
|
|
3399
|
+
type: "button",
|
|
3400
|
+
children: [
|
|
3401
|
+
"\uC9C4\uD589\uC804",
|
|
3402
|
+
todoCount > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.filterCount, children: todoCount })
|
|
3403
|
+
]
|
|
3404
|
+
}
|
|
3405
|
+
),
|
|
3406
|
+
/* @__PURE__ */ jsxs6(
|
|
3407
|
+
"button",
|
|
3408
|
+
{
|
|
3409
|
+
className: `${styles_module_default5.filterChip} ${statusFilter === "in_progress" ? styles_module_default5.active : ""}`,
|
|
3410
|
+
onClick: () => setStatusFilter("in_progress"),
|
|
3411
|
+
type: "button",
|
|
3412
|
+
children: [
|
|
3413
|
+
"\uC9C4\uD589\uC911",
|
|
3414
|
+
inProgressCount > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.filterCount, children: inProgressCount })
|
|
3415
|
+
]
|
|
3416
|
+
}
|
|
3417
|
+
),
|
|
3418
|
+
/* @__PURE__ */ jsxs6(
|
|
3419
|
+
"button",
|
|
3420
|
+
{
|
|
3421
|
+
className: `${styles_module_default5.filterChip} ${statusFilter === "done" ? styles_module_default5.active : ""}`,
|
|
3422
|
+
onClick: () => setStatusFilter("done"),
|
|
3423
|
+
type: "button",
|
|
3424
|
+
children: [
|
|
3425
|
+
"\uC644\uB8CC",
|
|
3426
|
+
doneCount > 0 && /* @__PURE__ */ jsx6("span", { className: styles_module_default5.filterCount, children: doneCount })
|
|
3427
|
+
]
|
|
3428
|
+
}
|
|
3429
|
+
)
|
|
3320
3430
|
] }),
|
|
3321
|
-
/* @__PURE__ */ jsx6("div", { className: styles_module_default5.
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
{
|
|
3326
|
-
className: styles_module_default5.
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
}
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3431
|
+
/* @__PURE__ */ jsx6("div", { className: styles_module_default5.content, children: items.length === 0 ? /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.empty, children: [
|
|
3432
|
+
/* @__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" }) }) }),
|
|
3433
|
+
tab === "page" ? "\uC774 \uD398\uC774\uC9C0\uC5D0 \uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4" : "\uD53C\uB4DC\uBC31\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"
|
|
3434
|
+
] }) : items.map((item) => /* @__PURE__ */ jsxs6("div", { className: `${styles_module_default5.card} ${item.status === "done" ? styles_module_default5.cardDone : ""}`, onClick: () => handleItemClick(item), children: [
|
|
3435
|
+
/* @__PURE__ */ jsxs6("div", { className: styles_module_default5.cardHeader, children: [
|
|
3436
|
+
/* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardAvatar, children: getInitials2(item.authorName) }),
|
|
3437
|
+
/* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardInfo, children: /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.cardMeta, children: [
|
|
3438
|
+
/* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardAuthor, children: item.authorName }),
|
|
3439
|
+
/* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardTime, children: formatTime2(item.createdAt) })
|
|
3440
|
+
] }) })
|
|
3441
|
+
] }),
|
|
3442
|
+
/* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardTitle, children: item.title.replace(/^\[피드백\]\s*/, "") }),
|
|
3443
|
+
item.screenshot && /* @__PURE__ */ jsx6("div", { className: styles_module_default5.cardScreenshot, children: /* @__PURE__ */ jsx6("img", { src: item.screenshot, alt: "screenshot" }) }),
|
|
3444
|
+
tab === "all" && item.feedbackUrl && /* @__PURE__ */ jsxs6(
|
|
3445
|
+
"div",
|
|
3446
|
+
{
|
|
3447
|
+
className: styles_module_default5.cardRoute,
|
|
3448
|
+
onClick: (e) => {
|
|
3449
|
+
e.stopPropagation();
|
|
3450
|
+
window.location.href = item.feedbackUrl;
|
|
3451
|
+
},
|
|
3452
|
+
title: "\uD398\uC774\uC9C0\uB85C \uC774\uB3D9",
|
|
3453
|
+
children: [
|
|
3454
|
+
/* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardRoutePath, children: item.feedbackUrl }),
|
|
3455
|
+
/* @__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: [
|
|
3456
|
+
/* @__PURE__ */ jsx6("path", { d: "M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6" }),
|
|
3457
|
+
/* @__PURE__ */ jsx6("polyline", { points: "15 3 21 3 21 9" }),
|
|
3458
|
+
/* @__PURE__ */ jsx6("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
|
|
3459
|
+
] })
|
|
3460
|
+
]
|
|
3461
|
+
}
|
|
3462
|
+
),
|
|
3463
|
+
(item.startedAt || item.completedAt) && /* @__PURE__ */ jsxs6("div", { className: styles_module_default5.cardStatusTime, children: [
|
|
3464
|
+
item.startedAt && item.status !== "todo" && /* @__PURE__ */ jsxs6("span", { children: [
|
|
3465
|
+
"\uC9C4\uD589 \uC2DC\uC791: ",
|
|
3466
|
+
formatTime2(item.startedAt)
|
|
3467
|
+
] }),
|
|
3468
|
+
item.completedAt && item.status === "done" && /* @__PURE__ */ jsxs6("span", { children: [
|
|
3469
|
+
"\uC644\uB8CC: ",
|
|
3470
|
+
formatTime2(item.completedAt)
|
|
3471
|
+
] })
|
|
3472
|
+
] }),
|
|
3473
|
+
/* @__PURE__ */ jsxs6("div", { className: styles_module_default5.cardFooter, children: [
|
|
3474
|
+
/* @__PURE__ */ jsx6("span", { className: styles_module_default5.cardReplyDot }),
|
|
3475
|
+
/* @__PURE__ */ jsxs6("span", { className: styles_module_default5.cardReplyCount, children: [
|
|
3476
|
+
item.commentCount,
|
|
3477
|
+
" ",
|
|
3478
|
+
item.commentCount === 1 ? "Reply" : "Replies"
|
|
3479
|
+
] })
|
|
3348
3480
|
] })
|
|
3349
|
-
] })
|
|
3350
|
-
] }
|
|
3481
|
+
] }, item.id)) })
|
|
3482
|
+
] })
|
|
3351
3483
|
] })
|
|
3352
3484
|
] }),
|
|
3353
3485
|
lightboxSrc && /* @__PURE__ */ jsx6(ImageLightbox, { src: lightboxSrc, onClose: () => setLightboxSrc(null) }),
|
|
@@ -4192,7 +4324,7 @@ function DebugWidget({ endpoint, getUser, onHide }) {
|
|
|
4192
4324
|
];
|
|
4193
4325
|
const currentPath = routePath;
|
|
4194
4326
|
const currentUserName = getUser?.()?.name ? String(getUser().name) : null;
|
|
4195
|
-
const visibleAnnotations =
|
|
4327
|
+
const visibleAnnotations = useMemo2(() => {
|
|
4196
4328
|
return annotations.filter((a) => {
|
|
4197
4329
|
const task = serverTasks.find((t) => t.id === a.id);
|
|
4198
4330
|
if (settings.hideDoneMarkers && (a.status === "done" || a.status === "resolved")) return false;
|
|
@@ -4200,26 +4332,20 @@ function DebugWidget({ endpoint, getUser, onHide }) {
|
|
|
4200
4332
|
return true;
|
|
4201
4333
|
});
|
|
4202
4334
|
}, [annotations, serverTasks, settings.hideDoneMarkers, settings.showOnlyMine, currentUserName]);
|
|
4203
|
-
const
|
|
4335
|
+
const toInboxItem = (task, fallbackUrl) => ({
|
|
4204
4336
|
id: task.id,
|
|
4205
4337
|
title: task.title || "\uD53C\uB4DC\uBC31",
|
|
4206
4338
|
status: task.status,
|
|
4207
4339
|
priority: task.priority,
|
|
4208
4340
|
authorName: task.authorName || "\uC775\uBA85",
|
|
4209
|
-
feedbackUrl: task.feedbackUrl ||
|
|
4341
|
+
feedbackUrl: task.feedbackUrl || fallbackUrl,
|
|
4210
4342
|
createdAt: task.createdAt,
|
|
4343
|
+
startedAt: task.startedAt,
|
|
4344
|
+
completedAt: task.completedAt,
|
|
4211
4345
|
commentCount: task.commentCount || 0
|
|
4212
|
-
})
|
|
4213
|
-
const
|
|
4214
|
-
|
|
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
|
-
}));
|
|
4346
|
+
});
|
|
4347
|
+
const allInboxItems = serverTasks.map((t) => toInboxItem(t, currentPath));
|
|
4348
|
+
const allRouteItems = allServerTasks.map((t) => toInboxItem(t, ""));
|
|
4223
4349
|
return createPortal3(
|
|
4224
4350
|
/* @__PURE__ */ jsxs8("div", { "data-impakers-debug": "", children: [
|
|
4225
4351
|
/* @__PURE__ */ jsx8(
|