33
M3 Design System (v8.1)
UAT-33.1
Persistent Sidebar Navigation (Desktop)
HighSteps
- Navigate to dashboard
- Click each sidebar item
- Check active state
Verify (6 checks)
- Sidebar visible at all times on desktop (w-64, not collapsible)
- Fovea logo and version badge displayed at top
- Navigation items: Dashboard, Data Rooms, Contracts, File Requests, Contacts, Settings, Help
- Active item has M3 primary surface highlight
- User info (name, email, avatar) shown at bottom of sidebar
- Sidebar uses M3 color tokens (no raw purple/gray classes)
| Score | Tester | Date | Notes |
|---|---|---|---|
| ___ | ___ | ___ | ___ |
UAT-33.2
Glass Top Bar
HighSteps
- Scroll down on a page with content
- Check top bar appearance
Verify (4 checks)
- Top bar uses glass effect (backdrop-blur, semi-transparent)
- Stays fixed at top during scroll
- Shows notification bell, theme toggle, and user menu
- No content clipping or overlap on scroll
| Score | Tester | Date | Notes |
|---|---|---|---|
| ___ | ___ | ___ | ___ |
UAT-33.3
Mobile Bottom Navigation
HighSteps
- Open app at 390px width
- Use bottom nav to switch sections
Verify (5 checks)
- Bottom nav appears at bottom of screen on mobile (hidden on desktop)
- Glass effect with shadow applied
- Icon-only navigation with active state highlight
- Sidebar is hidden on mobile
- Tap targets are large enough (min 44px)
| Score | Tester | Date | Notes |
|---|---|---|---|
| ___ | ___ | ___ | ___ |
UAT-33.4
Dashboard Bento Grid Layout
MediumSteps
- Navigate to dashboard
- Check layout at desktop and tablet widths
Verify (5 checks)
- Hero metric card shows primary stat (total views or documents)
- Bento grid layout with varied card sizes
- M3 surface hierarchy: primary, secondary, tertiary cards
- Cards responsive: single column on mobile, grid on desktop
- No raw purple/gray Tailwind tokens — only M3 tokens
| Score | Tester | Date | Notes |
|---|---|---|---|
| ___ | ___ | ___ | ___ |
UAT-33.5
Version Badge Auto-Increment
MediumSteps
- Check version badge in sidebar
- Compare to package.json version
Verify (3 checks)
- Version number in sidebar matches package.json version field
- Version reads from lib/version.ts (not hardcoded)
- Patch version auto-increments on every Vercel build (prebuild script)
| Score | Tester | Date | Notes |
|---|---|---|---|
| ___ | ___ | ___ | ___ |
UAT-33.6
M3 Token Compliance — Zero Raw Tokens
MediumSteps
- Open DevTools → Elements → inspect any card, button, or text element
- Check for raw Tailwind color classes (purple-*, gray-*, slate-*)
Verify (6 checks)
- No raw bg-purple-* classes on any authenticated page
- No raw text-gray-* or text-slate-* classes on any authenticated page
- All backgrounds use M3 surface tokens (surface, surfaceVariant, etc.)
- All text uses M3 on-surface tokens (onSurface, onSurfaceVariant, etc.)
- Primary action buttons use M3 primary token
- Destructive actions use M3 error token
| Score | Tester | Date | Notes |
|---|---|---|---|
| ___ | ___ | ___ | ___ |
UAT-33.7
M3 Navigation — Active State & Transitions
HighSteps
- Click each sidebar nav item in sequence
- Observe active state indicator
- Resize to tablet (768px) and mobile (390px)
Verify (6 checks)
- Active sidebar item shows M3 "state layer" surface (not a bold border)
- Navigation transitions are smooth (no layout shift)
- At tablet width: sidebar may collapse or switch to icon-only mode
- At mobile width (<1024px): sidebar hidden, bottom nav appears
- Bottom nav active item highlighted with M3 indicator pill
- No duplicate navigation elements at any viewport width
| Score | Tester | Date | Notes |
|---|---|---|---|
| ___ | ___ | ___ | ___ |
UAT-33.8
M3 Glass Top Bar — Scroll Behavior
MediumSteps
- Navigate to the dashboard with multiple documents
- Scroll down 200px
- Scroll back to top
Verify (5 checks)
- Top bar is sticky (remains at viewport top during scroll)
- Glass blur effect visible as content scrolls behind it
- Page content does not jump or overlap the top bar on load
- Notification bell and user avatar remain clickable while scrolled
- No z-index conflicts between top bar and modals/dropdowns
| Score | Tester | Date | Notes |
|---|---|---|---|
| ___ | ___ | ___ | ___ |