From 761c59e4e4aaa73cd0bfa75c39a6e4804bf90ddf Mon Sep 17 00:00:00 2001 From: Sebastian Martinez Date: Tue, 27 Aug 2024 14:44:10 +0200 Subject: [PATCH] Add Header component and required components --- public/colors.css | 5 ++ public/typography.css | 5 ++ src/App.svelte | 10 ++- src/components/Header.svelte | 51 +++++++++++++++ src/components/Header/Background.svelte | 49 ++++++++++++++ src/components/Icon.svelte | 86 +++++++++++++++++++++++++ src/components/Label.svelte | 67 +++++++++++++++++++ src/lib/utils.ts | 3 + src/views/Repos.svelte | 5 ++ src/views/Startup.svelte | 3 + 10 files changed, 282 insertions(+), 2 deletions(-) create mode 100644 src/components/Header.svelte create mode 100644 src/components/Header/Background.svelte create mode 100644 src/components/Icon.svelte create mode 100644 src/components/Label.svelte create mode 100644 src/lib/utils.ts create mode 100644 src/views/Repos.svelte diff --git a/public/colors.css b/public/colors.css index 06cd02e0c..02d143200 100644 --- a/public/colors.css +++ b/public/colors.css @@ -1,4 +1,9 @@ :root { --color-background-default: #0a0d10; --color-foreground-contrast: #f9f9fb; + --color-foreground-disabled: #6a6a81; + --color-border-default: #2e2f38; + --color-background-float: #14151a; + --color-fill-float-hover: #1b1c22; + --color-fill-ghost: #24252d; } diff --git a/public/typography.css b/public/typography.css index a9dc7e84a..a2ead623b 100644 --- a/public/typography.css +++ b/public/typography.css @@ -29,6 +29,7 @@ --font-size-small: 0.875rem; /* 14px */ --font-size-regular: 1rem; /* 16px */ --font-size-medium: 1.25rem; /* 20px */ + --font-weight-semibold: 600; } html { @@ -46,3 +47,7 @@ html { .txt-medium { font-size: var(--font-size-medium); } + +.txt-semibold { + font-weight: var(--font-weight-semibold) !important; +} diff --git a/src/App.svelte b/src/App.svelte index 12ca6d815..f79b43d76 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,5 +1,11 @@ - + + + + diff --git a/src/components/Header.svelte b/src/components/Header.svelte new file mode 100644 index 000000000..8e51043ff --- /dev/null +++ b/src/components/Header.svelte @@ -0,0 +1,51 @@ + + + + +
+
+
+
+ + +
+ + +
+
+ +
+
+ +
diff --git a/src/components/Header/Background.svelte b/src/components/Header/Background.svelte new file mode 100644 index 000000000..bf244e516 --- /dev/null +++ b/src/components/Header/Background.svelte @@ -0,0 +1,49 @@ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
diff --git a/src/components/Icon.svelte b/src/components/Icon.svelte new file mode 100644 index 000000000..4c8c8d82e --- /dev/null +++ b/src/components/Icon.svelte @@ -0,0 +1,86 @@ + + + + + + + + {#if name === "arrow-left"} + + + + + + + + + + {:else if name === "arrow-right"} + + + + + + + + + + {:else if name === "plus"} + + + {:else if name === "offline"} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {:else} + {unreachable(name)} + {/if} + diff --git a/src/components/Label.svelte b/src/components/Label.svelte new file mode 100644 index 000000000..3157a044e --- /dev/null +++ b/src/components/Label.svelte @@ -0,0 +1,67 @@ + + + + +
+ {@html "
".repeat(emptyPixels)} +
+ {@html "
".repeat(emptyPixels)} + + {#if emptyPixels === 2} +
+
+
+
+
+ {/if} + +
+ {#if emptyPixels === 2} +
+ {/if} +
+ +
+ {#if emptyPixels === 2} +
+ {/if} +
+ + {#if emptyPixels === 2} +
+
+
+
+
+ {/if} + + {@html "
".repeat(emptyPixels)} +
+ {@html "
".repeat(emptyPixels)} +
diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 000000000..311b0426d --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,3 @@ +export const unreachable = (value: never): never => { + throw new Error(`Unreachable code: ${value}`); +}; diff --git a/src/views/Repos.svelte b/src/views/Repos.svelte new file mode 100644 index 000000000..367d10cea --- /dev/null +++ b/src/views/Repos.svelte @@ -0,0 +1,5 @@ + + +
diff --git a/src/views/Startup.svelte b/src/views/Startup.svelte index b73b0be80..9298b41f4 100644 --- a/src/views/Startup.svelte +++ b/src/views/Startup.svelte @@ -1,6 +1,8 @@