Skip to content

feat: complete M1 connected product shell - #15

Merged
TechAaroorian merged 6 commits into
mainfrom
feat/m1-connected-product-shell
Sep 7, 2026
Merged

TechAaroorian merged 6 commits into
mainfrom
feat/m1-connected-product-shell

Conversation

@TechAaroorian

Copy link
Copy Markdown
Owner

Summary

Completes roadmap milestone M1: Connected Product Shell.

This PR connects the authenticated scheduling workflows through a real dashboard, unified navigation, locale-safe routing, improved poll creation and voting UX, host-timezone booking display, and accessibility coverage.

Changes

Dashboard and navigation

  • Add a real dashboard overview with scheduling metrics
  • Add a scheduling-readiness checklist
  • Connect dashboard, event types, availability, bookings, and poll creation
  • Add desktop sidebar and mobile navigation drawer
  • Add loading and error states
  • Indicate the active navigation destination
  • Move Create Poll into the authenticated dashboard layout

Locale continuity

  • Preserve locale across navigation and redirects
  • Preserve locale after poll creation
  • Correct localized cache invalidation paths
  • Add a safe default-locale fallback
  • Rename deprecated middleware.ts to proxy.ts

Poll creation

  • Add quick-pick meeting times
  • Add exact custom-time selection
  • Prevent duplicate candidates
  • Sort selected times chronologically
  • Add server-side HH:mm validation
  • Limit polls to 24 candidate times
  • Add a responsive “How your poll works” guidance panel

Poll voting

  • Prefill participant details for signed-in users
  • Derive authenticated voter identity from the server session
  • Preserve anonymous voting
  • Add typed validation and database error results
  • Add accessible success and failure announcements
  • Add a sticky submit bar with visible pending feedback

Bookings

  • Display bookings using the host’s saved timezone
  • Add localized booking cards and empty states
  • Add timezone formatting tests

Accessibility

  • Add axe-core checks for Create Poll and Poll Voting
  • Verify labels, pressed states, pending feedback, and status announcements
  • Document the manual keyboard and Windows Narrator pass
  • Update the feature inventory to reflect the current M1 implementation

Localization

  • Add the new interface content in English, Spanish, and German

Verification

  • ESLint passes
  • TypeScript passes
  • 63 tests pass across 15 test files
  • Prisma Client generation passes with Prisma 7.9.1
  • Production app and marketing builds pass
  • Create Poll works inside the dashboard shell
  • Quick and custom poll times work
  • Poll creation preserves the selected locale
  • Signed-in and anonymous voting work
  • Mobile navigation works
  • Core keyboard and Windows Narrator journey verified in Edge
  • English and Spanish routes exercised

Known limitations

  • Polls still support only one date and a fixed one-hour duration
  • Poll candidate construction does not yet store an explicit organizer timezone
  • Poll lifecycle, management, and finalization belong to M2
  • Spanish translation quality was not manually evaluated
  • Exact viewport sizes and a separate measured contrast result were not recorded during the manual accessibility pass

Roadmap

Completes M1: Connected Product Shell.

The next milestone is M2: Poll to Meeting.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 99.18% 121 / 122
🔵 Statements 98.38% 122 / 124
🔵 Functions 100% 18 / 18
🔵 Branches 84.28% 59 / 70
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
apps/app/app/actions/booking.ts 94.87% 70.58% 100% 97.36% 151, 164
apps/app/app/actions/poll.ts 100% 100% 100% 100%
apps/app/lib/booking-date-time.ts 100% 50% 100% 100%
apps/app/lib/navigation.ts 100% 100% 100% 100%
apps/app/lib/schemas/poll.ts 100% 100% 100% 100%
Generated in workflow #26 for commit 3ce750d by the Vitest Coverage Report Action

@TechAaroorian
TechAaroorian merged commit c781292 into main Sep 7, 2026
1 check passed
@TechAaroorian
TechAaroorian deleted the feat/m1-connected-product-shell branch September 7, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant