Chat layout: history in the main sidebar, consistent header, cleaner icon
- Desktop: on /chat the main sidebar shows the chat list (search, New chat, items with rename/delete, active highlight) in place of the deck navigation; the separate second column is gone and the chat uses the full width. The expand/collapse chevron sits outside the swappable section and a collapsed rail stays clean (the highlighted Chat row already opens a new chat). Active conversation travels via a tiny store (lib/chat-active) so the sidebar needs no useSearchParams and pages stay static. - Header (phones): history, theme and New chat are now identical chips - same 44px hit area, rounded-2xl, border/surface tokens, size-5 icons, even spacing; the title block truncates cleanly. ThemeToggle gained a 'plain' variant so the header styles it without touching other pages. - ChatIcon redrawn (clean message-circle, no inner lines) and the empty state uses the app's icon-chip pattern (size-12 chip, accent-600/200) instead of the bare oversized glyph; the model chip icon follows. - Also fixed a pre-existing dev-only breakage found while verifying: the tab-bar bounce animated three keyframes with a spring, which framer motion's dev build throws on - breaking client updates in the dev instance (library tab switching, sheet Escape). It now uses a tween. - Dev metadata keeps the Apple icons in both branches. - SW -> freezmo-v35.
This commit is contained in:
parent
95643fa009
commit
8a3bef0add
9 changed files with 192 additions and 75 deletions
|
|
@ -36,18 +36,16 @@ export const metadata: Metadata = {
|
|||
{ url: "/icons/splash-1668x2388.png", media: "(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)" },
|
||||
],
|
||||
},
|
||||
icons: IS_DEV_INSTANCE
|
||||
? {
|
||||
// Dev wears its own favicon so the two instances are never confused.
|
||||
icon: [{ url: "/icons/dev-favicon.svg", type: "image/svg+xml" }],
|
||||
}
|
||||
: {
|
||||
icon: [
|
||||
// ?v=2 busts browser favicon caches after the icon redesign.
|
||||
{ url: "/icons/favicon-32.png?v=2", sizes: "32x32", type: "image/png" },
|
||||
{ url: "/icons/icon-192.png?v=2", sizes: "192x192", type: "image/png" },
|
||||
{ url: "/icons/icon-512.png?v=2", sizes: "512x512", type: "image/png" },
|
||||
],
|
||||
icons: {
|
||||
icon: IS_DEV_INSTANCE
|
||||
? // Dev wears its own favicon so the two instances are never confused.
|
||||
[{ url: "/icons/dev-favicon.svg", type: "image/svg+xml" }]
|
||||
: [
|
||||
// ?v=2 busts browser favicon caches after the icon redesign.
|
||||
{ url: "/icons/favicon-32.png?v=2", sizes: "32x32", type: "image/png" },
|
||||
{ url: "/icons/icon-192.png?v=2", sizes: "192x192", type: "image/png" },
|
||||
{ url: "/icons/icon-512.png?v=2", sizes: "512x512", type: "image/png" },
|
||||
],
|
||||
apple: [
|
||||
{ url: "/icons/apple-touch-icon.png?v=2", sizes: "180x180" },
|
||||
{ url: "/icons/apple-touch-icon-167.png?v=2", sizes: "167x167" },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue