3.2 KiB
3.2 KiB
Task Detail Panel Tabs Refactor
Overview
Restructured the TaskDetailPanel component to match the ShotDetailPanel layout with a tabbed interface.
Changes Made
1. Header Simplification
- Before: Header showed "Task Details" title with task name and description in the content area
- After: Header shows task name and status badge, with close button on the right
- Task description moved to the Infos tab content
2. Tab Layout
- Before: Nested tabs for Notes/Attachments/Submissions at the bottom of a scrolling content area
- After: Top-level tabs (Infos | Notes | Attachments | Submissions) similar to ShotDetailPanel
- Tabs are positioned at the top with rounded-none and border-b styling
- Each tab shows badge counts for Notes, Attachments, and Submissions
3. Infos Tab Content
The Infos tab now contains all task information in organized sections:
- Description: Task description (if available)
- Quick Actions: Start Task, Submit Work, Reassign buttons
- Status: Status dropdown selector
- Task Information:
- Type (with badge)
- Deadline (with calendar icon and color coding)
- Assigned user (with avatar)
- Created/Updated timestamps
- Context: Project, Episode, Shot, Asset information
4. Other Tabs
- Notes Tab: Full-page TaskNotes component
- Attachments Tab: Full-page TaskAttachments component
- Submissions Tab: Full-page TaskSubmissions component
Visual Structure
┌─────────────────────────────────────────┐
│ [Task Name] [Status Badge] [X] │ ← Header
├─────────────────────────────────────────┤
│ Infos | Notes (2) | Attachments | Sub. │ ← Tabs
├─────────────────────────────────────────┤
│ │
│ Tab Content (scrollable) │
│ │
│ - Description │
│ - Quick Actions │
│ - Status │
│ - Task Information │
│ - Context │
│ │
└─────────────────────────────────────────┘
Benefits
- Consistency: Matches ShotDetailPanel design pattern
- Better Organization: Information is grouped logically in sections
- Improved UX: Tabs are always visible at the top, making navigation easier
- Cleaner Header: Simplified header focuses on task identity
- More Space: Each tab gets full panel space for its content
Technical Details
- Removed
Separatorcomponent (no longer needed with tab layout) - Added
Labelcomponent for form labels - Fixed TypeScript errors related to avatar properties
- Maintained all existing functionality (status updates, assignments, quick actions)
- Preserved loading and error states
Files Modified
frontend/src/components/task/TaskDetailPanel.vue