feat: Phase 3 - filter bar, keyboard navigation, notifications, comments
- FilterBar component with text search, label chips, due date and priority dropdowns - "/" keyboard shortcut and toolbar button to toggle filter bar - Keyboard card navigation with J/K/H/L keys, Enter to open, Escape to clear - Focus ring on keyboard-selected cards with auto-scroll - Desktop notifications for due/overdue cards via tauri-plugin-notification - CommentsSection component with add/delete and relative timestamps - Filtered card count display in column headers
This commit is contained in:
@@ -9,6 +9,7 @@ import { LabelPicker } from "@/components/card-detail/LabelPicker";
|
||||
import { DueDatePicker } from "@/components/card-detail/DueDatePicker";
|
||||
import { AttachmentSection } from "@/components/card-detail/AttachmentSection";
|
||||
import { PriorityPicker } from "@/components/card-detail/PriorityPicker";
|
||||
import { CommentsSection } from "@/components/card-detail/CommentsSection";
|
||||
import { springs, staggerContainer, fadeSlideUp } from "@/lib/motion";
|
||||
|
||||
interface CardDetailModalProps {
|
||||
@@ -165,6 +166,15 @@ export function CardDetailModal({ cardId, onClose }: CardDetailModalProps) {
|
||||
attachments={card.attachments}
|
||||
/>
|
||||
</motion.div>
|
||||
|
||||
{/* Row 5: Comments (full width) */}
|
||||
<motion.div
|
||||
className="col-span-2 rounded-lg bg-pylon-column/50 p-4"
|
||||
variants={fadeSlideUp}
|
||||
transition={springs.bouncy}
|
||||
>
|
||||
<CommentsSection cardId={cardId} comments={card.comments} />
|
||||
</motion.div>
|
||||
</motion.div>
|
||||
</OverlayScrollbarsComponent>
|
||||
</motion.div>
|
||||
|
||||
Reference in New Issue
Block a user