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

@@ -26,10 +26,10 @@ export function AddBookmarkFAB() {
trigger={
<Button
size="icon"
className="fixed bottom-16 right-4 z-40 rounded-full shadow-lg md:hidden"
className="fixed bottom-[calc(4rem+max(12px,env(safe-area-inset-bottom)))] right-[calc(1rem+env(safe-area-inset-right))] z-40 rounded-full shadow-lg md:hidden"
aria-label="Добавить закладку"
>
<Plus className="w-5 h-5" />
<Plus className="w-5 h-5" aria-hidden="true" />
</Button>
}
/>