diff --git a/web/package-lock.json b/web/package-lock.json index 318aedaa..fa609f93 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "license": "CC-BY-NC-SA-4.0", "dependencies": { + "@fontsource-variable/noto-sans-mono": "^5.0.20", "@fontsource/ibm-plex-mono": "^5.0.13", "@tabler/icons-svelte": "^3.6.0" }, @@ -403,6 +404,11 @@ "node": ">=12" } }, + "node_modules/@fontsource-variable/noto-sans-mono": { + "version": "5.0.20", + "resolved": "https://registry.npmjs.org/@fontsource-variable/noto-sans-mono/-/noto-sans-mono-5.0.20.tgz", + "integrity": "sha512-Mik/wbKjiir7t+KBaDZnPZ5GjDnPOXpMF7obmFeyRa528ZsrKcFiSn4ZvArrn3sJMCp/k23wakOcXOWlGNc9cw==" + }, "node_modules/@fontsource/ibm-plex-mono": { "version": "5.0.13", "resolved": "https://registry.npmjs.org/@fontsource/ibm-plex-mono/-/ibm-plex-mono-5.0.13.tgz", diff --git a/web/package.json b/web/package.json index a675b11d..ad8cc3f1 100644 --- a/web/package.json +++ b/web/package.json @@ -30,6 +30,7 @@ "vite": "^5.0.3" }, "dependencies": { + "@fontsource-variable/noto-sans-mono": "^5.0.20", "@fontsource/ibm-plex-mono": "^5.0.13", "@tabler/icons-svelte": "^3.6.0" } diff --git a/web/src/components/save/Omnibox.svelte b/web/src/components/save/Omnibox.svelte new file mode 100644 index 00000000..5926135b --- /dev/null +++ b/web/src/components/save/Omnibox.svelte @@ -0,0 +1,111 @@ + + +
+
+ + + isFocused = true} + on:focus={() => isFocused = true} + on:blur={() => isFocused = false} + + spellcheck="false" + autocomplete="off" + autocapitalize="off" + maxlength="256" + + placeholder="paste the link here" + aria-label="link input area" + > + + {#if link.length > 0} + link = ""} /> + {/if} + {#if validLink(link)} + + {/if} +
+
+ + diff --git a/web/src/components/save/buttons/ClearButton.svelte b/web/src/components/save/buttons/ClearButton.svelte new file mode 100644 index 00000000..76f20d3e --- /dev/null +++ b/web/src/components/save/buttons/ClearButton.svelte @@ -0,0 +1,15 @@ + + + + + diff --git a/web/src/components/save/buttons/DownloadButton.svelte b/web/src/components/save/buttons/DownloadButton.svelte new file mode 100644 index 00000000..a9b09945 --- /dev/null +++ b/web/src/components/save/buttons/DownloadButton.svelte @@ -0,0 +1,54 @@ + + + + + diff --git a/web/src/components/sidebar/CobaltLogo.svelte b/web/src/components/sidebar/CobaltLogo.svelte index aa269f20..9cb25ff2 100644 --- a/web/src/components/sidebar/CobaltLogo.svelte +++ b/web/src/components/sidebar/CobaltLogo.svelte @@ -10,7 +10,7 @@ display: flex; justify-content: center; align-items: center; - padding: calc(var(--sidebar-padding) * 2 - 2px); + padding: calc(var(--padding) * 2 - 2px); } @media screen and (max-width: 535px) { #cobalt-logo { diff --git a/web/src/components/sidebar/Sidebar.svelte b/web/src/components/sidebar/Sidebar.svelte index 43b4cf58..64671620 100644 --- a/web/src/components/sidebar/Sidebar.svelte +++ b/web/src/components/sidebar/Sidebar.svelte @@ -60,7 +60,7 @@ } #sidebar { - background: black; + background: var(--secondary); height: 100vh; position: sticky; width: var(--sidebar-width); @@ -69,7 +69,7 @@ #sidebar-tabs { height: 100%; justify-content: space-between; - padding-bottom: var(--sidebar-padding); + padding-bottom: var(--padding); overflow: scroll; } @@ -94,7 +94,8 @@ display: block; position: absolute; pointer-events: none; - background: linear-gradient(90deg, + background: linear-gradient( + 90deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 4%, rgba(0, 0, 0, 0) 50%, diff --git a/web/src/components/sidebar/SidebarTab.svelte b/web/src/components/sidebar/SidebarTab.svelte index cd86711e..c868295e 100644 --- a/web/src/components/sidebar/SidebarTab.svelte +++ b/web/src/components/sidebar/SidebarTab.svelte @@ -24,15 +24,15 @@ align-items: center; text-align: center; gap: 5px; - padding: var(--sidebar-padding) 5px; - color: var(--accent); + padding: var(--padding) 5px; + color: var(--primary); font-size: var(--sidebar-font-size); opacity: 0.8; } .sidebar-tab.active { - color: var(--background); - background: var(--accent); + color: var(--secondary); + background: var(--primary); opacity: 1; } @@ -42,7 +42,7 @@ @media screen and (max-width: 535px) { .sidebar-tab { - padding: 5px var(--sidebar-padding); + padding: 5px var(--padding); min-width: calc(var(--sidebar-width) / 2); } .sidebar-tab.active { diff --git a/web/src/routes/+layout.svelte b/web/src/routes/+layout.svelte index 0ef57b2a..48bb34bd 100644 --- a/web/src/routes/+layout.svelte +++ b/web/src/routes/+layout.svelte @@ -13,20 +13,32 @@ diff --git a/web/static/meowbalt/smile.png b/web/static/meowbalt/smile.png new file mode 100644 index 00000000..e4b1824e Binary files /dev/null and b/web/static/meowbalt/smile.png differ