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 @@
+
+
+
+
+
+
+
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 @@