エージェント:ドキュメントエージェント
<aside> <img src="notion://custom_emoji/be6005d7-8302-4c8e-93fe-03d0d3d71970/12f3c107-d7a8-8009-8054-007a9b09b0b8" alt="notion://custom_emoji/be6005d7-8302-4c8e-93fe-03d0d3d71970/12f3c107-d7a8-8009-8054-007a9b09b0b8" width="40px" />
@会員情報更新 のユースケースドキュメントを参考に、必要な画面を設計し、 @iOS画面設計書テンプレート の様式に沿って出力して。
</aside>
# iOS画面設計書テンプレート
## 基本情報
| 項目   | 内容                |
| ---- | ----------------- |
| 画面ID | \\[画面を一意に識別するID]   |
| 画面名  | \\[画面の名称]          |
| 機能概要 | \\[この画面が提供する機能の概要] |
| 作成者  | \\[作成者名]           |
| 作成日  | \\[作成日]            |
| 更新履歴 | \\[更新日・更新者・更新内容]   |
## 画面仕様
### 1. 画面レイアウト
\\[画面のワイヤーフレームまたはモックアップ画像を挿入]
### 2. UI要素一覧
| 要素ID      | 要素種類                       | 表示名       | 説明       | 入力制限/表示条件    |
| --------- | -------------------------- | --------- | -------- | ------------ |
| \\[ID-001] | \\[Button/Label/TextField等] | \\[表示テキスト] | \\[要素の説明] | \\[入力制限や表示条件] |
| \\[ID-002] |                            |           |          |              |
| ...       |                            |           |          |              |
### 3. 画面遷移
| 操作         | 遷移先画面     | 遷移条件         | 引き継ぎパラメータ      |
| ---------- | --------- | ------------ | -------------- |
| \\[ボタンタップ等] | \\[遷移先画面名] | \\[遷移が発生する条件] | \\[遷移時に引き継ぐデータ] |
| ...        |           |              |                |
### 4. バリデーションルール
| 項目     | バリデーションルール      | エラーメッセージ        |
| ------ | --------------- | --------------- |
| \\[項目名] | \\[必須/文字数制限/形式等] | \\[表示するエラーメッセージ] |
| ...    |                 |                 |
### 5. APIリクエスト
#### リクエスト情報
| API名    | HTTPメソッド     | エンドポイント       | 呼び出しタイミング        |
| ------- | ------------ | ------------- | ---------------- |
| \\[API名] | \\[GET/POST等] | \\[エンドポイントURL] | \\[APIを呼び出すタイミング] |
#### リクエストパラメータ
| パラメータ名    | 型              | 必須        | 説明          |
| --------- | -------------- | --------- | ----------- |
| \\[パラメータ名] | \\[String/Int等] | \\[Yes/No] | \\[パラメータの説明] |
| ...       |                |           |             |
#### レスポンス処理
| ステータスコード | 処理内容       |
| -------- | ---------- |
| 200      | \\[成功時の処理]  |
| 400      | \\[エラー時の処理] |
| ...      |            |
### 6. 状態管理
| 状態名      | 型    | 初期値    | 説明           |
| -------- | ---- | ------ | ------------ |
| \\[状態変数名] | \\[型] | \\[初期値] | \\[この状態が表す内容] |
| ...      |      |        |              |
### 7. アニメーション・インタラクション
| 要素ID    | イベント         | アニメーション内容     | 持続時間  |
| ------- | ------------ | ------------- | ----- |
| \\[要素ID] | \\[タップ/スワイプ等] | \\[アニメーションの詳細] | \\[秒数] |
| ...     |              |               |       |
### 8. アクセシビリティ対応
| 要素ID    | VoiceOver読み上げテキスト | アクセシビリティヒント | その他対応             |
| ------- | ----------------- | ----------- | ----------------- |
| \\[要素ID] | \\[読み上げテキスト]       | \\[ヒント内容]    | \\[その他のアクセシビリティ対応] |
| ...     |                   |             |                   |
### 9. ローカライゼーション
| キー     | 日本語        | 英語        | その他言語        |
| ------ | ---------- | --------- | ------------ |
| \\[キー名] | \\[日本語テキスト] | \\[英語テキスト] | \\[その他言語テキスト] |
| ...    |            |           |              |
### 10. デバイス対応
| 対応デバイス        | 画面サイズ    | 特記事項    |
| ------------- | -------- | ------- |
| \\[iPhone 14等] | \\[画面サイズ] | \\[特記事項] |
| ...           |          |         |
### 11. ダークモード対応
| 要素ID    | ライトモード設定 | ダークモード設定 |
| ------- | -------- | -------- |
| \\[要素ID] | \\[色・画像等] | \\[色・画像等] |
| ...     |          |          |
## 補足情報
### 技術的な実装メモ
\\[実装時の注意点や特記事項]
### デザインガイドライン参照
\\[適用するデザインガイドラインへの参照]
### 関連画面
\\[関連する他の画面への参照]
# 基本情報
| 項目   | 内容                                                     |
| ---- | ------------------------------------------------------ |
| 画面ID | member-update-screen                                   |
| 画面名  | 会員情報更新画面                                               |
| 機能概要 | 会員がメールアドレス・パスワード・プロフィール画像の変更を行う画面(@documentのユースケースに準拠) |
| 作成者  | ダミー                                                    |
| 作成日  | 2025/08/12                                             |
| 更新履歴 | 2025/08/12・ダミー・初版                                      |
## 画面仕様
### 1. 画面レイアウト
### 2. UI要素一覧
| 要素ID            | 要素種類      | 表示名        | 説明                 | 入力制限/表示条件                 |
| --------------- | --------- | ---------- | ------------------ | ------------------------- |
| emailInput      | TextField | 新しいメールアドレス | メールアドレスの入力欄        | 形式・ユニーク必須                 |
| currentEmail    | Label     | 現在のメールアドレス | 登録済メールアドレス表示       | ログインユーザの現在値表示             |
| passwordInput   | Password  | 現在のパスワード   | 本人確認用パスワード         | 必須                        |
| newPassword     | Password  | 新パスワード     | 新しいパスワード入力         | 強度・文字数制限                  |
| confirmPassword | Password  | 新パスワード(確認) | 新パスワード再入力          | newPasswordと一致必須          |
| profileImage    | Image     | プロフィール画像   | 現在登録中のプロフィール画像     | 画像表示のみ                    |
| uploadImage     | File      | 画像ファイル選択   | 新しい画像をアップロード       | jpg/pngのみ、サイズ上限2MB        |
| saveEmailBtn    | Button    | メール更新      | メールアドレス変更実行        | 入力必須・変更あればのみenabled       |
| savePassBtn     | Button    | パスワード変更    | パスワード変更実行          | 入力必須 three fields enabled |
| saveImgBtn      | Button    | 画像変更       | 画像アップロード実行         | 画像選択時enabled              |
| cancelBtn       | Button    | キャンセル      | 編集操作の取り消し          | いつでもenabled               |
| errorMsg        | Text      | エラー表示エリア   | 各種バリデーションor処理エラー表示 | 該当エラー時のみ表示                |
| resultMsg       | Text      | 処理結果通知     | 成功/失敗などの共通通知枠      | 処理後のみ表示                   |
### 3. 画面遷移
| 操作      | 遷移先画面  | 遷移条件            | 引き継ぎパラメータ |
| ------- | ------ | --------------- | --------- |
| 保存ボタン   | 現在画面   | バリデーション成功→保存API | 処理結果      |
| キャンセル   | 会員詳細画面 | ボタン押下           | なし        |
| セッション切れ | ログイン画面 | セッションエラー        | なし        |
### 4. バリデーションルール
| 項目      | バリデーションルール         | エラーメッセージ                |
| ------- | ------------------ | ----------------------- |
| メールアドレス | 必須・メール形式・ユニーク      | メール形式が正しくありません/既に登録済みです |
| 現在パスワード | 必須・正当性             | 現在のパスワードが違います           |
| 新パスワード  | 必須・8文字以上・英数字記号混在   | 新しいパスワードが弱いです/8文字以上必須   |
| 確認パスワード | newPasswordと一致     | 新しいパスワードが一致しません         |
| 画像ファイル  | jpg/pngのみ・サイズ2MB以下 | 許可されていない形式です/サイズが大きいです  |
### 5. APIリクエスト
#### リクエスト情報
| API名               | HTTPメソッド | エンドポイント              | 呼び出しタイミング   |
| ------------------ | -------- | -------------------- | ----------- |
| updateEmail        | POST     | /api/member/email    | メール保存時      |
| updatePassword     | POST     | /api/member/password | パスワード保存時    |
| updateProfileImage | POST     | /api/member/image    | 画像アップロード保存時 |
#### リクエストパラメータ
| パラメータ名          | 型      | 必須  | 説明                 |
| --------------- | ------ | --- | ------------------ |
| newEmail        | String | Yes | 新メールアドレス           |
| currentPassword | String | Yes | 現パスワード             |
| newPassword     | String | Yes | 新パスワード             |
| profileImage    | File   | Yes | 新プロフィール画像(アップロード時) |
#### レスポンス処理
| ステータスコード | 処理内容            |
| -------- | --------------- |
| 200      | 成功時:成功通知表示      |
| 400/422  | バリデーションエラー表示    |
| 401      | セッション切れ:ログイン画面へ |
| 500      | 共通エラー表示         |
### 6. 状態管理
| 状態名          | 型      | 初期値            | 説明          |
| ------------ | ------ | -------------- | ----------- |
| email        | String | 現在値(API取得)     | 入力中メールアドレス  |
| password     | String | 空文字            | 現在パスワード     |
| newPassword  | String | 空文字            | 新パスワード      |
| confirmPass  | String | 空文字            | 新パスワード(確認)  |
| profileImage | String | 現在画像URL(API取得) | 表示用プロフィール画像 |
| uploadFile   | File   | null           | 新規アップロード画像  |
| error        | String | 空文字            | エラーメッセージ    |
| result       | String | 空文字            | 処理結果通知      |
### 7. アニメーション・インタラクション
| 要素ID         | イベント | アニメーション内容        | 持続時間 |
| ------------ | ---- | ---------------- | ---- |
| saveEmailBtn | タップ  | ボタン押下時プレスアニメーション | 0.2秒 |
| savePassBtn  | タップ  | ボタン押下時プレスアニメーション | 0.2秒 |
| saveImgBtn   | タップ  | ボタン押下時プレスアニメーション | 0.2秒 |
| errorMsg     | 表示時  | フェードイン通知表示       | 0.5秒 |
| resultMsg    | 表示時  | フェードイン通知表示       | 0.5秒 |
### 8. アクセシビリティ対応
| 要素ID          | VoiceOver読み上げテキスト | アクセシビリティヒント  | その他対応           |
| ------------- | ----------------- | ------------ | --------------- |
| emailInput    | 新しいメールアドレス入力      | メール形式で入力     | フォーカス枠カラーコントラスト |
| passwordInput | 現在のパスワード入力        | セキュリティのため非表示 | 自動読上しない         |
| saveEmailBtn  | メール変更保存ボタン        | 入力チェック後有効    |                 |
| ...           | ...               | ...          | ...             |
### 9. ローカライゼーション
| キー                 | 日本語      | 英語            | その他言語 |
| ------------------ | -------- | ------------- | ----- |
| member.email       | メールアドレス  | Email Address |       |
| member.password    | パスワード    | Password      |       |
| member.newPassword | 新パスワード   | New Password  |       |
| member.profile     | プロフィール画像 | Profile Image |       |
| common.save        | 保存       | Save          |       |
| common.cancel      | キャンセル    | Cancel        |       |
### 10. デバイス対応
| 対応デバイス    | 画面サイズ     | 特記事項    |
| --------- | --------- | ------- |
| iPhone 14 | 390x844px | タッチ操作適応 |
| Android   | 主流解像度     | レスポンシブ  |
| PC        | 1280px以上  | レスポンシブ  |
### 11. ダークモード対応
| 要素ID         | ライトモード設定 | ダークモード設定  |
| ------------ | -------- | --------- |
| emailInput   | 白背景・黒字   | 濃グレー背景・白字 |
| saveEmailBtn | 青背景・白字   | 青背景・白字    |
| ...          | ...      | ...       |
## 補足情報
### 技術的な実装メモ
- メール・パスワード・画像ともAPIバリデーション+画面バリデーション双方実施
- 重要事項変更時はサーバー側からメール通知等対応
- フロントから入力値は必ず暗号化通信
### デザインガイドライン参照
- 社内基準のフォーム設計ガイド、アクセシビリティガイド参照
### 関連画面
- 会員詳細画面
- ログイン画面