## Goal ログイン中のユーザーが世界遺産をお気に入り登録・解除でき、一覧で確認できるようにする。 ## Decision - ハートボタンは世界遺産一覧(カード)・詳細ページの両方に表示する。表示条件は「ログイン中かどうか」のみ(当初は詳細ページのみの予定だったが変更) - お気に入り一覧は新規`/favorites`ページに表示する。`AppHeader`のnavに導線を追加する - `/favorites`は未ログインではアクセスできないようにする(`RequireAuth`配下) - バックエンドAPI仕様: `POST /api/v1/favorites`(add)・`GET /api/v1/favorites`(一覧取得)は確定済み。`DELETE`(remove)は未確定 - `client/src/app/features/favorites/`配下に、他機能と同様の構成(types / apis / hooks / containers / components)で追加する - add/get-single/get-plural/removeで機能ごとにbranch・Issueを分離する(APIがGET/POSTで分かれているため) ## Sub-issues (再構成後) ### add — #487 - [x] hooks: #495(実装済み、PR #494) - [ ] container: #490 - [x] UI: #496 ### get-single(単体判定) — #497 - [ ] hooks: #498 - [ ] mapper: #499 - [ ] container: #500 - [ ] UI: #501 ### get-plural(一覧) — #502 - [ ] mapper: #488 - [ ] hooks: #489 - [ ] container: #491 - [ ] UI: #503 ### remove — #504 - [ ] hooks: #505 - [ ] container: #506 - [ ] UI: #507 ## Implementation order add → get-single → get-plural → remove(依存が薄いものから。addは実装着手済み)
Activity
zigzagdev commentedon Aug 18, 2026
add(#487)/get-single(#497)/get-plural(#502)/remove(#504)すべて完了。お気に入り機能の登録・単体判定・一覧取得・解除が一通り実装済み。