Скорректированы подписи скриншотов

This commit is contained in:
2026-05-31 00:50:15 +03:00
parent ee2c3a198c
commit 71ad7fcc2e
10 changed files with 17764 additions and 17703 deletions

View File

@@ -38,12 +38,6 @@
[US-6], [Храню TOTP и текстовые секреты в storage], [`TwoFaTotpTest`, UI IT],
) <tbl-userstory>
=== Customer Journey Map
CJM сценария «защитить и открыть storage» представлен на рисунке @fig-22.
#pz-fig("fig_22_cjm_vault.png", [Customer Journey Map: защита и открытие storage], "fig-22")
=== Пользовательский сценарий
Диаграммы потоков: старт приложения и фоновая синхронизация (@fig-01), жизненный цикл storage (@fig-02), навигация Main: LocalVault / удалённые vault storage (@fig-03).
@@ -54,20 +48,20 @@ CJM сценария «защитить и открыть storage» предст
== Проработка прототипа и особенности дизайна
Интерфейс реализован на Jetpack Compose @smith-jetpack-compose @compose-docs. Экраны локальных и удалённых vault, диалоги шифрования, OAuth, а также разделы текстовых секретов и 2FA внутри storage показаны на рис. @fig-05@fig-10 и @fig-33@fig-34 (подробно приложение В и руководство пользователя в приложении Б).
Интерфейс реализован на Jetpack Compose @smith-jetpack-compose @compose-docs. Экраны локального и удалённого vault, диалоги работы со storage, а также разделы текстовых секретов и 2FA показаны на рис. @fig-05@fig-10 и @fig-33@fig-34 (подробно приложение В и руководство пользователя в приложении Б). Поток OAuth 2.0 для Яндекса на рис. @fig-20 (гл. 1).
#pz-fig("fig_05_local_vaults.jpg", [Список storage в локальном vault (экран «локальные vault»)], "fig-05")
#pz-fig("fig_06_encrypt_dialog.jpg", [Диалог включения шифрования], "fig-06")
#pz-fig("fig_07_open_close_dialog.jpg", [Диалог открытия и закрытия storage], "fig-07")
#pz-fig("fig_08_rename_delete_dialog.jpg", [Диалог переименования и удаления], "fig-08")
#pz-fig("fig_09_remote_vaults.jpg", [Экран удалённых vault], "fig-09")
#pz-fig("fig_10_yandex_oauth.jpg", [Добавление удалённого vault, OAuth Яндекс], "fig-10")
#pz-fig("fig_07_open_close_dialog.jpg", [Диалог открытия зашифрованного storage], "fig-07")
#pz-fig("fig_08_rename_delete_dialog.jpg", [Меню storage: переименование и удаление], "fig-08")
#pz-fig("fig_09_remote_vaults.jpg", [Экран удалённых vault: подключённый аккаунт Яндекс], "fig-09")
#pz-fig("fig_10_yandex_oauth.jpg", [Диалог «Добавить хранилище»: выбор провайдера Яндекс], "fig-10")
#pz-fig("fig_33_storage_secrets_2fa.jpg", [Экран storage: разделы «Секреты» и «2FA»], "fig-33")
#pz-fig("fig_34_2fa_single_token.jpg", [Экран 2FA: список с одним TOTP-токеном], "fig-34")
== Требования к эргономике и доступности
Интерфейс должен отображать состояние каждого storage без перехода в технические экраны: признаки «зашифровано», «открыто» (`IUnlockManager.openedStorages`), «выполняется операция» (`isBusy`). Диалоги деструктивных действий (удаление storage, отключение шифрования) требуют явного подтверждения. Тексты сообщений об ошибках OAuth и неверном ключе формулируются нейтрально, без раскрытия внутренних путей и имён файлов.
Интерфейс должен отображать состояние каждого storage без перехода в технические экраны: признаки «зашифровано», «открыто» (`IUnlockManager.openedStorages`), «выполняется операция» (`isBusy`). Диалоги и меню деструктивных действий (удаление storage, отключение шифрования; см. @fig-08) требуют явного подтверждения. Тексты сообщений об ошибках OAuth и неверном ключе формулируются нейтрально, без раскрытия внутренних путей и имён файлов.
== Вывод