Skip to content

feat(ui): сворачиваемое меню + страница настроек ящика - #63

Merged
friench merged 1 commit into
mainfrom
feat/menu-restructure
Jul 6, 2026
Merged

feat(ui): сворачиваемое меню + страница настроек ящика#63
friench merged 1 commit into
mainfrom
feat/menu-restructure

Conversation

@friench

@friench friench commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Что это

Реструктуризация навигации + разгрузка страницы ящиков (закрывает #50).

Меню

Плоский список из 22 пунктов сгруппирован в 8 сворачиваемых секций (Overview, Mail, Sending, Anti-spam, Observability, Maintenance, Access, Settings). Клик по заголовку сворачивает/разворачивает секцию; состояние — в localStorage. Названия en/ru.

Страница настроек ящика /admin/mailboxes/:id

Перегруженный столбец действий (7 кнопок на window.prompt) заменён одной ссылкой «Settings →» на нормальную страницу:

  • Settings: квота, active, отправка/получение (выпадашки), notes, смена пароля, Apple-профиль; удаление в danger-zone с подтверждением.
  • Forwarding (отдельно): редактирование алиаса-пересылки ящика (+ keep local copy).
  • Aliases → this mailbox (отдельно): список / добавление / редактирование / удаление адресов, доставляющихся в ящик.
  • Filters & vacation: встроенный редактор Sieve (отдельный маршрут /sieve тоже оставлен).
  • ссылка на спам-карантин ящика.

Строка в списке ящиков остаётся информативной + одна ссылка «Settings →». Все window.prompt убраны.

Чистый UI на готовых API — бэкенд не тронут. i18n en/ru везде, паритет ключей проверен.

Согласовано в ходе работы

  • Send/Receive — выпадашками; Forwarding и Aliases — раздельно; редактор фильтров встроен + отдельный маршрут оставлен; delete — в danger-zone. Всё учтено.
  • Сворачивание категорий — вернул (изначально обсуждали статичные заголовки).
  • App passwords и per-protocol external access — просили на эту страницу, но им нужны новые механизмы Dovecot (passwd-file passdb / allow_nets), поэтому заведены отдельными issue: App passwords (пароли для приложений) на ящик #61, Per-protocol external access (IMAP/POP3/SMTP) на ящик #62 (места под секции предусмотрены).

Проверки

ui typecheck · ui build · format:check · паритет ключей en/ru (все неймспейсы) · backend vitest 534 ✓ (не затронут).

Closes #50

🤖 Generated with Claude Code

Menu: the flat 22-item sidebar is now grouped into 8 collapsible sections
(Overview, Mail, Sending, Anti-spam, Observability, Maintenance, Access,
Settings). Section headers toggle; collapsed state persists in
localStorage. en/ru labels.

Mailbox settings page (/admin/mailboxes/:id): the overloaded row-action
column (7 window.prompt-based buttons) is replaced by a single
"Settings →" link to a proper page with:
- Settings: quota, active, sending/receiving (dropdowns), notes, change
  password, Apple profile; delete in a danger zone (confirm)
- Forwarding: edit the mailbox's forwarding alias (+ keep-local-copy)
- Aliases → this mailbox: list / add / edit / delete addresses that
  deliver here
- Filters & vacation: the embedded Sieve editor (the /sieve route stays)
- link to the mailbox's spam quarantine

Pure UI on existing APIs — no backend changes. en/ru i18n throughout.

App passwords and per-protocol (IMAP/POP3/SMTP) external access were
raised for this page but need new Dovecot mechanisms; filed as #61/#62.

Closes #50

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@friench
friench merged commit 7fe0a75 into main Jul 6, 2026
1 check passed
@friench
friench deleted the feat/menu-restructure branch July 6, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Реструктуризация навигации дашборда (сгруппировать меню)

1 participant