fix(ui): второй пакет ревью better-interface — каркас, чат, реестр, настройки

HIGH:
- chat: действия над сообщением доступны на мобильном (меню ⋯)
- iOS-зум: базовые input/textarea text-base, auth-экраны 16px
- контент не перекрыт нижней навигацией на iPhone (safe-area)
- контрасты: billing-оверлей, бот-кнопка, заголовки задач (text-primary)
- клавиатура: входящие на Главной, aria-label нижней навигации, триггер чата button
- confirm() → AlertDialog (сайдбар, чат, настройки)
- счётчики непрочитанных 7-8px → 10px

MEDIUM:
- офлайн-баннеры и бейджи на токенах warning/success/info/destructive
- transition-all → точечные свойства в примитивах ui
- шрифты: Inter без дублей (24 семейства → 2), letter-spacing с body убран
- prefers-reduced-motion kill-switch
- autocomplete + aria на auth/профиле, ошибки пароля у поля
- SPA: document.title + фокус на main при навигации, тост с action без таймера
- FormEditor: превью на Dialog, табы скроллятся на мобильном, без инлайн-стилей
- empty states с запросом и «Сбросить фильтры», UX-тексты
This commit is contained in:
2026-08-04 19:20:59 +03:00
parent 7d975b0b00
commit 17a8dc42f2
24 changed files with 712 additions and 395 deletions

View File

@@ -1,6 +1,5 @@
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap');
/* Шрифты подключаются в client/index.html (variable Inter + DM Mono).
Не добавлять @import шрифтов сюда — это дублирует запросы и ломает порядок каскада. */
@import './themes/styles/generated-skins.css';
@tailwind base;
@@ -147,7 +146,8 @@
@apply font-sans antialiased bg-background text-foreground;
font-size: 13px;
line-height: 1.5;
letter-spacing: -0.01em;
/* letter-spacing на весь body убран: кириллица 13px слипается.
Трекинг остаётся только на заголовках (tracking-tight ниже). */
font-feature-settings: "cv11", "ss01";
}
@@ -446,6 +446,15 @@ td.formula-highlight {
background-color: var(--tw-background-transparent-secondary);
}
/* Глобальный kill-switch анимаций для пользователей с prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* ============================================================
Notion-Style Task Detail — Inline Edit System
Added: 2026-07-16