Commit Graph
88 Commits
Author SHA1 Message Date
lobo f9f0d94e2c feat(onboarding): remove dead ends for new users (#55)
Registration shows the address used and can start over.
Confirm page says an admin approves; no login link.
Welcome puts next steps first; Steam link returns to the dashboard.
Dashboard and library explain an empty or private library.
First sync shows queued, polls slower up to 10 min, then a calm text.
Login: simple checks, resend offer after 401, password toggles.
Only a real expired link counts as invalid; typed passwords stay.
Default language follows the browser; texts are platform-neutral.
2026-10-21 09:37:17 +02:00
lobo 60dcfe8992 feat(search): add game search page (#50)
Build, Test & Push Frontend / quality-check (push) Successful in 44s
Build, Test & Push Frontend / docker (push) Successful in 27s
Add /search to find games by name on IGDB.
A game in the library opens its game page. Other hits open a
detail view with an Add button. The query stays in the URL.
To fit the new nav icon on 360 px phones, the header padding is
smaller and the points chip hides while the Questions icon shows.
2026-10-20 10:42:06 +02:00
lobo 5be0d42bca feat(follow): add feed links, following page and tile (#52, #51)
Build, Test & Push Frontend / quality-check (push) Successful in 37s
Build, Test & Push Frontend / docker (push) Successful in 1m23s
Feed links go to the game and to the profile view of that game.
Add /following page, nav item and an opt-in Following tile.
Games not in your library show a catalog view with an add button.
2026-10-14 16:23:11 +02:00
lobo 720764bf68 feat(docker): fail at start when AUTH_HOST or API_HOST is unset
Build, Test & Push Frontend / quality-check (push) Successful in 38s
Build, Test & Push Frontend / docker (push) Successful in 29s
An empty host gives a CSP connect-src that blocks every API call.
The new entrypoint check stops the container early with a clear error.
2026-10-14 15:22:20 +02:00
lobo 25ade98989 docs(readme): update features, repos and container env
Build, Test & Push Frontend / quality-check (push) Successful in 38s
Build, Test & Push Frontend / docker (push) Successful in 36s
Match README to the code: PlayStation import, stat charts, public
routes, Gitea CI, and the AUTH_HOST/API_HOST image variables.
2026-10-14 14:51:40 +02:00
lobo c599054059 docs(readme): replace screenshots with neutral demo data
Old screenshots showed a real account. Retake them from the local
stack with 30 demo games and persona "Dev". Add a dashboard shot and
docs/screenshots/README.md.
Refs Lobo_Corp/ToBePlayed-Deployment#12
2026-10-13 12:03:56 +02:00
lobo ad6f5575d2 feat(inbox): add expandable details to digest notes
Digest notes only showed counts. Now a digest note opens to list its
games and items, grouped by kind. The list loads once, from
GET /api/inbox/{id}/details. Achievements show 5 per game first.
2026-10-13 09:17:41 +02:00
lobo 0924600d95 perf(library): one dashboard call, stored game detail first
Build, Test & Push Frontend / quality-check (push) Successful in 36s
Build, Test & Push Frontend / docker (push) Successful in 28s
The Dashboard loads the top and playing tiles from
GET /api/library/dashboard-games in one call. The game page shows the
stored game first (refresh=false) and calls again only when
achievementsStale is true. The second answer merges the achievement
fields; it takes status and finishedHint only when the user did not
change the status. The points check runs again after the refresh.

Refs #47
2026-10-12 09:25:49 +02:00
lobo bbc707de87 feat(sync): add Set to 100% button for all-unlocked games
Build, Test & Push Frontend / quality-check (push) Successful in 40s
Build, Test & Push Frontend / docker (push) Successful in 23s
The sync details show a Set to 100% button for ALL_UNLOCKED games.
The button uses the existing status PUT, checks points, and reloads
the Dashboard. Refs #21
2026-10-11 16:22:49 +02:00
lobo 84b16a2ca8 feat(questions): list and restore removed games
Build, Test & Push Frontend / quality-check (push) Successful in 36s
Build, Test & Push Frontend / docker (push) Successful in 26s
Add a "Removed games" section on the questions page and an Undo
toast after removing a manual game (#39).
2026-10-11 09:52:11 +02:00
lobo c126592887 feat(points): show early finish and expected points on questions
Build, Test & Push Frontend / quality-check (push) Successful in 36s
Build, Test & Push Frontend / docker (push) Successful in 24s
Core pays 10 early points for an unproven Steam finish. The rest
comes with proof. Show this in the toast and the game line.
Questions cards show the full value from GET /api/rewards/expected.
2026-10-09 16:00:06 +02:00
lobo 814decc781 feat(points): show points result on every status save
Core now settles on GET /api/rewards/games/{appid}. The Frontend
shows a toast, refreshes the header balance, and lists the paid
rows and reasons on the game page. Deploy Core first.
2026-10-09 15:25:04 +02:00
lobo 9adc606c57 feat(library): show set total playtime on dashboard cards
Most played and currently playing cards show the total playtime of
the game set. Use the own minutes when the API sends no total.
2026-10-09 14:35:07 +02:00
lobo f1a6bc0443 feat(library): show playtime per platform on game detail
Hero and library card show the set total. Fall back to the
row's own minutes when the API sends no total.
2026-10-09 13:55:57 +02:00
lobo 16651a1f56 feat(library): add platform badges, remove hide duplicates
Gitea #34 slice 2 of 3. Core lists each set once now.
The hide duplicates toggle and its param are not needed.
PlatformIcons shows a badge per platform (platforms[]).
2026-10-09 11:31:11 +02:00
lobo 25cc5ff2d8 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.
2026-10-09 10:57:23 +02:00
lobo e136a7abc1 feat(library): add source chips to game library
Chips show only when the user has 2 or more sources.
A selected source the user lacks stays visible, so it can be cleared.
2026-10-09 10:03:05 +02:00
lobo d3ad19e2fa feat(questions): add questions page with open count badge
Add /questions page and a nav badge with the open count.
Core decides which question is open. The page only shows and answers.
Move RatingStars out of BacklogCard so both pages share it.
2026-10-09 09:31:48 +02:00
lobo e7b08cfb47 feat(psn): show trophy sets on game detail and dashboard
Build, Test & Push Frontend / quality-check (push) Successful in 35s
Build, Test & Push Frontend / docker (push) Successful in 33s
Detail page groups achievements by set: Steam, then PSN trophies.
Tiles show the real count; a perfect game gets an amber trophy.
Dashboard card shows for PSN-only users; CSP allows PSN icons.
2026-10-08 09:18:15 +02:00
lobo 27c402fa34 feat(psn): replace PSN import button with sync review
Remove the PSN import tab; linking now starts a sync.
Show the PSN review link, last played date and PSN expiry notes.
PSN rows hide the hours field; unchecked titles you saw are dismissed,
unseen ones stay open.
2026-10-08 08:15:37 +02:00
lobo 6ae2abee07 feat(play-next): add FRIENDS row and reason text
Shows games from followed users. Reason displays friend name and finish
or playtime status. Supports reroll without mood. Added English and
German translations.
2026-10-07 09:42:10 +02:00
lobo e041c71cf8 feat(play-next): add series and studio rows
Build, Test & Push Frontend / quality-check (push) Successful in 34s
Build, Test & Push Frontend / docker (push) Successful in 23s
2026-10-06 20:22:53 +02:00
lobo df3d6d2537 feat(play-next): show picks as category rows with reroll per row
Four rows: up next, because you played, longest on list, mood.
Each row rerolls alone and tracks its own loading state.
Mood change reloads only the mood row. Phones scroll each row
sideways; wider screens show 3 columns.
2026-10-06 19:41:24 +02:00
lobo 43c4862606 feat(ui): add follow button, follows card, and inbox page
Build, Test & Push Frontend / quality-check (push) Successful in 34s
Build, Test & Push Frontend / docker (push) Successful in 23s
2026-10-06 16:22:22 +02:00
lobo 3aed243e35 feat(ui): add people lists for game owners and community stats
Build, Test & Push Frontend / quality-check (push) Successful in 47s
Build, Test & Push Frontend / docker (push) Successful in 22s
2026-10-06 13:19:58 +02:00
lobo b213b067dc feat(library): add ordered backlog page and up-next dashboard tile
Build, Test & Push Frontend / quality-check (push) Successful in 34s
Build, Test & Push Frontend / docker (push) Successful in 24s
2026-10-06 09:06:51 +02:00
lobo c158909083 feat(games): add coming badge for unreleased games
Build, Test & Push Frontend / quality-check (push) Successful in 32s
Build, Test & Push Frontend / docker (push) Successful in 22s
2026-10-05 20:33:25 +02:00
lobo edeea5a43d feat(play-next): show why each game was picked
Build, Test & Push Frontend / quality-check (push) Successful in 1m15s
Build, Test & Push Frontend / docker (push) Successful in 2m33s
Each card shows a reason line under the game name. Issue #28.
2026-10-05 16:13:20 +02:00
lobo 13b0d5e7e9 feat(admin): add user role dialog
Admins change a user's role and see the change log. The last admin
gets a clear error when deleting their own account.
2026-10-04 20:09:22 +02:00
lobo 777ba87fd6 feat(ui): make stat numbers clickable to open games
Build, Test & Push Frontend / quality-check (push) Successful in 28s
Build, Test & Push Frontend / docker (push) Successful in 26s
StatDrill context holds one dialog for a page. StatCount wraps a number:
total and status counts link to the library filter, other numbers open
StatGamesDialog. DrillRow and DrillButton support drill-down in tag bars
(genres, platforms, moods) and other stat displays. Dialog shows 40 games
per page with bottom-sheet layout on phones, handles pagination and errors
(403 not shared, 401 expired, 400 bad argument).
2026-10-03 18:51:59 +02:00
lobo ed5df8c40d feat(effects): polish 8 effects and add 7 new engines with parallax
Build, Test & Push Frontend / quality-check (push) Successful in 32s
Build, Test & Push Frontend / docker (push) Successful in 26s
Synthwave, fireflies, snow, sakura, nebula: CSS/SVG. Matrix and
constellation: canvas. Existing engines gain depth, color, glow, and
parallax (mouse and device tilt, opt-in on iOS)
2026-10-03 17:31:19 +02:00
lobo d7810fbf94 fix(layout): fit names on phones without sideways scroll
Build, Test & Push Frontend / quality-check (push) Successful in 31s
Build, Test & Push Frontend / docker (push) Successful in 24s
Display and game names shrink to 0.875rem, then end with an ellipsis
(FitText + fit-text utility, CSS container units, full text in title).
Rows and buttons wrap at large fonts, header points chip can shrink.
Guard: scripts/check-overflow.js.
2026-10-03 12:18:31 +02:00
lobo b6f3d123fb feat(points): unlock items, progress bars and skins
Build, Test & Push Frontend / quality-check (push) Successful in 28s
Build, Test & Push Frontend / docker (push) Successful in 25s
Locked items show a progress bar until the goal is reached. Four
CSS-only skins (Pastel, Retro CRT, Cyberpunk, Steam) in skins.css,
light and dark. A skin overrides accent and corners; badges, borders,
frames, effects and game art stay on top. New Platinum shine and
Equalizer effects.
2026-10-02 15:40:46 +02:00
lobo 8598024bce feat(hint): targets, automatic hints and formatting
Target fields on the admin hints page. The dashboard shows the four
automatic hints after admin hints when their condition is true, using
data Core already serves. HintText renders **bold** and safe links (app
path or https) as React elements, never HTML, in hints and news.
Auto-close without tick hides for this session, X for 7 days, tick + X
for good.
2026-10-02 14:36:49 +02:00
lobo ae904d946a feat(audit): undo button for merges, hide manual games
Build, Test & Push Frontend / quality-check (push) Successful in 31s
Build, Test & Push Frontend / docker (push) Successful in 23s
The audit log shows Undo on a merge row for 30 days, with a confirm
dialog and clear errors. The details page follows a merged key to the
kept game. Hide and Show now work for manual games too. de/en texts.
2026-10-02 13:39:02 +02:00
lobo 0c300c455d feat(audit): game catalog search and time to beat correction
New page /audit/games: search every game and open the correction dialog
without owning it. Time to beat as hours + minutes. Audit log game links
open /audit/games?appid=. Menu entry next to the link queue.
2026-10-02 11:21:15 +02:00
lobo 6627a8db66 feat(password): add reset and change password pages
/reset-password page for the email request and the new password,
ChangePasswordCard in settings, password reset button on the admin
users page, 'Forgot password?' link on the login page, de/en texts.
2026-10-02 10:35:08 +02:00
lobo f71e8f7aff feat(library): add game links, auditor queue, audit log and filter
Build, Test & Push Frontend / quality-check (push) Successful in 25s
Build, Test & Push Frontend / docker (push) Successful in 23s
LinkGameDialog (user request or auditor link), EditionsCard on the
details page, LinkQueuePage and AuditLogPage for auditors with paging,
hideDuplicates filter and editions badge in the library, audit menu
entries, de/en texts.
2026-10-02 09:10:56 +02:00
lobo 80259cb0e9 feat(settings): remove the platform mails switch
Broadcasts go to every active user, so the settings switch and its API
call are gone. Admin broadcast texts no longer mention an opt-out.
2026-10-02 07:53:35 +02:00
lobo 6dda186bdf feat(registration): add email confirmation UI
Build, Test & Push Frontend / quality-check (push) Successful in 26s
Build, Test & Push Frontend / docker (push) Successful in 31s
New ConfirmEmailPage for users to verify their email and set password.
Resend form on registration and error pages. Registration form no
longer asks for a password. Confirmation requires a button click. The
admin list marks unconfirmed requests and offers only delete for them.
2026-10-01 16:20:51 +02:00
lobo dd45c0b5f6 feat(points): add effect engines and effects shop 2026-10-01 15:09:25 +02:00
lobo fa0857f55d feat(broadcasts): add admin broadcast page and user opt-out switch
Admin page /admin/broadcasts to write, test and send broadcasts in both
languages; confirms the recipient count before send. History shows the
counts. A new switch in settings lets users opt out of platform mails;
account mails always come. Subject and body are plain text only.
2026-10-01 14:12:34 +02:00
lobo ca3d34bad0 feat(points): balance, history and shop page
Add /points page with wallet balance, shop grouped by slot and ledger
history with game names. The wallet loads once in PreferencesContext after
login, so the header shows a balance chip and the link. Premium accents
gold and teal override the free accent while equipped. German and English.
2026-10-01 13:17:04 +02:00
lobo 22633a9e45 feat(stats): add platform statistics and landing blocks
Add PlatformStats component to stats page. Extract YearBars from
FinishedStats for reuse on landing. Add three blocks to landing: games
per platform, top genres, finished per year. Update translations.
2026-10-01 11:10:59 +02:00
lobo b129f6a6e4 feat(welcome): add welcome page for new users after first login
Shows six feature cards and two next steps (Steam, import). The dashboard
redirects to it while Auth settings.welcomeSeenAt is null; "Let's go" and
"Skip" set the stamp. Settings links to it to reopen later.
2026-10-01 10:44:22 +02:00
lobo b811255c16 feat: add What's new feature
Build, Test & Push Frontend / quality-check (push) Successful in 25s
Build, Test & Push Frontend / docker (push) Successful in 39s
Dashboard dialog shows unseen news entries. Users mark them seen with "Got it"
or revisit via the /whats-new page. Admins publish, edit, and delete entries
on /admin/news. Full i18n support and test coverage included.
2026-10-01 10:03:39 +02:00
lobo 79b086c525 feat(registration): no invite code, request text
Build, Test & Push Frontend / quality-check (push) Successful in 22s
Build, Test & Push Frontend / docker (push) Successful in 22s
2026-10-01 09:18:47 +02:00
lobo f4e69e1a94 feat(admin): accept, deny and pending count 2026-10-01 09:18:47 +02:00
lobo b8f70e7578 feat(registration): send the browser language
Build, Test & Push Frontend / quality-check (push) Successful in 22s
Build, Test & Push Frontend / docker (push) Successful in 25s
2026-10-01 08:30:24 +02:00
lobo f01ad03f6e feat(import): bookmarklet for store pages
Build, Test & Push Frontend / quality-check (push) Successful in 22s
Build, Test & Push Frontend / docker (push) Successful in 25s
2026-09-30 15:59:05 +02:00