5.7 KiB
Tasks: Frontend Navigation Redesign
Feature Branch: 015-frontend-nav-redesign
Status: Completed
Spec: specs/015-frontend-nav-redesign/spec.md
Plan: specs/015-frontend-nav-redesign/plan.md
Phase 1: Setup
Goal: Initialize project structure for the new feature.
- T001 Create backup component directory structure
- Path:
frontend/src/components/backups/
- Path:
- T002 Create backup page route directory
- Path:
frontend/src/routes/tools/backups/
- Path:
Phase 2: Foundational
Goal: Prepare core components for integration and verify backend connectivity.
- T003 Verify backend API endpoints for backups (via
009-backup-scheduler)- Path:
backend/src/api/routes/tasks.py(or relevant backup route)
- Path:
- T004 Define Backup types and interfaces in frontend
- Path:
frontend/src/types/backup.ts
- Path:
Phase 3: User Story 1 - Centralized Tool Access via Dashboard
Goal: Update the main dashboard to include all tool entry points.
User Story: As a user, I want to access all main tools (Backups, Mapper, Storage) from the main Dashboard so that I have a central hub for operations. (P1)
- T005 [US1] Update DashboardGrid to include "Backup Manager" card
- Path:
frontend/src/components/DashboardGrid.svelte
- Path:
- T006 [US1] Update DashboardGrid to ensure "Dataset Mapper" and "Storage Manager" cards are present
- Path:
frontend/src/components/DashboardGrid.svelte
- Path:
- T007 [US1] Remove "Dataset Search" card from DashboardGrid
- Path:
frontend/src/components/DashboardGrid.svelte
- Path:
Phase 4: User Story 2 - Simplified Navigation Bar
Goal: Clean up the Navbar to show only global context items.
User Story: As a user, I want a clean Navbar containing only global context items (Tasks, Settings) so that the interface is less cluttered and navigation is distinct from tool usage. (P1)
- T008 [US2] Remove "Dataset Search" link from Navbar
- Path:
frontend/src/components/Navbar.svelte
- Path:
- T009 [US2] Remove "Dataset Mapper" link from Navbar
- Path:
frontend/src/components/Navbar.svelte
- Path:
- T010 [US2] Remove "Deployment Environments" link from Navbar
- Path:
frontend/src/components/Navbar.svelte
- Path:
- T011 [US2] Verify "Tasks" and "Settings" links remain in Navbar
- Path:
frontend/src/components/Navbar.svelte
- Path:
- T012 [US2] Remove "Run backup" button from Tasks page
- Path:
frontend/src/routes/tasks/+page.svelte(or relevant component)
- Path:
Phase 5: Backup Management UI
Goal: Implement the dedicated Backup Management interface.
User Story: (Implicit P1 from FR-004) System MUST provide access to the full Backup Management component via the Dashboard link.
- T013 [US1] Create BackupList component to display existing backups (Must use
src/lib/uicomponents andsrc/lib/i18n)- Path:
frontend/src/components/backups/BackupList.svelte
- Path:
- T014 [US1] Create BackupManager main component (container) (Must use
src/lib/uicomponents andsrc/lib/i18n)- Path:
frontend/src/components/backups/BackupManager.svelte
- Path:
- T015 [US1] Implement "Create Backup" functionality in BackupManager (Must use
src/lib/uicomponents andsrc/lib/i18n)- Path:
frontend/src/components/backups/BackupManager.svelte
- Path:
- T016 [US1] Implement "Restore Backup" functionality (if supported by backend) (Must use
src/lib/uicomponents andsrc/lib/i18n)- Path:
frontend/src/components/backups/BackupManager.svelte
- Path:
- T017 [US1] Create Backup page to host the manager (Must use
src/lib/uicomponents andsrc/lib/i18n)- Path:
frontend/src/routes/tools/backups/+page.svelte
- Path:
- T017b [US1] Implement Backup Schedule configuration in BackupManager
- Path:
frontend/src/components/backups/BackupManager.svelte
- Path:
- T017c [US1] Implement "Go to Storage" navigation in BackupList
- Path:
frontend/src/components/backups/BackupList.svelte
- Path:
Phase 6: User Story 3 - Deprecation
Goal: Remove deprecated routes and code.
User Story: As a user, I want removed features (Dataset Search, Deployment Environments) to be inaccessible so that I don't use deprecated workflows. (P2)
- T018 [US3] Delete Dataset Search route
- Path:
frontend/src/routes/tools/search/(delete directory)
- Path:
- T019 [US3] Delete Deployment Environments route
- Path:
frontend/src/routes/settings/environments/(delete directory)
- Path:
- T020 [US3] Delete Dataset Search component (if not used elsewhere)
- Path:
frontend/src/components/tools/SearchTool.svelte
- Path:
- T021 [US3] Delete EnvSelector component (if not used elsewhere)
- Path:
frontend/src/components/EnvSelector.svelte
- Path:
Phase 7: Polish & Cross-Cutting
Goal: Final verification and cleanup.
- T022 Verify all navigation links work correctly
- Path:
frontend/src/components/Navbar.svelte
- Path:
- T023 Verify responsive layout of new Dashboard grid
- Path:
frontend/src/components/DashboardGrid.svelte
- Path:
- T024 Ensure i18n strings are extracted for new Backup UI
- Path:
frontend/src/lib/i18n/(or relevant locale files)
- Path:
- T025 Verify "Run backup" action successfully triggers backup job (Manual/E2E check)
- Path:
frontend/src/components/backups/BackupManager.svelte
- Path:
Dependencies
- Phase 1 & 2 must be completed first.
- Phase 3 (Dashboard) and Phase 4 (Navbar) can be done in parallel.
- Phase 5 (Backup UI) depends on Phase 1 & 2.
- Phase 6 (Deprecation) should be done last to ensure no regressions before removal.
Implementation Strategy
- Setup: Create the new directory structure.
- Dashboard & Navbar: Quick wins to reshape the navigation.
- Backup UI: The core development effort. Connect to existing backend.
- Cleanup: Remove old code once the new flows are verified.