aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Home/LastActivity.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-05-24 13:22:34 +0000
committerFuwn <[email protected]>2026-05-24 13:22:34 +0000
commit56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch)
treea620f908405fa48fd601580c5a48432831ec5c33 /src/lib/Home/LastActivity.svelte
parentfix(layout): preserve list panel when clicking action buttons in summary (diff)
downloaddue.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.tar.xz
due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.zip
refactor(locale): move hardcoded UI strings into english locale
Adds optional namespaces (common, errors, commandPalette, headTitle, notifications, schedule, events, home, reader, routes, badgePreview, badgeWall) and extends existing ones (settings.*, lists.*, tools.*, user.*, hololive.*) on the Locale interface. New fields are optional so japanese.ts can omit them; svelte-i18n's fallbackLocale handles the runtime miss. HeadTitle gains an optional routeKey prop for type-safe lookup. defaultActions becomes a factory so the command palette re-reads locale on language toggle. The existing JP feedback translation in routes/settings is preserved via japanese.ts. Out of scope (kept hardcoded): service-worker.ts, app.html, Landing*.svelte, tools.ts registry, Easter Event 2025 pages.
Diffstat (limited to 'src/lib/Home/LastActivity.svelte')
-rw-r--r--src/lib/Home/LastActivity.svelte10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/Home/LastActivity.svelte b/src/lib/Home/LastActivity.svelte
index 4ade371a..1b4952f8 100644
--- a/src/lib/Home/LastActivity.svelte
+++ b/src/lib/Home/LastActivity.svelte
@@ -4,6 +4,8 @@ import { onMount } from "svelte";
import type { AniListAuthorisation } from "$lib/Data/AniList/identity";
import { lastActivityDate } from "../Data/AniList/lastActivity";
import settings from "$stores/settings";
+import locale from "$stores/locale";
+import { get } from "svelte/store";
let { user }: { user: AniListAuthorisation } = $props();
let lastActivityWasToday = $state(true);
@@ -34,6 +36,7 @@ const timeLeftToday = () => {
const hoursLeft = 24 - currentHour;
let minutesLeft = 0;
let timeLeft = "";
+ const l = get(locale)();
if (hoursLeft > 0) {
minutesLeft = hoursLeft * 60 - currentMinute;
@@ -42,9 +45,9 @@ const timeLeftToday = () => {
}
if (minutesLeft > 60) {
- timeLeft = `${Math.round(minutesLeft / 60)} hours`;
+ timeLeft = `${Math.round(minutesLeft / 60)} ${l.home?.lastActivity?.hoursUnit ?? "hours"}`;
} else {
- timeLeft = `${minutesLeft} minutes`;
+ timeLeft = `${minutesLeft} ${l.home?.lastActivity?.minutesUnit ?? "minutes"}`;
}
return timeLeft;
@@ -53,7 +56,6 @@ const timeLeftToday = () => {
{#if !$settings.displayDisableLastActivityWarning && !lastActivityWasToday}
<blockquote>
- You don't have any new activity statuses from the past day! Create one within {timeLeftToday()}
- to keep your streak!
+ {$locale({ values: { timeLeft: timeLeftToday() } }).home?.lastActivity?.warning}
</blockquote>
{/if}