Add My Consoles editing to account settings #347

Closed
opened 2026-06-01 21:06:02 -05:00 by Codex · 1 comment
Member

Summary

The public profile can show a user's "My Consoles" data, but account settings did not provide a way for the user to edit that console list.

Source: https://www.notion.so/3702f7baaae480f4b86ae4428a9470f3

Reported behavior

The Notion report says: "The info from the old website is there but no way to edit it."

Repo context

  • Public profiles render a "My Consoles" section from console_lists data.
  • App\Http\Controllers\UserController reads ConsoleList rows, resolves the stored platform IDs, and passes the resulting consoles to users.profile.show.
  • The /settings/profile Livewire settings page now exposes a dedicated console-list editing surface alongside profile fields, gamertags, account pictures, reviews, blog entries, password, privacy, notifications, and account deletion.
  • App\Models\ConsoleList stores a user-owned consoles value, and production sync code already preserves old-site console list data.

Acceptance criteria

  • Authenticated users can edit their "My Consoles" list from account settings.
  • Existing console list data from the old site is loaded into the settings UI.
  • Users can add and remove consoles using active platform records.
  • Saving updates the user's console_lists data without losing unrelated profile, gamertag, picture, privacy, notification, blog, or password settings.
  • Public profile "My Consoles" output reflects the saved settings after update.
  • Empty console lists are handled cleanly in settings and on the public profile.

Test coverage

  • Add or update feature/Livewire tests proving /settings/profile renders the console editing surface for authenticated users.
  • Test that existing console_lists values are loaded into the settings UI.
  • Test that saving console selections updates the database and changes the public profile output.
  • Run the affected tests with php artisan test --compact.
## Summary The public profile can show a user's "My Consoles" data, but account settings did not provide a way for the user to edit that console list. Source: https://www.notion.so/3702f7baaae480f4b86ae4428a9470f3 ## Reported behavior The Notion report says: "The info from the old website is there but no way to edit it." ## Repo context - Public profiles render a "My Consoles" section from `console_lists` data. - `App\Http\Controllers\UserController` reads `ConsoleList` rows, resolves the stored platform IDs, and passes the resulting consoles to `users.profile.show`. - The `/settings/profile` Livewire settings page now exposes a dedicated console-list editing surface alongside profile fields, gamertags, account pictures, reviews, blog entries, password, privacy, notifications, and account deletion. - `App\Models\ConsoleList` stores a user-owned `consoles` value, and production sync code already preserves old-site console list data. ## Acceptance criteria - [x] Authenticated users can edit their "My Consoles" list from account settings. - [x] Existing console list data from the old site is loaded into the settings UI. - [x] Users can add and remove consoles using active platform records. - [x] Saving updates the user's `console_lists` data without losing unrelated profile, gamertag, picture, privacy, notification, blog, or password settings. - [x] Public profile "My Consoles" output reflects the saved settings after update. - [x] Empty console lists are handled cleanly in settings and on the public profile. ## Test coverage - [x] Add or update feature/Livewire tests proving `/settings/profile` renders the console editing surface for authenticated users. - [x] Test that existing `console_lists` values are loaded into the settings UI. - [x] Test that saving console selections updates the database and changes the public profile output. - [x] Run the affected tests with `php artisan test --compact`.
jimmyb self-assigned this 2026-06-03 18:15:03 -05:00
Author
Member

Implemented and pushed in 974ff79 (Add console list editing to settings).

Notes:

  • Added a dedicated Consoles tab to /settings/profile with active platform checkboxes, the five-column large-screen layout, and the final copy: "Choose the consoles and platforms you own. They will be shown on your profile."
  • Saves through the existing console_lists.consoles CSV format, keyed/restored by id = user_id, with null stored for an empty list.
  • Validation rejects unknown or soft-deleted platform IDs, and the save action now dispatches settings toast feedback for success/failure instead of showing inline saved text beside the button.
  • Public profile rendering was left unchanged; tests prove the saved settings flow through to the existing "My Consoles" output and empty state.
  • Verification run: php artisan test --compact tests/Feature/Settings/ProfileUpdateTest.php tests/Feature/UserProfileTest.php passed with 66 tests / 543 assertions, and vendor/bin/pint --dirty --format agent was run after PHP edits.
Implemented and pushed in `974ff79` (`Add console list editing to settings`). Notes: - Added a dedicated `Consoles` tab to `/settings/profile` with active platform checkboxes, the five-column large-screen layout, and the final copy: "Choose the consoles and platforms you own. They will be shown on your profile." - Saves through the existing `console_lists.consoles` CSV format, keyed/restored by `id = user_id`, with `null` stored for an empty list. - Validation rejects unknown or soft-deleted platform IDs, and the save action now dispatches settings toast feedback for success/failure instead of showing inline saved text beside the button. - Public profile rendering was left unchanged; tests prove the saved settings flow through to the existing "My Consoles" output and empty state. - Verification run: `php artisan test --compact tests/Feature/Settings/ProfileUpdateTest.php tests/Feature/UserProfileTest.php` passed with 66 tests / 543 assertions, and `vendor/bin/pint --dirty --format agent` was run after PHP edits.
Codex 2026-06-03 19:00:40 -05:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
MyVideoGameList/myvideogamelist.com#347
No description provided.