diff --git a/package.json b/package.json index 1fa6579a..e8da2e59 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homepage", - "version": "1.67.5", + "version": "1.68.0", "private": true, "type": "module", "scripts": { diff --git a/src/lib/components/fitness/SessionCard.svelte b/src/lib/components/fitness/SessionCard.svelte index 0e448e62..d7d7822d 100644 --- a/src/lib/components/fitness/SessionCard.svelte +++ b/src/lib/components/fitness/SessionCard.svelte @@ -8,10 +8,12 @@ import Route from '@lucide/svelte/icons/route'; import Gauge from '@lucide/svelte/icons/gauge'; import Flame from '@lucide/svelte/icons/flame'; - import { detectFitnessLang, fitnessSlugs } from '$lib/js/fitnessI18n'; + import CloudOff from '@lucide/svelte/icons/cloud-off'; + import { detectFitnessLang, fitnessSlugs, m } from '$lib/js/fitnessI18n'; const lang = $derived(detectFitnessLang(page.url.pathname)); const sl = $derived(fitnessSlugs(lang)); + const t = $derived(m[lang]); /** * @type {{ @@ -30,10 +32,11 @@ * gpsPreview?: number[][], * sets: Array<{ reps?: number, weight?: number, rpe?: number, distance?: number, duration?: number }> * }> - * } + * }, + * unsynced?: boolean * }} */ - let { session } = $props(); + let { session, unsynced = false } = $props(); /** @param {number} mins */ function formatDuration(mins) { @@ -153,9 +156,17 @@ }); - +{#snippet cardBody()}
-

{session.name}

+

+ {session.name} + {#if unsynced} + + + {t.unsynced_label} + + {/if} +

{formatDate(session.startTime)} · {formatTime(session.startTime)}
@@ -207,7 +218,13 @@ {session.prs.length} PR{session.prs.length > 1 ? 's' : ''} {/if} -
+{/snippet} + +{#if unsynced} +
{@render cardBody()}
+{:else} + {@render cardBody()} +{/if}