From dbbe3749e2613d8c799e156fcf07b76aa3404ae7 Mon Sep 17 00:00:00 2001 From: Josh Wright Date: Fri, 9 Oct 2026 10:05:12 -0400 Subject: [PATCH] Show provisioning timestamps and step offsets (Refs #89) --- docs/development/ui-patterns.md | 5 +++ src/lib/ui/components/OperationTime.svelte | 16 +++++++ .../ui/components/ProvisioningActivity.svelte | 6 +-- .../ui/components/ProvisioningProgress.svelte | 12 +++--- src/lib/ui/duration.ts | 15 +++++++ src/routes/provisioning/[id]/+page.svelte | 42 ++++++++++++------- 6 files changed, 73 insertions(+), 23 deletions(-) create mode 100644 src/lib/ui/components/OperationTime.svelte diff --git a/docs/development/ui-patterns.md b/docs/development/ui-patterns.md index c0d4dd3..562fc1a 100644 --- a/docs/development/ui-patterns.md +++ b/docs/development/ui-patterns.md @@ -98,6 +98,11 @@ timestamps without an offset are UTC; never parse them as browser-local time. Receipt freshness uses the browser clock and shows Paused or a retry reason when updates are unavailable. These clocks are not live regions. +Provisioning detail pages show absolute start and finish times once in the +summary. Use `OperationTime` for their steps, checks and activity: offsets from +the operation start (`+m:ss` or `+h:mm:ss`), with negative offsets for earlier +evidence. Missing timestamps stay **Not recorded**. + Use `plural` or `countLabel` from `src/lib/ui/plural.ts` for count-dependent language, including verbs: `plural(count, 'needs', 'need')`. The helper uses `Intl.PluralRules`; supply irregular plural forms explicitly. Keep separators diff --git a/src/lib/ui/components/OperationTime.svelte b/src/lib/ui/components/OperationTime.svelte new file mode 100644 index 0000000..f1c9840 --- /dev/null +++ b/src/lib/ui/components/OperationTime.svelte @@ -0,0 +1,16 @@ + + +{#if iso}{:else}{missing}{/if} + + diff --git a/src/lib/ui/components/ProvisioningActivity.svelte b/src/lib/ui/components/ProvisioningActivity.svelte index 16358e2..2e40bdc 100644 --- a/src/lib/ui/components/ProvisioningActivity.svelte +++ b/src/lib/ui/components/ProvisioningActivity.svelte @@ -1,5 +1,5 @@