You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Companion to #288 (iOS theme) — Android users expect Material Design conventions. MeticAI should feel native on both platforms when running as a web app or future Capacitor app (#253).
Proposed Solution
Add an optional Material You–inspired CSS theme layer that activates on Android devices:
Platform Detection
Detect Android via navigator.userAgent
Apply .material-theme class to root element
Auto-detect by default; manual override in Settings (same toggle as iOS: Auto / iOS / Material / Off)
CSS Changes (layered on existing light/dark themes)
Property
Current
Material Theme
Font family
System default
Roboto, "Google Sans", system-ui, sans-serif
Border-radius
--radius (8px)
12px cards, 20px FAB-style buttons (pill shape)
Elevation
Flat borders
box-shadow layers (Material elevation tokens)
Ripple effect
None
CSS ripple on tap (::after pseudo-element)
Toggle switches
shadcn default
Material 3 style (thumb + track, tonal colors)
Color system
Custom gold/espresso
Adapt to Material 3 tonal palette (keep gold as primary)
FAB hint
None
Primary action button gets FAB-like prominence
Motion
Fade transitions
Material motion (emphasized easing, shared axis)
Active states
Opacity
State layers (8% opacity overlay on hover, 12% on press)
Typography
Default scale
Material type scale (titleLarge, bodyMedium, etc.)
Problem
Companion to #288 (iOS theme) — Android users expect Material Design conventions. MeticAI should feel native on both platforms when running as a web app or future Capacitor app (#253).
Proposed Solution
Add an optional Material You–inspired CSS theme layer that activates on Android devices:
Platform Detection
navigator.userAgent.material-themeclass to root elementCSS Changes (layered on existing light/dark themes)
Roboto, "Google Sans", system-ui, sans-serif--radius(8px)box-shadowlayers (Material elevation tokens)::afterpseudo-element)titleLarge,bodyMedium, etc.)Implementation Approach
Shared Settings Toggle (with #288)
Key Files
apps/web/src/index.css— Main stylesapps/web/src/styles/theme.css— CSS variablesapps/web/src/hooks/use-mobile.ts— Extend with Android detectionapps/web/src/components/ui/— shadcn/ui component overridesapps/web/src/components/SettingsView.tsx— Shared platform theme toggle with feat: iOS-inspired CSS theme for native feel on Apple devices #288Scope
Acceptance Criteria
References