## MODIFIED Requirements ### Requirement: My Tasks View uses Shot Task page layout instead of project task page layout The system SHALL use the Shot Task page layout and styling for the My Tasks page to ensure visual consistency across the application. #### Scenario: My Tasks uses Shot Task layout style - **WHEN** the My Tasks page is rendered - **THEN** it SHALL use the same layout structure as the Shot Task page (header with filters, data table, pagination) #### Scenario: My Tasks uses Shot Task visual styling - **WHEN** the My Tasks page components are rendered - **THEN** they SHALL use the same visual styling (colors, spacing, typography) as the Shot Task page ### Requirement: My Tasks View displays all tasks assigned to the current user across projects The system SHALL provide a My Tasks page that displays a unified list of all tasks assigned to the currently logged-in user, aggregated from all projects where the user has access. #### Scenario: User accesses My Tasks page - **WHEN** the user navigates to the My Tasks page (e.g., /my-tasks) - **THEN** the system SHALL display a list of all tasks assigned to the user across all accessible projects #### Scenario: My Tasks page shows task details - **WHEN** the My Tasks list is displayed - **THEN** each task item SHALL display at minimum: task name, project name, status, due date, and assignee #### Scenario: User can filter tasks by project - **WHEN** the user selects a specific project from the project filter dropdown - **THEN** the list SHALL display only tasks from the selected project #### Scenario: User can filter tasks by status - **WHEN** the user selects a specific status from the status filter dropdown - **THEN** the list SHALL display only tasks with the selected status #### Scenario: User can sort tasks - **WHEN** the user clicks a column header to sort - **THEN** the list SHALL be sorted by that column in ascending/descending order #### Scenario: User clicks on a task - **WHEN** the user clicks on a task row in the My Tasks list - **THEN** the system SHALL navigate to the task detail page in its project (e.g., /projects/{project_id}/tasks/{task_id}) #### Scenario: User sees only accessible tasks - **WHEN** the My Tasks list is loaded - **THEN** tasks from projects where the user lacks access SHALL NOT be displayed #### Scenario: API returns user's tasks - **WHEN** a authenticated user requests GET /api/tasks/my-tasks - **THEN** the system SHALL return a list of tasks assigned to that user #### Scenario: API supports project filter - **WHEN** the user requests GET /api/tasks/my-tasks?project_id={id} - **THEN** the system SHALL return only tasks from the specified project #### Scenario: API supports status filter - **WHEN** the user requests GET /api/tasks/my-tasks?status={status} - **THEN** the system SHALL return only tasks with the selected status