From d7b1747533117cb5acdf0858328c887cc017d17a Mon Sep 17 00:00:00 2001 From: "d.klimov" Date: Wed, 22 Jul 2026 23:17:41 +0300 Subject: [PATCH] =?UTF-8?q?design:=20=D0=B3=D1=80=D0=B0=D0=B4=D0=B8=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=BD=D1=8B=D0=B9=20=D0=BF=D0=BE=D0=B3=D0=BE=D0=B4?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20hero,=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D1=81=D1=82=D0=B5=D0=BA=D0=BB=D1=8F=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D0=BA=D0=B0=D1=80=D1=82=D0=BE=D1=87=D0=BA?= =?UTF-8?q?=D0=B8,=20=D0=B6=D0=B8=D0=B2=D0=BE=D0=B9=20ambient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - погода-hero: насыщенный indigo/violet градиент, крупная анимация справа (убирает воид), температура 100px, стеклянные чипы деталей - карточки заметно светлее (surface-3 glass) — явно поднимаются над фоном - ambient крупнее и насыщеннее (indigo/cyan/violet) — фон живой, не чёрный --- app/globals.css | 40 ++++++++++---------- app/page.tsx | 98 ++++++++++++++++++++++++++----------------------- 2 files changed, 73 insertions(+), 65 deletions(-) diff --git a/app/globals.css b/app/globals.css index 64fd2be..825297e 100644 --- a/app/globals.css +++ b/app/globals.css @@ -226,28 +226,28 @@ h1, h2, h3 { letter-spacing: -0.02em; } filter: blur(80px); } .bg-ambient::before { - width: 680px; height: 680px; - background: radial-gradient(circle, var(--accent-glow) 0%, transparent 68%); - top: -200px; right: -100px; + width: 820px; height: 820px; + background: radial-gradient(circle, rgba(109, 94, 252, 0.5) 0%, transparent 66%); + top: -240px; right: -140px; animation: float1 22s ease-in-out infinite; } .bg-ambient::after { - width: 600px; height: 600px; - background: radial-gradient(circle, rgba(46, 230, 246, 0.16) 0%, transparent 68%); - bottom: -180px; left: -80px; + width: 720px; height: 720px; + background: radial-gradient(circle, rgba(46, 230, 246, 0.3) 0%, transparent 66%); + bottom: -220px; left: -120px; animation: float2 27s ease-in-out infinite; } .light .bg-ambient::after { - background: radial-gradient(circle, rgba(8, 145, 178, 0.12) 0%, transparent 70%); + background: radial-gradient(circle, rgba(8, 145, 178, 0.14) 0%, transparent 70%); } /* Третий, центральный ореол — глубина «космоса» */ .bg-ambient .aurora-3 { position: absolute; - width: 520px; height: 520px; + width: 680px; height: 680px; border-radius: 50%; - filter: blur(90px); - background: radial-gradient(circle, rgba(168, 85, 247, 0.14) 0%, transparent 70%); - top: 30%; left: 40%; + filter: blur(100px); + background: radial-gradient(circle, rgba(168, 85, 247, 0.32) 0%, transparent 68%); + top: 22%; left: 34%; animation: float1 31s ease-in-out infinite reverse; } .light .bg-ambient .aurora-3 { @@ -276,16 +276,16 @@ h1, h2, h3 { letter-spacing: -0.02em; } .glass-card { position: relative; background: - linear-gradient(160deg, - color-mix(in srgb, var(--surface-2) 82%, transparent) 0%, - color-mix(in srgb, var(--surface-1) 78%, transparent) 100%); - border: 1px solid var(--border-subtle); - -webkit-backdrop-filter: blur(18px) saturate(1.3); - backdrop-filter: blur(18px) saturate(1.3); + linear-gradient(155deg, + color-mix(in srgb, var(--surface-3) 92%, transparent) 0%, + color-mix(in srgb, var(--surface-1) 88%, transparent) 100%); + border: 1px solid rgba(160, 168, 255, 0.14); + -webkit-backdrop-filter: blur(20px) saturate(1.4); + backdrop-filter: blur(20px) saturate(1.4); box-shadow: - var(--shadow-md), - inset 0 1px 0 rgba(255, 255, 255, 0.08), - inset 0 0 0 1px rgba(255, 255, 255, 0.015); + var(--shadow-lg), + inset 0 1px 0 rgba(255, 255, 255, 0.1), + inset 0 0 0 1px rgba(255, 255, 255, 0.02); transition: transform 0.22s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.22s ease, border-color 0.22s ease; } diff --git a/app/page.tsx b/app/page.tsx index 28fdb83..191c94d 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -503,69 +503,77 @@ function HomeTab({ weather, sensors }: { weather: WeatherData | null; sensors: S {/* Hero weather card */} {weather ? (
weather?.forecast?.[0] && setSelectedDay(weather.forecast[0])} style={{ - padding: '24px 26px', + padding: 0, display: 'flex', flexDirection: 'column', position: 'relative', overflow: 'hidden', - cursor: 'pointer', + cursor: 'pointer', minHeight: 232, }} > - {/* Decorative animation, large, behind */} + {/* Насыщенный градиентный фон-hero (тема «Космо») */}
+ {/* Мягкое свечение сверху-справа для глубины */} +
+ {/* Крупная погодная анимация — заполняет правую часть */} +
- -
- -
- Сейчас +
+
+ Сейчас +
+
{weather.temp}°
- -
-
- {weather.desc} -
+
+ {weather.desc} +
-
- {weather.feelsLike && ( -
-
Ощущается
-
{weather.feelsLike}°
-
- )} - {weather.humidity && ( -
-
Влажность
-
{weather.humidity}
-
- )} - {weather.windSpeed && ( -
-
Ветер
-
{weather.windSpeed}
-
- )} + {/* Стеклянные чипы деталей */} +
+ {[ + weather.feelsLike && { label: 'Ощущается', value: `${weather.feelsLike}°` }, + weather.humidity && { label: 'Влажность', value: `${weather.humidity}` }, + weather.windSpeed && { label: 'Ветер', value: `${weather.windSpeed}` }, + ].filter(Boolean).map((chip: any) => ( +
+
{chip.label}
+
{chip.value}
+
+ ))} +
) : (