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.
This commit is contained in:
lobo committed 2026-10-09 15:25:04 +02:00
1 parent 9adc606c57
commit 814decc781
20 files changed
+429 -12

No files matched your search

+33 -3
View File
@@ -1181,11 +1181,41 @@
"RULES": {
"STARTED": "5 Punkte, wenn du ein Spiel von deinem Stapel startest und spielst (Steam-Spiele, einmal pro Spiel).",
"FINISHED": "30, 50 oder 80 Punkte, wenn du ein Spiel durchspielst (nach seiner Spielzeit), sofern du es wirklich gespielt hast. Einmal pro Spiel.",
"COMPLETED": "+40 Punkte, wenn du in einem abgeschlossenen Spiel 100 % der Erfolge hast.",
"FINISHED_MANUAL": "15 Punkte für ein manuelles Spiel, das du durchspielst, höchstens 3 pro Woche.",
"COMPLETED": "+40 Punkte, wenn du in einem abgeschlossenen Spiel 100 % der Erfolge hast. Es braucht ein belegtes Steam-Durchspielen; ein manuelles öffnet es nie.",
"FINISHED_MANUAL": "15 Punkte für ein manuelles Spiel, das du durchspielst, höchstens 3 pro Woche (Montag bis Sonntag). Ein 4. Spiel in dieser Woche zahlt nichts.",
"MONTH": "40 Punkte, wenn dein Stapel am Monatsende kleiner ist als am Monatsanfang und du in dem Monat ein Spiel durchgespielt hast.",
"STREAK": "20 Punkte für jede Woche mit einem beendeten Spiel nach einer Woche mit einem beendeten Spiel.",
"UNLOCK": "Gegenstände mit Schloss kann man nicht kaufen. Sie werden einmal und für immer freigeschaltet, wenn du ihr Ziel erreichst."
"UNLOCK": "Gegenstände mit Schloss kann man nicht kaufen. Sie werden einmal und für immer freigeschaltet, wenn du ihr Ziel erreichst.",
"PROOF": "Ein Steam-Spiel braucht als Beweis frisches Spielen: den Abschluss-Erfolg (höchstens 30 Tage vor dem Durchspielen freigeschaltet), Spielzeit ab 30 Tage vor dem Durchspielen oder die halbe Normalzeit danach gespielt.",
"ONCE": "Jede Art zahlt einmal pro Spiel. Editionen eines Spiels zählen als eines.",
"PLAYSTATION": "PlayStation-Spielzeit zahlt nichts und ist kein Beweis. Ein Spiel, das mit einem PlayStation-Titel verknüpft ist, zahlt vorerst nichts.",
"HIDDEN": "Versteckte Spiele zahlen nichts.",
"CHECKED": "Punkte werden geprüft, wenn du einen Status änderst, ein Spiel oder die App öffnest, und jede Nacht.",
"STARTER": "Durchgespielte Spiele aus der Zeit vor dem Status-Verlauf bekamen einmal Startpunkte (20 pro Spiel, höchstens 250)."
},
"GAME": {
"PAID": "{{kind}}: {{points}} Punkte, bezahlt am {{date}}",
"OTHER_EDITION": "(andere Edition des Spiels)",
"WAITING": "Durchgespielt: wartet auf Beweis. Spiele das Spiel nach dem Durchspielen einmal.",
"WAITING_START": "Gestartet: spiele das Spiel einmal, um die 5 Punkte zu bekommen.",
"NONE": "{{kind}}: keine Punkte - {{reason}}",
"TOAST_BOOKED": "+{{count}} Punkte",
"TOAST_PAID": "Schon bezahlt am {{date}}",
"TOAST_NONE": "Noch keine Punkte: {{reason}}",
"TOAST_STATUS": "Dieser Status bringt keine Punkte"
},
"REASONS": {
"HIDDEN": "das Spiel ist ausgeblendet",
"PLAYSTATION": "PlayStation-Spiele zahlen nichts",
"PLAYSTATION_LINKED": "das Spiel ist mit einem PlayStation-Titel verknüpft (zahlt vorerst nichts)",
"BEFORE_HISTORY": "durchgespielt, bevor der Status-Verlauf begann (siehe Startpunkte)",
"MANUAL_GAME": "ein manuelles Spiel hat keine Spielzeit als Beweis",
"NO_PLAY_AFTER_START": "seit dem Start nicht gespielt",
"NO_PLAYTIME": "keine Spielzeit erfasst",
"NO_PROOF": "kein Beweis für frisches Spielen, spiele einmal nach dem Durchspielen",
"WEEKLY_LIMIT": "Wochenlimit erreicht",
"NEEDS_PROVEN_FINISH": "braucht zuerst ein bewiesenes Durchspielen",
"NOT_ALL_ACHIEVEMENTS": "nicht alle Erfolge freigeschaltet"
},
"SLOTS": {
"AVATAR_BORDER": "Avatarrahmen",
+33 -3
View File
@@ -1181,11 +1181,41 @@
"RULES": {
"STARTED": "5 points when you start a game from your pile and play it (Steam games, once per game).",
"FINISHED": "30, 50 or 80 points when you finish a game (by its time to beat), if you really played it. Once per game.",
"COMPLETED": "+40 points when you reach 100 % achievements in a completed game.",
"FINISHED_MANUAL": "15 points for a manual game you finish, at most 3 per week.",
"COMPLETED": "+40 points when you reach 100 % achievements in a completed game. It needs a proven Steam finish; a manual finish never opens it.",
"FINISHED_MANUAL": "15 points for a manual game you finish, at most 3 per week (Monday to Sunday). A 4th finish in that week pays nothing.",
"MONTH": "40 points when your pile is smaller at the end of a month than at its start and you finished a game that month.",
"STREAK": "20 points for every week with a finished game after a week with a finished game.",
"UNLOCK": "Items with a lock cannot be bought. They unlock once, for good, when you reach their goal."
"UNLOCK": "Items with a lock cannot be bought. They unlock once, for good, when you reach their goal.",
"PROOF": "A Steam finish needs proof of fresh play: the ending achievement (not older than 30 days before the finish), any play from 30 days before the finish on, or half of the normal time played after it.",
"ONCE": "Each kind pays once per game. Editions of one game count as one.",
"PLAYSTATION": "PlayStation play pays nothing and is no proof. A game linked to a PlayStation title pays nothing for now.",
"HIDDEN": "Hidden games pay nothing.",
"CHECKED": "Points are checked when you change a status, open a game or the app, and every night.",
"STARTER": "Finishes from before the status history got starter points once (20 per game, 250 at most)."
},
"GAME": {
"PAID": "{{kind}}: {{points}} points, paid on {{date}}",
"OTHER_EDITION": "(other edition of the game)",
"WAITING": "Finished: waiting for proof. Play the game once after finishing.",
"WAITING_START": "Started: play the game once to get the 5 points.",
"NONE": "{{kind}}: no points - {{reason}}",
"TOAST_BOOKED": "+{{count}} points",
"TOAST_PAID": "Already paid on {{date}}",
"TOAST_NONE": "No points yet: {{reason}}",
"TOAST_STATUS": "This status earns no points"
},
"REASONS": {
"HIDDEN": "the game is hidden",
"PLAYSTATION": "PlayStation games pay nothing",
"PLAYSTATION_LINKED": "the game is linked to a PlayStation title (pays nothing for now)",
"BEFORE_HISTORY": "finished before the status history began (see starter points)",
"MANUAL_GAME": "a manual game has no play time to prove it",
"NO_PLAY_AFTER_START": "no play since the start",
"NO_PLAYTIME": "no play time on record",
"NO_PROOF": "no proof of fresh play, play once after finishing",
"WEEKLY_LIMIT": "weekly limit reached",
"NEEDS_PROVEN_FINISH": "needs a proven finish first",
"NOT_ALL_ACHIEVEMENTS": "not all achievements unlocked"
},
"SLOTS": {
"AVATAR_BORDER": "Avatar border",