feat(web): iPhone PWA fixes (M1) + warm RTO redesign (M2)
M1 — PWA mechanics: - Generate real app icons (apple-touch-icon + manifest 192/512/maskable) via pure-stdlib gen_icons.py; iOS uses apple-touch-icon, not manifest icons. - viewport-fit=cover + env(safe-area-inset-*) on header/input/menu so content clears the notch and home indicator. - Dynamic height pinned to the VisualViewport (height + offsetTop, re-measured across the keyboard animation) so the input stays above the iOS keyboard; 100dvh fallback. Kills the squish/gap bugs in standalone mode. - overscroll containment; flesh out manifest (scope, portrait, maskable). M2 — visual redesign: - Realign style.css to the warm low-glow RTO palette already used by the standalone pages (#0e0e0e panels, #2a1d12 borders); remove the neon saturated-orange borders and ~15 glow shadows. - Reserve filled accent for one element (Send); glow only on status pulse + input focus. Flat warm message bubbles with tail corners. - Reclaim the mobile header into [≡] Lyra · [status dot]; drop the redundant status bar (relay status now the header dot, updated in checkHealth). - prefers-reduced-motion support; fix undefined var(--text); real light-mode tokens. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,20 +1,33 @@
|
||||
{
|
||||
"name": "Lyra Chat",
|
||||
"short_name": "Lyra",
|
||||
"start_url": "./index.html",
|
||||
"display": "standalone",
|
||||
"background_color": "#181818",
|
||||
"theme_color": "#181818",
|
||||
"icons": [
|
||||
{
|
||||
"src": "icon-192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "icon-512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
]
|
||||
}
|
||||
{
|
||||
"name": "Lyra",
|
||||
"short_name": "Lyra",
|
||||
"description": "Lyra — chat, mind, journal, and poker copilot.",
|
||||
"start_url": "./index.html",
|
||||
"scope": "./",
|
||||
"display": "standalone",
|
||||
"display_override": ["standalone", "minimal-ui"],
|
||||
"orientation": "portrait",
|
||||
"background_color": "#070707",
|
||||
"theme_color": "#070707",
|
||||
"categories": ["productivity", "utilities"],
|
||||
"icons": [
|
||||
{
|
||||
"src": "icon-192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "icon-512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "icon-maskable-512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user