Skip to content

feat(dashboard): wire 4 home-grid TODO tiles + dock notifications (E11.S01) #12

@abdout

Description

@abdout

Story: E11.S01 (Phase 1 Pilot v1, Sprint P3)
Epic: EPIC-PROD-11 Dashboard & Navigation
Points: 5

Problem

Six tap targets on the iOS-style home grid + dock + search are stubbed with /* TODO */ placeholders today, so a pilot user tapping any of them gets visual feedback but no navigation:

  • home-tile-spec.kt:114 — Notifications tile
  • home-tile-spec.kt:122 — Exams tile
  • home-tile-spec.kt:132 — Assignments tile
  • home-tile-spec.kt:147 — Events tile
  • dashboard-screen.kt:73 — Universal search pill (Spotlight)
  • dashboard-screen.kt:96 — Notifications dock item

For pilot Seat 1 (King Fahad parent persona), the Notifications + Events + Exams tiles all front-line announcements/schedule that the school is already publishing — these tap-throughs are the daily-use surface.

Fix

  • Thread onNavigateToNotifications, onNavigateToExams, onNavigateToEvents lambdas through the dashboard chain (dashboard-nav-graphDashboardScreenHomeScreenbuildHomeTiles)
  • Wire 4 of the 6 TODOs to their destinations:
    • Notifications tile → Notifications route (feature/notifications)
    • Notifications dock item → Notifications route (same)
    • Exams tile → Exams route (feature/exams)
    • Events tile → EventsList route (feature/events)
  • Replace the remaining 2 /* TODO */ strings with explicit comments naming the blocking work:
    • Universal search pill — E11.S02 (Phase 3 polish); kept as no-op so the pill keeps its grid slot
    • Assignments tile — no feature/assignments module exists; folds into E14 grading/exams alongside teacher grade entry

Atomic-pattern + reusability notes

  • HomeTileSpec (data) → HomeTile (composable) → BadgedAppIcon (atom) — chain stays intact; no atom changes
  • Navigation lambdas plumb through the same shape as existing tiles so the grid composition stays uniform
  • Source of truth for tile destinations remains home-tile-spec.kt + HogwartsNavHost.dashboardScreen()

Acceptance criteria

  • Tap Notifications tile → opens notifications screen
  • Tap Notifications dock item → opens notifications screen
  • Tap Exams tile → opens exams list
  • Tap Events tile → opens events list
  • Tap Universal search pill → no-op (E11.S02 deferred)
  • Tap Assignments tile → no-op (deferred)
  • No TODO: strings remain in the dashboard module

Reference

Source: .bmad/epics/epic-prod-11-dashboard-navigation.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions