diff --git a/packages/web/package.json b/packages/web/package.json
index a7b6d7ce1..f51ebaede 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -45,7 +45,7 @@
"rollup-plugin-terser": "^7.0.0",
"sirv-cli": "^1.0.0",
"sql-formatter": "^2.3.3",
- "svelte": "^3.43.0",
+ "svelte": "^3.46.4",
"svelte-check": "^1.0.0",
"svelte-markdown": "^0.1.4",
"svelte-preprocess": "^4.9.5",
diff --git a/packages/web/src/settings/SettingsModal.svelte b/packages/web/src/settings/SettingsModal.svelte
index 7e639a1cf..3d4f8f536 100644
--- a/packages/web/src/settings/SettingsModal.svelte
+++ b/packages/web/src/settings/SettingsModal.svelte
@@ -11,7 +11,9 @@
import ModalBase from '../modals/ModalBase.svelte';
import { closeCurrentModal } from '../modals/modalTools';
+ import { extensions } from '../stores';
import getElectron from '../utility/getElectron';
+ import ThemeSkeleton from './ThemeSkeleton.svelte';
const electron = getElectron();
let restartWarning = false;
@@ -70,6 +72,14 @@
disabled={values['connection.autoRefresh'] === false}
/>
+
+ Application theme
+
+ {#each $extensions.themes as theme}
+
+ {/each}
+
+
@@ -87,4 +97,9 @@
margin-left: var(--dim-large-form-margin);
margin-top: var(--dim-large-form-margin);
}
+
+ .themes {
+ overflow-x: scroll;
+ display: flex;
+ }
diff --git a/packages/web/src/settings/ThemeSkeleton.svelte b/packages/web/src/settings/ThemeSkeleton.svelte
new file mode 100644
index 000000000..298b6eb65
--- /dev/null
+++ b/packages/web/src/settings/ThemeSkeleton.svelte
@@ -0,0 +1,93 @@
+
+
+{#if theme.themeCss}
+ {@html getThemeStyle(theme)}
+{/if}
+
+
{
+ $currentTheme = theme.themeClassName;
+ }}
+>
+
+
+
+
+
+
+ {theme.themeName}
+
+
+
+
+
diff --git a/yarn.lock b/yarn.lock
index 1bfbdedcc..b46d51761 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10151,10 +10151,10 @@ svelte-select@^4.4.7:
resolved "https://registry.yarnpkg.com/svelte-select/-/svelte-select-4.4.7.tgz#fc85414af070487d68e438f7249c653178860af3"
integrity sha512-fIf9Z8rPI6F8naHZ9wjXT0Pv5gLyhdHAFkHFJnCfVVfELE8e82uOoF0xEVQP6Kir+b4Q5yOvNAzZ61WbSU6A0A==
-svelte@^3.43.0:
- version "3.43.0"
- resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.43.0.tgz#d28d06ec523bf0cea3de15558a3241c339a85762"
- integrity sha512-T2pMPHrxXp+SM8pLLUXLQgkdo+JhTls7aqj9cD7z8wT2ccP+OrCAmtQS7h6pvMjitaZhXFNnCK582NxDpy8HSw==
+svelte@^3.46.4:
+ version "3.46.4"
+ resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.46.4.tgz#0c46bc4a3e20a2617a1b7dc43a722f9d6c084a38"
+ integrity sha512-qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==
symbol-tree@^3.2.2, symbol-tree@^3.2.4:
version "3.2.4"