aboutsummaryrefslogtreecommitdiff
path: root/web/ui/src/lib/components
diff options
context:
space:
mode:
Diffstat (limited to 'web/ui/src/lib/components')
-rw-r--r--web/ui/src/lib/components/BrandMark.svelte7
-rw-r--r--web/ui/src/lib/components/Footer.svelte8
-rw-r--r--web/ui/src/lib/components/Toasts.svelte12
3 files changed, 27 insertions, 0 deletions
diff --git a/web/ui/src/lib/components/BrandMark.svelte b/web/ui/src/lib/components/BrandMark.svelte
new file mode 100644
index 0000000..0feab32
--- /dev/null
+++ b/web/ui/src/lib/components/BrandMark.svelte
@@ -0,0 +1,7 @@
+<span class="brand-mark" aria-hidden="true">
+ <svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
+ <rect x="4" y="6" width="24" height="3" rx="1.5" fill="currentColor" />
+ <rect x="4" y="14" width="18" height="3" rx="1.5" fill="currentColor" opacity="0.7" />
+ <rect x="4" y="22" width="12" height="3" rx="1.5" fill="currentColor" opacity="0.4" />
+ </svg>
+</span>
diff --git a/web/ui/src/lib/components/Footer.svelte b/web/ui/src/lib/components/Footer.svelte
new file mode 100644
index 0000000..8042f64
--- /dev/null
+++ b/web/ui/src/lib/components/Footer.svelte
@@ -0,0 +1,8 @@
+<footer class="app-footer">
+ <div class="container app-footer-inner">
+ <p class="app-footer-line">
+ Need something &mdash; email us at
+ <a href="mailto:contact@tidyindex.com">contact@tidyindex.com</a>
+ </p>
+ </div>
+</footer>
diff --git a/web/ui/src/lib/components/Toasts.svelte b/web/ui/src/lib/components/Toasts.svelte
new file mode 100644
index 0000000..3d66b3f
--- /dev/null
+++ b/web/ui/src/lib/components/Toasts.svelte
@@ -0,0 +1,12 @@
+<script lang="ts">
+ import { toasts } from '$lib/stores/toasts';
+</script>
+
+<div class="toast-container" aria-live="polite" aria-atomic="true">
+ {#each $toasts as t (t.id)}
+ <div class="toast toast-{t.kind}">
+ <span class="toast-dot"></span>
+ <span>{t.message}</span>
+ </div>
+ {/each}
+</div>