From c33c404259612c312f72187241299dce430015cc Mon Sep 17 00:00:00 2001 From: jarek Date: Sun, 9 Aug 2026 10:31:28 +0200 Subject: [PATCH] reusable snapshot header, field-label, and load-progress UI components --- .../components/backup/SnapshotHeader.svelte | 62 +++++++++++++++++++ .../ui/field-label/field-label.svelte | 20 ++++++ src/lib/components/ui/field-label/index.ts | 7 +++ .../ui/snapshot-load-progress/index.ts | 7 +++ .../snapshot-load-progress.svelte | 23 +++++++ 5 files changed, 119 insertions(+) create mode 100644 src/lib/components/backup/SnapshotHeader.svelte create mode 100644 src/lib/components/ui/field-label/field-label.svelte create mode 100644 src/lib/components/ui/field-label/index.ts create mode 100644 src/lib/components/ui/snapshot-load-progress/index.ts create mode 100644 src/lib/components/ui/snapshot-load-progress/snapshot-load-progress.svelte diff --git a/src/lib/components/backup/SnapshotHeader.svelte b/src/lib/components/backup/SnapshotHeader.svelte new file mode 100644 index 0000000..7c1b9b7 --- /dev/null +++ b/src/lib/components/backup/SnapshotHeader.svelte @@ -0,0 +1,62 @@ + + +
+ + {verb} + {#if nameType === 'stack'}{:else}{/if} + {name} + {#if destinationName} + {@const RepoIcon = getRepoTypeIcon(destinationRepository ?? '')} + from + {destinationName} + {/if} + + {@render trailing?.()} + {#if snapshotId}{snapshotId.slice(0, 8)}{/if} + {#if snapshotTime} + + + taken{#if sourceEnvName} on {sourceEnvName}{/if} + {formatDateTime(snapshotTime)} + ({formatRelativeTime(snapshotTime)}) + + {/if} +
diff --git a/src/lib/components/ui/field-label/field-label.svelte b/src/lib/components/ui/field-label/field-label.svelte new file mode 100644 index 0000000..b831ebe --- /dev/null +++ b/src/lib/components/ui/field-label/field-label.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/field-label/index.ts b/src/lib/components/ui/field-label/index.ts new file mode 100644 index 0000000..97a1a45 --- /dev/null +++ b/src/lib/components/ui/field-label/index.ts @@ -0,0 +1,7 @@ +import Root from "./field-label.svelte"; + +export { + Root, + // + Root as FieldLabel, +}; diff --git a/src/lib/components/ui/snapshot-load-progress/index.ts b/src/lib/components/ui/snapshot-load-progress/index.ts new file mode 100644 index 0000000..5438035 --- /dev/null +++ b/src/lib/components/ui/snapshot-load-progress/index.ts @@ -0,0 +1,7 @@ +import Root from "./snapshot-load-progress.svelte"; + +export { + Root, + // + Root as SnapshotLoadProgress, +}; diff --git a/src/lib/components/ui/snapshot-load-progress/snapshot-load-progress.svelte b/src/lib/components/ui/snapshot-load-progress/snapshot-load-progress.svelte new file mode 100644 index 0000000..e89daa0 --- /dev/null +++ b/src/lib/components/ui/snapshot-load-progress/snapshot-load-progress.svelte @@ -0,0 +1,23 @@ + + + + + + Loading snapshots…{#if total > 1} {done} of {total} repos{/if} +