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.
This commit is contained in:
lobo committed 2026-09-24 08:57:03 +02:00
1 parent 2c1f22f4b4
commit 44e23de6d6
6 files changed
+343 -22

No files matched your search

+5 -3
View File
@@ -82,7 +82,7 @@ export default function SettingsPage() {
reset({
useDarkTheme: !!data.settings?.useDarkTheme,
language: data.settings?.language || 'en',
steamId: data.steamId ? String(data.steamId) : '',
steamId: data.steamId ?? '',
});
} catch (err) {
console.error('Settings load error:', err);
@@ -128,6 +128,8 @@ export default function SettingsPage() {
return {ok: false};
}
const data = await response.json();
localStorage.setItem('tbp_jwt', data.token); // Core reads the steamId from the token
setFeedback({message: t('SETTINGS.SAVED'), isError: false});
return {ok: true};
} catch (err) {
@@ -143,7 +145,7 @@ export default function SettingsPage() {
await persistSettings({
useDarkTheme: next,
language: i18n.language,
steamId: profile?.steamId ?? 0,
steamId: profile?.steamId ?? null,
});
};
@@ -153,7 +155,7 @@ export default function SettingsPage() {
await persistSettings({
useDarkTheme: isDarkMode,
language: next,
steamId: profile?.steamId ?? 0,
steamId: profile?.steamId ?? null,
});
};