diff --git a/src/interface/components/themes/ThemeSelector.svelte b/src/interface/components/themes/ThemeSelector.svelte
index d6b6ce56..dd1254ad 100644
--- a/src/interface/components/themes/ThemeSelector.svelte
+++ b/src/interface/components/themes/ThemeSelector.svelte
@@ -96,11 +96,6 @@
onDestroy(() => {
themeUpdates.removeListener(fetchThemes);
})
-
- $effect(() => {
- if (!themes) return;
- console.log(themes.selectedTheme);
- })
): Promise {
console.debug('[ThemeManager] Updating theme preview');
try {
- // Store original settings if not already stored
- if (this.originalPreviewColor === null) {
- this.originalPreviewColor = settingsState.selectedColor;
- }
- if (this.originalPreviewTheme === null) {
- this.originalPreviewTheme = settingsState.DarkMode;
+ // Only store original settings if this is a new theme (not editing)
+ // We can tell it's a new theme if it has no webURL (which is set when a theme is saved/loaded)
+ if (!theme.webURL) {
+ if (this.originalPreviewColor === null) {
+ this.originalPreviewColor = settingsState.selectedColor;
+ }
+ if (this.originalPreviewTheme === null) {
+ this.originalPreviewTheme = settingsState.DarkMode;
+ }
}
// Apply CSS if changed
@@ -548,12 +555,14 @@ export class ThemeManager {
this.previousImageVariableNames = newImageVariableNames;
}
- // Update theme settings
- if (theme.forceDark !== undefined) {
- settingsState.DarkMode = theme.forceDark;
- }
- if (theme.defaultColour) {
- settingsState.selectedColor = theme.defaultColour;
+ // Update theme settings only if this is a new theme
+ if (!theme.webURL) {
+ if (theme.forceDark !== undefined) {
+ settingsState.DarkMode = theme.forceDark;
+ }
+ if (theme.defaultColour) {
+ settingsState.selectedColor = theme.defaultColour;
+ }
}
} catch (error) {
console.error('[ThemeManager] Error updating theme preview:', error);