Commit Graph
53 Commits
Author SHA1 Message Date
lobo 2cacc88844 docs: rewrite the readme with screenshots for the public showcase
Build, Test & Push Frontend / quality-check (push) Successful in 15s
Build, Test & Push Frontend / docker (push) Successful in 26s
2026-09-25 08:22:56 +02:00
lobo 83494519f9 feat(dashboard): pick the banner game or turn the banner off
Build, Test & Push Frontend / quality-check (push) Successful in 13s
Build, Test & Push Frontend / docker (push) Successful in 24s
2026-09-24 15:35:48 +02:00
lobo 23e502bf5b feat(dashboard): Steam avatar and a banner from the most played game 2026-09-24 15:27:33 +02:00
lobo 2c360c9421 feat(appearance): accent color, corners, wide layout and game art background 2026-09-24 15:06:16 +02:00
lobo 91d5672421 feat(library): time to beat, short-games filter and backlog hours 2026-09-24 14:40:41 +02:00
lobo fd343da4be feat(profile): public profile page and the switch in settings
/u/<name> shows a public profile without login. Settings get the switch and
the link; every settings save now sends the other saved values, and removing
the display name also makes the profile private.
2026-09-24 14:18:32 +02:00
lobo aa5124ea1e feat(library): Steam wishlist tab with prices and discounts
The library page gets a Bibliothek | Wunschliste tab bar. The wishlist shows
the current store price, the discount and can show only games on sale.
2026-09-24 13:58:44 +02:00
lobo 89c5ba5253 feat(dashboard): playtime chart, recently played and a playing hint
The dashboard shows the playtime of the last 30 days and Steam's recently
played games. The detail page offers to set a backlog game to Playing when
Steam reports recent playtime; unsaved edits in the backlog card stay.
2026-09-24 13:41:37 +02:00
lobo d4c0f8d8f3 feat(auth): tell the user when the session expired
Every 401 from Auth or Core now goes through useSessionExpired: the login page
says the session expired and returns to the last page after login. App no
longer removes a token that only the browser clock calls expired, so a backend
401 is the one signal. A 403 on the profile now shows an error instead.
2026-09-24 13:29:09 +02:00
lobo 03259d0515 feat(library): sort by rating and priority 2026-09-24 13:17:12 +02:00
lobo bad11807e0 test: component tests with jsdom and Testing Library
First tests cover the library search debounce (fails on the old looping
version), the Pile of Shame states and the backlog save body. jsdom is
enabled per test file, so the plain util tests stay in the node environment.
2026-09-24 12:06:34 +02:00
lobo c24c22d5ed feat(dashboard): currently playing and pile of shame tiles
Build, Test & Push Frontend / quality-check (push) Successful in 10s
Build, Test & Push Frontend / docker (push) Successful in 22s
Pile of Shame shows the backlog count and share, a status bar and a random
backlog pick. Both tiles show the first-sync text while the initial sync runs;
a failed summary load shows a retry button.
2026-09-24 11:25:12 +02:00
lobo f94e0aff15 feat(library): backlog status, rating, notes and priority in the UI
Build, Test & Push Frontend / quality-check (push) Successful in 7s
Build, Test & Push Frontend / docker (push) Successful in 31s
Detail page gets an edit card. The library gets status badges, status filter
chips and a debounced name search, both kept in the URL.
2026-09-24 11:04:42 +02:00
lobo 7b676f0a1e feat(profile): set a display name and greet with it on the dashboard
Settings: new Profil card with display name and Steam ID. Registration: optional display name. The dashboard falls back to the email prefix when no display name is set.
2026-09-24 10:45:56 +02:00
lobo 6773040d59 fix(login): translated error messages for failed and rate-limited logins
Map INVALID_CREDENTIALS and TOO_MANY_ATTEMPTS to i18n keys. A non-JSON error body (Traefik 502/504) no longer shows as a network error.
2026-09-24 10:29:57 +02:00
lobo e480369a98 feat(ui): modern shadcn/ui theme with violet accent across all pages
Build, Test & Push Frontend / quality-check (push) Successful in 8s
Build, Test & Push Frontend / docker (push) Successful in 26s
Add shadcn/ui (Radix + Tailwind 4) components, zinc/violet theme tokens and self-hosted Inter. New header with user menu, Steam cover art, skeletons and toasts. Replace @mdi/font with lucide-react. Fix: top-owned list on the landing page only showed with top-played entries; numbers use the app language.
2026-09-24 10:07:32 +02:00
lobo 76a9ac3e6f feat(dashboard): new layout with sync button and top 5 most played
Remove the placeholder tiles and the settings tile, fix the mobile header width. iconUrl/formatPlaytime move to utils/games.js (599 min now shows 10h, not 10.0h), and the sync button logic to the useForceSync hook shared with the library.
2026-09-24 09:49:06 +02:00
lobo 84e31b23ea docs(imprint): update postal address 2026-09-24 09:49:06 +02:00
lobo 4b821b89df fix(nginx): revalidate index.html and translations on every load
i18n/*.json and index.html keep their names across deploys, so browsers kept old files and showed raw keys like NAV.DASHBOARD. Hashed /assets/ now get a one-year immutable cache.
2026-09-24 09:32:06 +02:00
lobo 95c1f54f62 chore(deps): update React to 19.3, Vite to 8.3, react-router to 7.18 and Tailwind to 4.3
Build, Test & Push Frontend / quality-check (push) Successful in 7s
Build, Test & Push Frontend / docker (push) Successful in 31s
Minor and patch updates only. zod 4, @hookform/resolvers 5 and i18next-http-backend 4 stay out because they are major versions.
2026-09-24 08:57:07 +02:00
lobo 8fa605aff0 feat(nav): add header navigation and show Steam ID on dashboard
Header links to Dashboard, Library and Settings. The logo, the login page and
the landing page lead logged-in users to the dashboard. Expired tokens are
removed, and a 403 on the dashboard logs out. Remove the dev dummy token.
2026-09-24 08:57:03 +02:00
lobo 44e23de6d6 fix(settings): keep Steam ID as string and store the new token
Number("76561198005679788") is 76561198005679790 in JavaScript, so the wrong
Steam ID was saved. The Steam ID now stays a 17-digit string. Theme and
language saves no longer send steamId 0. After a save the new token from Auth
replaces the old one.

Add Vitest and run it in CI.
2026-09-24 08:57:03 +02:00
Andreas DahmandClaude Opus 4.7 2c1f22f4b4 Add Frontend-owned product roadmap to README
Build, Test & Push Frontend / quality-check (push) Successful in 6s
Build, Test & Push Frontend / docker (push) Successful in 29s
Captures the Frontend UX slices of the cross-service product roadmap:
backlog tracking UI (status chips, filter bar, drag-reorder, game
detail), "what to play next" page, achievement views, public profile
route, friends + compare-backlogs, PWA / mobile, and UX details
(search, optimistic updates, keyboard shortcuts, empty states).
Cross-links to the umbrella roadmap in ToBePlayed-Deployment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 14:51:35 +02:00
Andreas Dahm ddaed4d9e1 Changed README.md
Build, Test & Push Frontend / quality-check (push) Successful in 6s
Build, Test & Push Frontend / docker (push) Successful in 31s
2026-05-11 14:40:12 +02:00
Andreas Dahm 38976e3240 Added more details and a landing page
Build, Test & Push Frontend / quality-check (push) Successful in 6s
Build, Test & Push Frontend / docker (push) Successful in 26s
2026-05-04 15:13:24 +02:00
Andreas Dahm 950f7d2b80 Merge pull request 'feature/add-settings-and-registration' (#3) from feature/add-settings-and-registration into main
Build, Test & Push Frontend / quality-check (push) Successful in 8s
Build, Test & Push Frontend / docker (push) Successful in 22s
Reviewed-on: https://codeberg.org/LoboTheDark/ToBePlayed-Frontend/pulls/3
2026-05-04 11:53:38 +02:00
Andreas Dahm 459b5b6f2d Added sync status 2026-05-04 11:51:11 +02:00
Andreas Dahm 8b290d5a13 Displaying the game library with server side pagination 2026-05-04 11:48:08 +02:00
Andreas Dahm 994f4a516b Added dev state to ui 2026-04-29 10:47:53 +02:00
Andreas Dahm 9569bbcd70 Added counter for steam game counts 2026-04-28 15:41:38 +02:00
Andreas Dahm 2b5f77f0b9 Added registration and settings page 2026-04-23 09:04:12 +02:00
lobo b34234caa1 Fixed translation stuff
Build, Test & Push Frontend / quality-check (push) Successful in 11s
Build, Test & Push Frontend / docker (push) Successful in 37s
2026-04-18 11:28:48 +02:00
lobo 62203de1a9 changed auth subdomain
Build, Test & Push Frontend / quality-check (push) Successful in 6s
Build, Test & Push Frontend / docker (push) Successful in 20s
2026-04-06 09:46:16 +02:00
lobo 6667b7a347 Added logout button
Build, Test & Push Frontend / quality-check (push) Successful in 6s
Build, Test & Push Frontend / docker (push) Successful in 20s
2026-04-04 10:54:58 +02:00
lobo 9fd438aa66 fixed warning
Build, Test & Push Frontend / quality-check (push) Successful in 6s
Build, Test & Push Frontend / docker (push) Successful in 21s
2026-04-04 10:49:33 +02:00
lobo 6e2a23c3ef Added routing, jwt handling and Dashboard.jsx 2026-04-04 10:49:14 +02:00
lobo af4eb58e35 Merge remote-tracking branch 'origin/main'
Build, Test & Push Frontend / quality-check (push) Successful in 6s
Build, Test & Push Frontend / docker (push) Successful in 22s
2026-03-31 19:44:28 +02:00
lobo eab7a9edcf Call backend now with answer 2026-03-31 19:44:13 +02:00
lobo 18860d3c00 .gitea/workflows/docker-publish.yml aktualisiert
Build, Test & Push Frontend / quality-check (push) Successful in 5s
Build, Test & Push Frontend / docker (push) Successful in 39s
2026-03-28 13:00:28 +01:00
lobo ed4920fc01 .gitea/workflows/docker-publish.yml aktualisiert
Build, Test & Push Frontend / quality-check (push) Successful in 5s
Build, Test & Push Frontend / docker (push) Failing after 9s
2026-03-28 12:57:52 +01:00
lobo 1bb549c4df Update nginx.conf
Build, Test & Push Frontend / quality-check (push) Successful in 6s
Build, Test & Push Frontend / docker (push) Successful in 28s
2026-03-28 12:33:34 +01:00
lobo 2e63b7cfcc README.md aktualisiert
Build, Test & Push Frontend / quality-check (push) Successful in 5s
Build, Test & Push Frontend / docker (push) Successful in 36s
2026-03-28 10:49:50 +01:00
lobo a3c90d4628 Changed wokflow
Build, Test & Push Frontend / quality-check (push) Successful in 9s
Build, Test & Push Frontend / docker (push) Failing after 10s
2026-03-28 10:41:20 +01:00
LoboTheDark 597890495e .forgejo/workflows/docker-publish.yml aktualisiert 2026-03-28 10:16:53 +01:00
Andreas Dahm 3e962a113c Merge pull request 'fesature/basic-login' (#2) from fesature/basic-login into main
Reviewed-on: https://codeberg.org/LoboTheDark/ToBePlayed-Frontend/pulls/2
2026-03-28 10:11:26 +01:00
lobo a8e12ad14c Update LandingPage.jsx 2026-03-28 10:10:46 +01:00
lobo 490fa2fa93 Add Dockerfile, nginx config and publish CI
Add a multi-stage Dockerfile to build the React app (node:24-alpine, npm ci, npm run build) and serve the compiled /app/dist via nginx:alpine. Include nginx.conf that routes unknown paths to /index.html so React Router works in a SPA. Add a CI workflow (.forgejo/workflows/docker-publish.yml) to build and push the Docker image to Codeberg Container Registry on pushes to main (requires CODEBERG_TOKEN repository secret and tags the image as codeberg.org/${{ github.repository }}:latest).
2026-03-28 10:10:09 +01:00
lobo d9c3f40c4a Add pages, update App layout and i18n
Introduce LandingPage, LoginPage and ImprintPage components and replace the previous inline placeholders in App.jsx. Update App layout and header (branding, language toggle, dark mode toggle, route wiring) and use new i18n keys (IMPRINT and LOGIN) in en/de locales. Add client-side validation and UI for the login form. Remove unused assets/icons (public/icons.svg, src/assets/hero.png, vite.svg, vue.svg). Small logging/message tweaks and various Tailwind styling refinements.
2026-03-28 10:02:59 +01:00
lobo c8f1d66cd2 Add i18n, routing and dark-mode support
Introduce internationalization and basic routing: add i18n initialization (src/i18n.js), translation files (public/i18n/en.json, de.json), and wire i18n into the app (import in main.jsx). Update App.jsx to use react-router (BrowserRouter, Routes) and react-i18next (useTranslation), provide simple Landing/Login/Imprint pages, a language toggle and a dark-mode toggle. Add dependencies in package.json (i18next, i18next-http-backend, react-i18next, react-router-dom) and small Tailwind style tweak (custom-variant for dark) in src/style.css.
2026-03-28 09:29:39 +01:00
Andreas Dahm 7ff53c0f6c Merge pull request 'Changed app from vue to react' (#1) from reactTry into main
Reviewed-on: https://codeberg.org/LoboTheDark/ToBePlayed-Frontend/pulls/1
2026-03-24 15:09:05 +01:00