feat(annotations): Figma-style UI overhaul
- Redesign PinOverlay: teardrop pins with author initials, colors, numbers - Split FeedbackPanel into modular components: - feedback/FeedbackPanel.tsx (orchestrator) - feedback/ThreadList.tsx (list view with filters) - feedback/ThreadListItem.tsx (individual thread row) - feedback/ThreadDetail.tsx (expanded thread with comments) - feedback/CommentItem.tsx (single comment) - feedback/CommentInput.tsx (reusable input with Enter/Shift+Enter) - feedback/feedbackStyles.ts (shared design tokens) - Add status colors: red (open), green (resolved) - Add relative timestamps (2h ago, 3d, etc.) - Wire pin clicks to expand threads in panel - Pins follow media transforms in real-time - Add delete thread with inline confirmation - Register review mode shortcut (. key) - Better empty states and filter bar (Open/Resolved/All/Mine)
This commit is contained in:
@@ -30,6 +30,7 @@ interface ShortcutHandlerDeps {
|
||||
setShowGrid: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
setShowHelp: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
setFocusMode: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
setReviewMode: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -41,7 +42,7 @@ export function useShortcutHandler(deps: ShortcutHandlerDeps) {
|
||||
onCanvasChange, showToast, refreshLayers,
|
||||
handleGroup, handleUngroup,
|
||||
setActiveTool, setCanUndo, setCanRedo, setZoom,
|
||||
setShowGrid, setShowHelp, setFocusMode,
|
||||
setShowGrid, setShowHelp, setFocusMode, setReviewMode,
|
||||
} = deps;
|
||||
|
||||
useEffect(() => {
|
||||
@@ -89,6 +90,7 @@ export function useShortcutHandler(deps: ShortcutHandlerDeps) {
|
||||
toggleGrid: () => setShowGrid((v) => !v),
|
||||
toggleShowHelp: () => setShowHelp((v) => !v),
|
||||
toggleFocusMode: () => setFocusMode((v) => !v),
|
||||
toggleReviewMode: () => setReviewMode((v) => !v),
|
||||
pasteFromSystemClipboard: async (): Promise<string> => {
|
||||
if (!resolvedBoardId) return 'No board';
|
||||
const msg = await pasteFromSystemClipboard(scene, viewport, resolvedBoardId, onCanvasChange);
|
||||
@@ -148,6 +150,6 @@ export function useShortcutHandler(deps: ShortcutHandlerDeps) {
|
||||
onCanvasChange, showToast, refreshLayers,
|
||||
handleGroup, handleUngroup,
|
||||
setActiveTool, setCanUndo, setCanRedo, setZoom,
|
||||
setShowGrid, setShowHelp, setFocusMode,
|
||||
setShowGrid, setShowHelp, setFocusMode, setReviewMode,
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user