diff --git a/src/app.css b/src/app.css index eb66385..2ea8d70 100644 --- a/src/app.css +++ b/src/app.css @@ -2,27 +2,44 @@ :root { --font-family: 'Manrope', sans-serif; + --text-one: hsl(206, 100%, 94%); --surface-one: hsl(206, 100%, 94%); + --primary: hsl(206, 100%, 81%); + --secondary: hsl(208, 75%, 82%); + --tertiary: hsla(205, 91%, 69%, 0.15); + --background-one: hsl(252, 10%, 11%); --surface-two: hsl(252, 10%, 11%); + --surface-three: hsl(210, 14%, 17%); + --surface-four: hsl(212, 19%, 19%); --text-two: hsl(212, 19%, 19%); + --border: hsl(221, 17%, 26%); --surface-five: hsl(221, 17%, 26%); + --text-three: hsl(226, 48%, 18%); + --text-four: hsl(208, 30%, 75%); --surface-six: hsl(208, 30%, 75%); - --surface-seven: hsl(230, 9%, 13%); - --surface-eight: hsl(240, 9%, 13.5%); - --surface-nine: hsl(230, 9.5%, 17.5%); - --red-one: hsl(333, 84%, 62%); - --bezier-one: cubic-bezier(0.25, 0.46, 0.45, 0.94); + --surface-seven: hsl(230, 9%, 13%); + + --surface-eight: hsl(240, 9%, 13.5%); + + --surface-nine: hsl(230, 9.5%, 17.5%); + + --red-one: hsl(333, 84%, 62%); + --red-two: hsl(357, 74%, 60%); + + --yellow-one: hsl(59, 100%, 72%); + + --bezier-one: ease-out; --drop-shadow-one: 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 2px 4px -1px rgba(0, 0, 0, 0.2); } diff --git a/src/lib/components/atoms/Button.svelte b/src/lib/components/atoms/Button.svelte index b82d6d4..e61368c 100644 --- a/src/lib/components/atoms/Button.svelte +++ b/src/lib/components/atoms/Button.svelte @@ -9,6 +9,7 @@ type: ButtonType; icon?: typeof import('~icons/mdi').default; iconColor?: string; + color?: string; label?: string; children?: Snippet; }; @@ -40,6 +41,7 @@ label = '', onclick = () => {}, iconColor = 'currentColor', + color = 'currentColor', target = '_self' }: Props = $props(); @@ -47,6 +49,14 @@ const navBarButtonSelected = type === 'navbar' && href && new URL(href, page.url.href).pathname === page.url.pathname; + +{#snippet content()} + {#if Icon} + + {/if} + {@render children?.()} +{/snippet} + {#if href} - {#if Icon} - - {/if} - {#if type === 'navbar'} - {@render children?.()} - {:else} - {@render children?.()} - {/if} + {@render content()} {:else} {/if} @@ -114,6 +114,11 @@ letter-spacing: 0.01rem; } + .button-text:hover .content { + text-decoration: underline; + text-decoration-color: currentColor; + } + button:not(.button-navbar):hover, a:not(.button-navbar):hover { filter: brightness(85%); diff --git a/src/lib/components/organisms/Banner.svelte b/src/lib/components/organisms/Banner.svelte new file mode 100644 index 0000000..8fb065d --- /dev/null +++ b/src/lib/components/organisms/Banner.svelte @@ -0,0 +1,148 @@ + + +{#if permanent} + +{:else if !closed} + +{/if} + + diff --git a/src/lib/components/organisms/NavBar.svelte b/src/lib/components/organisms/NavBar.svelte index e69de29..2dd6c67 100644 --- a/src/lib/components/organisms/NavBar.svelte +++ b/src/lib/components/organisms/NavBar.svelte @@ -0,0 +1,18 @@ + + +{#await api.general.ping() then apiUp} + {#if !apiUp} + + The API is currently unresponsive and some services may not work correctly. + {#if statusUrl} + Check the for updates. + {/if} + + {/if} +{/await}