Add a clear return-to-list path after editing a list entry #350

Closed
opened 2026-06-03 11:07:01 -05:00 by Codex · 1 comment
Member

After editing a game-list entry, users need a clear way to return to their list.

The current Laravel checkout redirects a successful list-entry update back to game-lists.edit and shows a List entry updated. toast. The Notion report says the live site previously showed a popup with a link back to the list, and the rebuilt flow does not provide an obvious redirect or return link after saving. This should be handled clearly so users are not stranded on the edit form after updating an entry.

Source: https://app.notion.com/p/3742f7baaae48021920fe9952710400a

Scope

  • Authenticated list-entry edit flow at /list/edit/{gameList}.
  • Success handling after GameListController::update().
  • Edit-page success messaging and/or return-to-list action.
  • Existing list edit validation, authorization, persistence, and status update activity logging should remain unchanged.
  • Existing Laravel/Tailwind list-page design patterns and light/dark mode styling.

Acceptance Criteria

  • After a successful list-entry update, the user has a clear path back to their list.
  • The success state identifies that the list entry was updated.
  • The return path preserves a sensible list destination, such as the signed-in user's list and ideally the relevant status tab when available.
  • Validation failures still return to the edit form with errors and do not show the success return action.
  • Unauthorized users still cannot edit another user's list entry.
  • Existing update behavior still saves edited fields and logs gamer updates when status/replay state changes.
  • The success/return UI is accessible and readable in light and dark mode.

Test Coverage Required

  • Feature test confirming a successful list-entry update shows or redirects to a clear return-to-list path.
  • Regression test confirming validation errors stay on the edit form and do not show a success state.
  • Authorization test confirming non-owners cannot update another user's list entry.
  • Regression test confirming edited fields are saved.
  • Regression test confirming status/replay changes still create the expected gamer update activity.
  • Run focused list edit tests with php artisan test --compact.
  • Run vendor/bin/pint --dirty --format agent before closing the issue if PHP files are changed.

Progress Checklist

  • List edit route exists
  • List update route exists
  • Successful updates currently redirect back to the edit page
  • Edit page currently shows a toast for edit_success
  • Decide and implement the post-save return behavior
  • Add a visible/accessibly announced return-to-list action or redirect
  • Preserve validation, authorization, persistence, and activity logging behavior
  • Add focused tests for the success return path and existing edit behavior
After editing a game-list entry, users need a clear way to return to their list. The current Laravel checkout redirects a successful list-entry update back to `game-lists.edit` and shows a `List entry updated.` toast. The Notion report says the live site previously showed a popup with a link back to the list, and the rebuilt flow does not provide an obvious redirect or return link after saving. This should be handled clearly so users are not stranded on the edit form after updating an entry. Source: https://app.notion.com/p/3742f7baaae48021920fe9952710400a ## Scope - Authenticated list-entry edit flow at `/list/edit/{gameList}`. - Success handling after `GameListController::update()`. - Edit-page success messaging and/or return-to-list action. - Existing list edit validation, authorization, persistence, and status update activity logging should remain unchanged. - Existing Laravel/Tailwind list-page design patterns and light/dark mode styling. ## Acceptance Criteria - After a successful list-entry update, the user has a clear path back to their list. - The success state identifies that the list entry was updated. - The return path preserves a sensible list destination, such as the signed-in user's list and ideally the relevant status tab when available. - Validation failures still return to the edit form with errors and do not show the success return action. - Unauthorized users still cannot edit another user's list entry. - Existing update behavior still saves edited fields and logs gamer updates when status/replay state changes. - The success/return UI is accessible and readable in light and dark mode. ## Test Coverage Required - Feature test confirming a successful list-entry update shows or redirects to a clear return-to-list path. - Regression test confirming validation errors stay on the edit form and do not show a success state. - Authorization test confirming non-owners cannot update another user's list entry. - Regression test confirming edited fields are saved. - Regression test confirming status/replay changes still create the expected gamer update activity. - Run focused list edit tests with `php artisan test --compact`. - Run `vendor/bin/pint --dirty --format agent` before closing the issue if PHP files are changed. ## Progress Checklist - [x] List edit route exists - [x] List update route exists - [x] Successful updates currently redirect back to the edit page - [x] Edit page currently shows a toast for `edit_success` - [x] Decide and implement the post-save return behavior - [x] Add a visible/accessibly announced return-to-list action or redirect - [x] Preserve validation, authorization, persistence, and activity logging behavior - [x] Add focused tests for the success return path and existing edit behavior
jimmyb self-assigned this 2026-06-03 16:36:09 -05:00
jimmyb self-assigned this 2026-06-03 16:36:09 -05:00
jimmyb removed their assignment 2026-06-03 16:36:16 -05:00
jimmyb self-assigned this 2026-06-03 16:36:22 -05:00
Author
Member

Implemented and pushed in b3301e9.

What changed:

  • Successful GameListController::update() calls now redirect back to the signed-in user's list instead of leaving the user on /list/edit/{gameList}.
  • The redirect targets the saved entry's status tab, including replaying when is_replaying is set.
  • The list page dispatches the existing app-toast success notification with List entry updated..
  • Validation failures continue to return to the edit form with field-level errors and now also dispatch an error toast, without showing the success state.
  • Existing authorization, persistence, and gamer-update activity logging behavior is covered by focused feature tests.

Verification notes:

  • vendor/bin/pint --dirty --format agent passed.
  • Issue-specific focused tests passed for success redirect/toast, validation error handling, owner persistence/activity logging, non-owner authorization, and replay/status redirect behavior.
  • The full tests/Feature/GameListPageTest.php run exposed unrelated persistent dev-database fixture instability around stale 240xx rows. That follow-up has been split into #358 so this issue can close without hiding the separate test-hygiene work.
Implemented and pushed in `b3301e9`. What changed: - Successful `GameListController::update()` calls now redirect back to the signed-in user's list instead of leaving the user on `/list/edit/{gameList}`. - The redirect targets the saved entry's status tab, including `replaying` when `is_replaying` is set. - The list page dispatches the existing `app-toast` success notification with `List entry updated.`. - Validation failures continue to return to the edit form with field-level errors and now also dispatch an error toast, without showing the success state. - Existing authorization, persistence, and gamer-update activity logging behavior is covered by focused feature tests. Verification notes: - `vendor/bin/pint --dirty --format agent` passed. - Issue-specific focused tests passed for success redirect/toast, validation error handling, owner persistence/activity logging, non-owner authorization, and replay/status redirect behavior. - The full `tests/Feature/GameListPageTest.php` run exposed unrelated persistent dev-database fixture instability around stale `240xx` rows. That follow-up has been split into #358 so this issue can close without hiding the separate test-hygiene work.
Codex closed this issue 2026-06-03 17:08:14 -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#350
No description provided.