From 81ad2a04031620c54b9ce7537a8ca3e5776c50b7 Mon Sep 17 00:00:00 2001 From: NotBigGhost Date: Mon, 7 Sep 2026 15:35:09 +0300 Subject: [PATCH] =?UTF-8?q?UI:=20=D0=BF=D0=BE=D0=B4=D0=B2=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B8=20=D0=BA=D1=83=D0=BF=D0=BE=D0=BB=20FAB=20=D0=B2=D0=BF?= =?UTF-8?q?=D0=BB=D0=BE=D1=82=D0=BD=D1=83=D1=8E=20=D0=BA=20=D0=BD=D0=B8?= =?UTF-8?q?=D0=B6=D0=BD=D0=B5=D0=BC=D1=83=20=D0=BA=D1=80=D0=B0=D1=8E=20?= =?UTF-8?q?=D1=8D=D0=BA=D1=80=D0=B0=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Подвал держал внутренний отступ в safe-area снизу, а купол FAB был дополнительно поднят на 8px — у нижней кромки оставалась пустая полоса. Отступ снят: высота панели равна --bottombar-height, база купола на нулевой отметке. Токен --safe-bottom больше нигде не используется и удалён, отступ сверху (--safe-top) остаётся у шапки. #4 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Ps52xzuUXnWrJ5SRnEeaLk --- frontend/src/styles/global.css | 2 +- frontend/src/styles/layout.css | 5 ++--- frontend/src/styles/tokens.css | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/frontend/src/styles/global.css b/frontend/src/styles/global.css index 16d510f..b329cbf 100644 --- a/frontend/src/styles/global.css +++ b/frontend/src/styles/global.css @@ -196,7 +196,7 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent); } .toast { position: fixed; left: 50%; - bottom: calc(var(--bottombar-height) + var(--safe-bottom) + 16px); + bottom: calc(var(--bottombar-height) + 16px); transform: translateX(-50%); background: var(--surface-2); border: 1px solid var(--border); diff --git a/frontend/src/styles/layout.css b/frontend/src/styles/layout.css index 49e7137..995e49b 100644 --- a/frontend/src/styles/layout.css +++ b/frontend/src/styles/layout.css @@ -39,8 +39,7 @@ .bottom-bar { position: relative; flex: none; - height: calc(var(--bottombar-height) + var(--safe-bottom)); - padding-bottom: var(--safe-bottom); + height: var(--bottombar-height); background: var(--surface); border-top: 1px solid var(--border); display: flex; @@ -70,7 +69,7 @@ position: absolute; left: 50%; transform: translateX(-50%); - bottom: calc(var(--safe-bottom) + 8px); + bottom: 0; width: var(--fab-width); height: var(--fab-height); border: 1px solid var(--accent); diff --git a/frontend/src/styles/tokens.css b/frontend/src/styles/tokens.css index 586dee3..00a64c8 100644 --- a/frontend/src/styles/tokens.css +++ b/frontend/src/styles/tokens.css @@ -22,8 +22,8 @@ --radius-sm: 10px; /* Safe-area с потолком: часть мобильных браузеров (DuckDuckGo, Firefox Focus) при viewport-fit=cover отдаёт inset поверх уже смещённого вьюпорта — без ограничения - шапка раздувается вдвое, а её содержимое съезжает вниз. */ - --safe-bottom: min(env(safe-area-inset-bottom, 0px), 24px); + шапка раздувается вдвое, а её содержимое съезжает вниз. Снизу отступ не нужен: + подвал и купол FAB прижаты вплотную к нижнему краю экрана. */ --safe-top: min(env(safe-area-inset-top, 0px), 24px); /* Брейкпоинты (для справки) */