ユーザーストーリー仕様
ユーザー設定
ユーザーが自分の表示設定やプロフィールを管理できるようにする
Purpose
ユーザーが自分の表示設定やプロフィールを管理できるようにする
US-008: 表示テーマを切り替えたい
ユーザー: 社員 目的: ライト/ダーク/システム設定でテーマを切り替えたい 価値: 目の疲れを軽減し快適に作業できる
要件
| ID | 条件 | 振る舞い | Skip |
|---|---|---|---|
theme-toggle-display | When: ヘッダーのテーマトグルをクリックしたとき | 以下の選択肢を表示する: - ライト (Sun アイコン) - ダーク (Moon アイコン) - システム (Monitor アイコン) | - |
theme-light | When: ライトを選択したとき | ライトモードに切り替える | - |
theme-dark | When: ダークを選択したとき | ダークモードに切り替える | - |
theme-system | When: システムを選択したとき | OS の設定に従ってテーマを切り替える | - |
theme-persist | Always: 選択したテーマを localStorage に保存し、次回アクセス時に復元する | - | 信頼境界(ブラウザ localStorage)で保証 |
US-009: プロフィールを編集したい
ユーザー: 社員 目的: 設定画面から氏名を編集したい 価値: チームメンバーに正しく認識される
要件
| ID | 条件 | 振る舞い | Skip |
|---|---|---|---|
settings-dialog-open | When: ユーザーメニューの「設定」をクリックしたとき | 設定ダイアログを表示する | - |
settings-dialog-display | When: 設定ダイアログを表示するとき | 以下を表示する: - 左サイドバー: プロフィールタブ、ログアウトボタン - 右パネル: ユーザー情報 (アバター、氏名、メールアドレス) と編集フォーム | - |
profile-name-missing-alert | If: 姓または名が未設定の場合 | 「姓・名を設定してプロフィールを完成させましょう」と警告表示する | - |
profile-edit-autosave | When: 姓または名を入力したとき | 800ms のデバウンス後に自動保存する | - |
profile-save-success | When: 保存が成功したとき | 「保存しました」と表示する | - |
profile-save-error | If: 保存が失敗した場合 | 「保存に失敗しました」と表示する | - |
profile-validation-familyname | If: 姓が空または50文字を超える場合 | バリデーションエラーを表示し保存しない | - |
profile-validation-givenname | If: 名が空または50文字を超える場合 | バリデーションエラーを表示し保存しない | - |
settings-logout | When: ログアウトボタンをクリックしたとき | セッションを破棄しログイン画面にリダイレクトする | - |
profile-name-sync-employees | When: プロフィールの氏名を変更したとき | メンバー一覧ページにも変更が即座に反映される | - |