diff --git a/web/src/lib/components/empty/empty-description.svelte b/web/src/lib/components/empty/empty-description.svelte new file mode 100644 index 0000000..e4a4bc3 --- /dev/null +++ b/web/src/lib/components/empty/empty-description.svelte @@ -0,0 +1,13 @@ + + +
+ +
diff --git a/web/src/lib/components/empty/empty-simple-img.svelte b/web/src/lib/components/empty/empty-simple-img.svelte new file mode 100644 index 0000000..8911c37 --- /dev/null +++ b/web/src/lib/components/empty/empty-simple-img.svelte @@ -0,0 +1,38 @@ + + + + + + + + + + + diff --git a/web/src/lib/components/empty/empty.svelte b/web/src/lib/components/empty/empty.svelte new file mode 100644 index 0000000..cc2eea2 --- /dev/null +++ b/web/src/lib/components/empty/empty.svelte @@ -0,0 +1,23 @@ + + +
+
+ {#if !!$$slots.default} + + {:else} + + {/if} +
+ {#if !!description} + {description} + {/if} +
diff --git a/web/src/lib/components/empty/index.ts b/web/src/lib/components/empty/index.ts new file mode 100644 index 0000000..e629d6b --- /dev/null +++ b/web/src/lib/components/empty/index.ts @@ -0,0 +1,20 @@ +import Root from './empty.svelte'; +import Description from './empty-description.svelte'; +import SimpleImage from './empty-simple-img.svelte'; +import type { HTMLAttributes } from 'svelte/elements'; + +interface Props extends HTMLAttributes { + description?: string | null; +} + +export { + Root, + Description, + SimpleImage, + type Props, + // + Root as Empty, + Description as EmptyDescription, + SimpleImage as EmptySimpleImage, + type Props as EmptyProps, +}; diff --git a/web/src/routes/+page.svelte b/web/src/routes/+page.svelte index 4a5ef96..30eb75d 100644 --- a/web/src/routes/+page.svelte +++ b/web/src/routes/+page.svelte @@ -6,6 +6,7 @@ import Server from './Server.svelte'; import { Card, CardHeader, CardTitle } from '$lib/components/ui/card'; import fetchAction from '$lib/fetch-action'; + import { Empty } from '$lib/components/empty'; export let data: PageData; @@ -41,10 +42,10 @@
- {#if data.servers?.length < 1} - No Servers Found - {:else} - + + {#if data.servers?.length < 1} + + {:else} Servers @@ -56,7 +57,7 @@ }} /> {/each} - - {/if} + {/if} +
diff --git a/web/src/routes/[serverId]/+page.svelte b/web/src/routes/[serverId]/+page.svelte index 30b97c3..c24375c 100644 --- a/web/src/routes/[serverId]/+page.svelte +++ b/web/src/routes/[serverId]/+page.svelte @@ -11,6 +11,7 @@ import { CopiableText } from '$lib/components/copiable-text'; import { MiddleEllipsis } from '$lib/components/middle-ellipsis'; import { goto, invalidateAll } from '$app/navigation'; + import { Empty } from '$lib/components/empty'; export let data: PageData; @@ -97,7 +98,7 @@ - + @@ -162,17 +163,14 @@ /> {/each} - - - - - {:else} -
No Clients!
- - - +
{/if} + + + + +