ui: simplify settings planned sections
This commit is contained in:
@@ -2,20 +2,19 @@
|
||||
|
||||
## Current
|
||||
|
||||
### `feat/frontend-settings-honesty-pass`
|
||||
### `feat/frontend-command-palette-decision`
|
||||
|
||||
Status: in_progress
|
||||
|
||||
DoD:
|
||||
- settings page does not present non-functional controls as if they were interactive
|
||||
- planned notification capabilities are collapsed into an honest informational block
|
||||
- page subtitle stays user-facing and describes the live settings surface
|
||||
- EN and RU copy remain aligned after the cleanup
|
||||
- existing working settings actions keep their current behavior
|
||||
- the `⌘K` affordance in the shell either works end-to-end or is removed everywhere
|
||||
- no dead command-palette trigger remains in desktop navigation
|
||||
- EN and RU copy stay aligned for the chosen outcome
|
||||
- the chosen outcome is verified in the UI smoke path
|
||||
|
||||
## Next
|
||||
|
||||
- `feat/frontend-command-palette-decision`
|
||||
- `feat/frontend-xss-hardening`
|
||||
|
||||
## Backlog
|
||||
|
||||
|
||||
@@ -277,15 +277,14 @@
|
||||
<div style="padding: 4px 20px 16px;">
|
||||
<div class="settings-section-divider" style="margin-top:0;"></div>
|
||||
<div class="planned-section-title">
|
||||
<span data-i18n="settings.security.capabilities_title">Planned security capabilities</span>
|
||||
<span class="planned-badge" data-i18n="settings.planned_badge">Planned</span>
|
||||
<span data-i18n="settings.security.capabilities_title">More security options</span>
|
||||
</div>
|
||||
<div class="callout warning" style="margin-bottom:0;">
|
||||
<svg class="callout-icon" width="15" height="15" viewBox="0 0 16 16" fill="none" stroke="var(--amber)" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round">
|
||||
<polygon points="8,1.5 15.5,14.5 0.5,14.5" fill="none"/><path d="M8 6v4M8 11.5v.5"/>
|
||||
</svg>
|
||||
<div>
|
||||
<strong data-i18n="settings.security.not_available">Not available in this build.</strong> <span data-i18n="settings.security.capabilities_body">Two-factor authentication, passkeys and multi-session inventory are planned, but the current live flow is password-based login with one HttpOnly browser session.</span>
|
||||
<strong data-i18n="settings.security.not_available">Available later.</strong> <span data-i18n="settings.security.capabilities_body">Two-factor authentication, passkeys, and multi-session controls will be added later. The current live flow uses password sign-in with one HttpOnly browser session.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -310,10 +309,7 @@
|
||||
<div id="section-notifications" class="section-anchor">
|
||||
<div class="section-card" style="margin-bottom: 20px;">
|
||||
<div class="section-card-header">
|
||||
<div class="planned-section-title" style="margin-bottom:0;">
|
||||
<span class="section-card-title" data-i18n="settings.notifications.title">Notification preferences</span>
|
||||
<span class="planned-badge" data-i18n="settings.planned_badge">Planned</span>
|
||||
</div>
|
||||
<div class="section-card-title" data-i18n="settings.notifications.title">Notifications</div>
|
||||
</div>
|
||||
<div style="padding: 8px 20px 16px;">
|
||||
<div class="callout info" style="margin-bottom:14px;">
|
||||
@@ -322,30 +318,7 @@
|
||||
<path d="M8 11V8M8 5.5V5"/>
|
||||
</svg>
|
||||
<div>
|
||||
<strong data-i18n="settings.notifications.not_ready_title">Notifications are not wired yet.</strong> <span data-i18n="settings.notifications.not_ready_body">Alert routing and per-user preferences are planned, but this build does not persist or deliver notification settings.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="planned-list">
|
||||
<div class="planned-item">
|
||||
<div class="planned-item-head">
|
||||
<div class="planned-item-title" data-i18n="settings.notifications.spike_title">Operation error spike</div>
|
||||
<span class="planned-badge small" data-i18n="settings.planned_badge">Planned</span>
|
||||
</div>
|
||||
<div class="planned-item-desc" data-i18n="settings.notifications.spike_body">Alert when error rate exceeds a rolling threshold for a published tool.</div>
|
||||
</div>
|
||||
<div class="planned-item">
|
||||
<div class="planned-item-head">
|
||||
<div class="planned-item-title" data-i18n="settings.notifications.latency_title">Upstream latency degradation</div>
|
||||
<span class="planned-badge small" data-i18n="settings.planned_badge">Planned</span>
|
||||
</div>
|
||||
<div class="planned-item-desc" data-i18n="settings.notifications.latency_body">Notify operators when p99 latency rises sharply above the baseline.</div>
|
||||
</div>
|
||||
<div class="planned-item">
|
||||
<div class="planned-item-head">
|
||||
<div class="planned-item-title" data-i18n="settings.notifications.digest_title">Quota and usage digests</div>
|
||||
<span class="planned-badge small" data-i18n="settings.planned_badge">Planned</span>
|
||||
</div>
|
||||
<div class="planned-item-desc" data-i18n="settings.notifications.digest_body">Deliver periodic summaries for quota consumption, errors and workspace activity.</div>
|
||||
<strong data-i18n="settings.notifications.not_ready_title">Available later.</strong> <span data-i18n="settings.notifications.not_ready_body">Notification routing and personal preferences will be added later.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+10
-10
@@ -396,9 +396,9 @@ var TRANSLATIONS = {
|
||||
'settings.security.mismatch': 'New password and confirmation do not match.',
|
||||
'settings.security.saved': 'Password updated.',
|
||||
'settings.security.save_error': 'Failed to change password',
|
||||
'settings.security.capabilities_title': 'Planned security capabilities',
|
||||
'settings.security.capabilities_body': 'Two-factor authentication, passkeys and multi-session inventory are planned, but the current live flow is password-based login with one HttpOnly browser session.',
|
||||
'settings.security.not_available': 'Not available in this build.',
|
||||
'settings.security.capabilities_title': 'More security options',
|
||||
'settings.security.capabilities_body': 'Two-factor authentication, passkeys, and multi-session controls will be added later. The current live flow uses password sign-in with one HttpOnly browser session.',
|
||||
'settings.security.not_available': 'Available later.',
|
||||
'settings.session.title': 'Current session',
|
||||
'settings.session.browser': 'Browser session',
|
||||
'settings.session.current': 'current',
|
||||
@@ -406,8 +406,8 @@ var TRANSLATIONS = {
|
||||
'settings.session.unavailable': 'Session details are unavailable. Use Log out to revoke the current browser session.',
|
||||
'settings.session.current_workspace': 'current workspace',
|
||||
'settings.session.summary': '{email} · {role} in {workspace}. Use Log out to revoke the current browser session.',
|
||||
'settings.notifications.title': 'Notification preferences',
|
||||
'settings.notifications.not_ready_title': 'Notifications are coming later.',
|
||||
'settings.notifications.title': 'Notifications',
|
||||
'settings.notifications.not_ready_title': 'Available later.',
|
||||
'settings.notifications.not_ready_body': 'Notification routing and per-user preferences will be added later.',
|
||||
'settings.planned_badge': 'Planned',
|
||||
'settings.notifications.spike_title': 'Operation error spike',
|
||||
@@ -1403,9 +1403,9 @@ var TRANSLATIONS = {
|
||||
'settings.security.mismatch': 'Новый пароль и подтверждение не совпадают.',
|
||||
'settings.security.saved': 'Пароль обновлен.',
|
||||
'settings.security.save_error': 'Не удалось изменить пароль',
|
||||
'settings.security.capabilities_title': 'Запланированные возможности безопасности',
|
||||
'settings.security.capabilities_body': 'Двухфакторная аутентификация, passkeys и инвентарь нескольких сессий запланированы, но в текущем live-flow используется логин по паролю и одна HttpOnly browser session.',
|
||||
'settings.security.not_available': 'Недоступно в этой сборке.',
|
||||
'settings.security.capabilities_title': 'Дополнительные параметры безопасности',
|
||||
'settings.security.capabilities_body': 'Двухфакторная аутентификация, passkeys и управление несколькими сессиями появятся позже. Сейчас доступен вход по паролю с одной HttpOnly browser session.',
|
||||
'settings.security.not_available': 'Появится позже.',
|
||||
'settings.session.title': 'Текущая сессия',
|
||||
'settings.session.browser': 'Сессия браузера',
|
||||
'settings.session.current': 'текущая',
|
||||
@@ -1413,8 +1413,8 @@ var TRANSLATIONS = {
|
||||
'settings.session.unavailable': 'Детали сессии недоступны. Используйте «Выйти», чтобы отозвать текущую browser session.',
|
||||
'settings.session.current_workspace': 'текущий воркспейс',
|
||||
'settings.session.summary': '{email} · {role} в {workspace}. Используйте «Выйти», чтобы отозвать текущую browser session.',
|
||||
'settings.notifications.title': 'Настройки уведомлений',
|
||||
'settings.notifications.not_ready_title': 'Уведомления пока не подключены.',
|
||||
'settings.notifications.title': 'Уведомления',
|
||||
'settings.notifications.not_ready_title': 'Появятся позже.',
|
||||
'settings.notifications.not_ready_body': 'Маршрутизация уведомлений и персональные настройки появятся позже.',
|
||||
'settings.planned_badge': 'Запланировано',
|
||||
'settings.notifications.spike_title': 'Всплеск ошибок операции',
|
||||
|
||||
Reference in New Issue
Block a user