diff --git a/packages/web/src/stores.ts b/packages/web/src/stores.ts index 78d051184..d422956ec 100644 --- a/packages/web/src/stores.ts +++ b/packages/web/src/stores.ts @@ -228,6 +228,12 @@ currentTheme.subscribe(value => { }); export const getCurrentTheme = () => currentThemeValue; +let extensionsValue: ExtensionsDirectory = null; +extensions.subscribe(value => { + extensionsValue = value; +}); +export const getExtensions = () => extensionsValue; + export const currentThemeDefinition = derived( [currentTheme, extensions, systemThemeStore], ([$currentTheme, $extensions, $systemTheme]) => { @@ -239,7 +245,9 @@ currentThemeDefinition.subscribe(value => { if (value?.themeType && getCurrentTheme()) { localStorage.setItem('currentThemeType', value?.themeType); } else { - localStorage.removeItem('currentThemeType'); + if (extensionsValue?.themes?.length > 0) { + localStorage.removeItem('currentThemeType'); + } } }); export const openedConnectionsWithTemporary = derived( @@ -388,12 +396,6 @@ export const getCurrentDatabase = () => currentDatabaseValue; let currentSettingsValue = null; export const getCurrentSettings = () => currentSettingsValue || {}; -let extensionsValue: ExtensionsDirectory = null; -extensions.subscribe(value => { - extensionsValue = value; -}); -export const getExtensions = () => extensionsValue; - let openedConnectionsValue = null; openedConnections.subscribe(value => { openedConnectionsValue = value; diff --git a/packages/web/src/widgets/SpecialPageLayout.svelte b/packages/web/src/widgets/SpecialPageLayout.svelte index 71534d19b..e57700961 100644 --- a/packages/web/src/widgets/SpecialPageLayout.svelte +++ b/packages/web/src/widgets/SpecialPageLayout.svelte @@ -3,6 +3,8 @@ import { getConfig } from '../utility/metadataLoaders'; import { handleAuthOnStartup } from '../clientAuth'; import { setConfigForPermissions } from '../utility/hasPermission'; + import { visibleTitleBar } from '../stores'; + import TitleBar from './TitleBar.svelte'; async function loadApi() { try { @@ -21,10 +23,22 @@ loadApi(); }); + + const isDark = + localStorage.getItem('currentThemeType') === 'dark' || + (!localStorage.getItem('currentThemeType') && + window.matchMedia && + window.matchMedia('(prefers-color-scheme: dark)').matches); -
-
DbGate
+
+ {#if $visibleTitleBar} +
+ +
+ {/if} + +
DbGate