SHA256
- styles/main.css: роли цветов (по умолчанию «Индиго»), шкала отступов/скруглений/шрифтов, цвета отношений для обеих тем; жёсткие цвета в стилях заменены на роли. - Палитра: пресеты и личные правки, «Оформление» Авто/День/Ночь, долгое нажатие — редактор цветов с экспортом/импортом. - Каналы: пузыри постов автора, плашки дней, строка «Написать в канал…», «О канале», создание канала с адресом из названия; лента открывается на свежих постах. - Чаты: плоский список, чипы-фильтры, пузыри, плашки дней; нижняя панель скрыта в переписке. - Корневые разделы — единая шапка; профиль и чужой профиль — общая карточка; настройки, кошелёк, сеансы — меню-списки. - Нижняя панель: иконки без подписей, бейджи на иконках. - confirmDialog вместо window.confirm/alert; на телефоне диалоги — шторки снизу. - docs/UI-Design/ISSUES-for-dev.md — найденные ошибки сервера/UI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
21 lines
2.5 KiB
CSS
21 lines
2.5 KiB
CSS
:root { --app-topbar-base-height: 56px; --app-topbar-title-size: 1.0625rem; --app-topbar-bg: var(--background); --app-topbar-fg: var(--text-primary); --app-topbar-gold: var(--text-primary); --app-topbar-blue-glow: transparent; --app-topbar-blue-glow-soft: transparent; }
|
|
.topbar { width: 100%; min-height: calc(56px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 0 0; display: grid; grid-template-columns: minmax(44px, 1fr) minmax(0, auto) minmax(44px, 1fr); align-items: center; gap: 4px; background: var(--background); }
|
|
.topbar__left, .topbar__center, .topbar__right { display: flex; min-width: 0; align-items: center; }
|
|
.topbar__center { justify-content: center; }
|
|
.topbar__right { justify-content: flex-end; }
|
|
.topbar__title { margin: 0; min-width: 0; font-size: var(--app-topbar-title-size); line-height: 1.375rem; font-weight: 600; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
.topbar__left-label { font-size: .75rem; color: var(--text-secondary); }
|
|
.topbar__back, .topbar__action { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 6px; border: 0; border-radius: 12px; background: transparent; color: var(--text-primary); font-size: 22px; cursor: pointer; }
|
|
.topbar__center .app-topbar-title-action, .topbar__center .channels-top-title, .topbar__center .dm-head-filter-title { display: flex; flex-direction: column; justify-content: center; max-width: 100%; min-width: 0; min-height: 44px; padding: 0 4px; border: 0; background: transparent; color: var(--text-primary); font-size: var(--app-topbar-title-size); font-weight: 600; text-align: center; overflow: hidden; }
|
|
.topbar__back:hover, .topbar__action:hover, .topbar__center button:hover { color: var(--accent); background: var(--surface); }
|
|
.topbar button:active, .topbar button[aria-expanded='true'] { background: var(--surface-selected); }
|
|
.topbar button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -2px; }
|
|
.topbar button:disabled { color: var(--text-secondary); cursor: default; }
|
|
.topbar--profile .topbar__left { visibility: hidden; }
|
|
.header-icon-svg { display: block; width: 22px; height: 22px; }
|
|
.topbar__back svg { width: 24px; height: 24px; stroke-width: 2.2; }
|
|
.topbar__action svg { width: 22px; height: 22px; }
|
|
.topbar--root { grid-template-columns: auto minmax(0, 1fr) auto; }
|
|
.topbar--root .topbar__center { justify-content: flex-start; }
|
|
.topbar--root .topbar__title { font-size: 1.5rem; line-height: 1.875rem; }
|