From 0908ad93de98e99ef2e49124b62cb1d413a2c6ee Mon Sep 17 00:00:00 2001 From: Cosmo Date: Thu, 23 Apr 2026 08:46:00 +0000 Subject: [PATCH] fix(home): prevent bento grid overflow on narrow viewports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CSS grid items default min-width to min-content; the tram widget 3-col subgrid plus its баbadges and long затем text forced its cell wider than 1.1fr, collapsing the outer layout on tablet. Fixes: - outer bento row → gridTemplateColumns: minmax(0, 1fr) minmax(0, 1.1fr) - events+notes row same treatment - TransportWidget inner subgrids: 58px → 52px badge, 1fr → minmax(0, 1fr) - Cell: minWidth: 0, overflow: hidden, затем text trimmed with ellipsis and short м suffix (5м instead of 5 мин) - big number 32→28px, badge 22→20px to fit in denser columns --- app/page.tsx | 4 ++-- components/TransportWidget.tsx | 30 ++++++++++++++++-------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index 0fd6435..5718544 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -419,7 +419,7 @@ function HomeTab({ weather, sensors }: { weather: WeatherData | null; sensors: S display: 'flex', flexDirection: 'column', gap: 14, }}> {/* ───── Bento row: Hero weather + Tram ───── */} -
+
{/* Hero weather card */} {weather ? ( @@ -554,7 +554,7 @@ function HomeTab({ weather, sensors }: { weather: WeatherData | null; sensors: S )} {/* ───── Events + Notes row ───── */} -
+
{/* Events — today + tomorrow in one card */}
diff --git a/components/TransportWidget.tsx b/components/TransportWidget.tsx index 5c746b8..f8e6a5c 100644 --- a/components/TransportWidget.tsx +++ b/components/TransportWidget.tsx @@ -45,18 +45,18 @@ function Cell({ arrivals, color }: { arrivals: Arrival[]; color: string }) { const imminent = first.minutes <= 2 return (
{/* Primary time — big */} -
+
@@ -78,10 +78,11 @@ function Cell({ arrivals, color }: { arrivals: Arrival[]; color: string }) { затем
- {rest.map(r => r.minutes <= 0 ? 'сейчас' : `${r.minutes} мин`).join(' · ')} + {rest.map(r => r.minutes <= 0 ? 'сейчас' : `${r.minutes}м`).join(' · ')}
@@ -123,7 +124,7 @@ export default function TransportWidget() {
{/* Header */}
@@ -155,7 +156,7 @@ export default function TransportWidget() { {/* Column headers */}
(
{route.num}