Skip to content

Teacher Home (/teach)

/teach is the single bento home for the instructor role: one screen, one obvious action, contextual continue, scrollable course context, and the highest-leverage teacher task surfaced below. It is the teacher equivalent of the learner bento home, replacing the older split between a thin intent grid and a stats-heavy dashboard.

How it works

From top to bottom:

  • HeroGreeting: first name + date label, amber highlight on the name (learner parity).
  • HeroComposer: large prompt input with attach; seeds the chat launch flow with the teacher's typed intent.
  • CourseScroller: horizontal scroller of CourseCards for the courses the teacher runs, each with one-line meta (students, pending).
  • ContinueBanner: the single most-recent artifact to pick back up (lesson draft / deck / submission).
  • IntentTileRow: the named teacher intents (lesson_plan, presentation, research, question_bank) rendered via IntentTile from @kwilo/ui.
  • NeedsAttentionStrip: assignments awaiting review (pending grading), surfaced as a secondary row.

Supporting components in the page folder: ArtifactPreview, SectionLabel.

Routing

/teach is canonical. DashboardPage routes by role with <Navigate replace>: instructor → /teach, student → studentHome, parent → parentHome. Any deep link to /dashboard for a teacher lands on /teach. TeacherDashboard.tsx still exists but is no longer the home (the redirect bypasses it); treat it as legacy pending removal.

Data source

There is no dedicated home-context endpoint. The bento reads from the existing teacher dashboard analytics (TeacherDashboardStats via useTeacherDashboardData): recent_courses[] feeds the course scroller, pending_grading_count / pending_actions[] feed NeedsAttentionStrip, and the most recent activity across courses / assignments / presentations feeds ContinueBanner. Extend teacherDashboardStatsSchema if a field is missing rather than adding a new endpoint.

Where it lives

Routes: /teach (canonical); /dashboard redirects here.

  • apps/web/src/pages/teacher/TeacherHomePage/index.tsx: bento orchestrator
  • apps/web/src/pages/teacher/TeacherHomePage/components/: HeroGreeting, HeroComposer, CourseScroller, CourseCard, ContinueBanner, IntentTileRow, NeedsAttentionStrip, ArtifactPreview, SectionLabel
  • apps/web/src/pages/teacher/TeacherHomePage/constants.tsx: TEACHER_INTENTS
  • apps/web/src/pages/shared/DashboardPage/index.tsx: role redirect
  • apps/web/src/services/analytics/schemas.ts: TeacherDashboardStats