Public Access
feat(library): add not the same game button to editions
Part of Gitea #34 slice 1 of 3: one entry per game across platforms. Status, rating and notes are shared, so the detail page reloads after a save.
This commit is contained in:
1 parent
e136a7abc1
commit
25cc5ff2d8
7 files changed
+107
-14
No files matched your search
@@ -57,10 +57,12 @@ To Be Played is split into three repositories:
|
||||
finished games per year of all users.
|
||||
- **Library**: status filters, source filter (Steam, PlayStation, manual; a linked set counts on each of its sources), "short games" filter (up to 10 h), search, sorting by playtime, recently seen, newest
|
||||
in library, rating or priority, paging. Each row shows the unlocked achievements.
|
||||
- **Editions**: an auditor links the editions of one game (Steam and PS5 copy, remaster, port) for every user. A user
|
||||
who owns two or more of a linked set sees "Also in your library" on the details page, an "x2" badge in the library
|
||||
and the filter "Hide duplicates"; the numbers count the set once. "Same game as..." on the details page asks the
|
||||
auditors for a link.
|
||||
- **Editions**: the editions of one game (Steam and PS5 copy, remaster, port) are linked automatically from IGDB's
|
||||
"same game" key; an auditor can also link or unlink them for every user. A user who owns two or more of a linked
|
||||
set sees "Also in your library" on the details page, an "x2" badge in the library and the filter "Hide
|
||||
duplicates"; the numbers count the set once. The editions of a set share one status, rating and notes (the page
|
||||
reloads after a save to show it). "Not the same game" splits the game off its set for this user only, and it stays
|
||||
split. "Same game as..." on the details page asks the auditors for a link.
|
||||
- **Add a game by name** for games outside Steam (PlayStation, Switch, Xbox, physical): search IGDB, pick a hit,
|
||||
a platform and optional hours. Works without a Steam ID. Games already in ToBePlayed come first. Check several
|
||||
hits to add them at once through the import review.
|
||||
@@ -257,6 +259,17 @@ flowchart LR
|
||||
which question is open; `src/utils/questions.js` only loads the list and sends the answer. A yes to Finished? gets
|
||||
the Rate it? card back at once. `409` / `404` reload the list. `RatingStars` is shared with `BacklogCard`.
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
Detail["GameDetail: EditionsCard"] -->|"Not the same game"| Split["Core DELETE /api/library/games/{appid}/set"]
|
||||
Detail -->|"Same game as... (request)"| Request["Core POST /api/library/games/{appid}/link-requests"]
|
||||
Detail -->|"Unlink (auditor)"| Unlink["Core DELETE /api/library/games/{appid}/link"]
|
||||
Split --> Reload["reload the detail"]
|
||||
Backlog["BacklogCard save"] -->|"game has editions"| Reload
|
||||
```
|
||||
- `EditionsCard` shows "Not the same game" on every game that has other editions in the own library. The call goes
|
||||
through `src/utils/links.js` (`splitGame`); `404 NOT_LINKED` shows the generic error toast.
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
Header["AppHeader badge"] --> Count["Core /api/library/questions/count"]
|
||||
|
||||
Reference in new issue
Block a user