diff options
| author | Fuwn <[email protected]> | 2026-05-24 13:22:34 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-05-24 13:22:34 +0000 |
| commit | 56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch) | |
| tree | a620f908405fa48fd601580c5a48432831ec5c33 /src/lib/Home/LastActivity.svelte | |
| parent | fix(layout): preserve list panel when clicking action buttons in summary (diff) | |
| download | due.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.svelte | 10 |
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} |