fix(ThemeCreator): saving and editing with images not working

This commit is contained in:
SethBurkart123
2024-10-05 21:38:52 +10:00
parent 6597ff9075
commit 7555b0ff14
2 changed files with 17 additions and 8 deletions
+6 -7
View File
@@ -9,19 +9,18 @@ export const saveTheme = async (theme: LoadedCustomTheme) => {
console.debug('Theme to save:', theme);
/* remove blob urls from theme */
const updatedTheme = { ...theme, CustomImages: theme.CustomImages.map((image) => ({ ...image, blob: null })) }
await localforage.setItem(theme.id, updatedTheme);
console.log('stage 1')
await localforage.setItem(theme.id, theme);
console.log('stage 2')
await localforage.getItem('customThemes').then((themes: unknown) => {
const themeList = themes as string[] | null;
if (themeList) {
if (!themeList.includes(updatedTheme.id)) {
themeList.push(updatedTheme.id);
if (!themeList.includes(theme.id)) {
themeList.push(theme.id);
localforage.setItem('customThemes', themeList);
}
} else {
localforage.setItem('customThemes', [updatedTheme.id]);
localforage.setItem('customThemes', [theme.id]);
}
});
console.debug('Theme saved successfully!');
+11 -1
View File
@@ -25,6 +25,7 @@
import { ClearThemePreview, UpdateThemePreview } from '@/seqta/ui/themes/UpdateThemePreview'
import { saveTheme } from '@/seqta/ui/themes/saveTheme'
import { CloseThemeCreator } from '@/seqta/ui/ThemeCreator'
import { themeUpdates } from '../hooks/ThemeUpdates'
const { themeID } = $props<{ themeID: string }>()
let theme = $state<LoadedCustomTheme>({
@@ -88,9 +89,18 @@
function submitTheme() {
console.log('saving theme', theme)
const themeClone = JSON.parse(JSON.stringify(theme));
// re-insert blobs into themeClone
themeClone.CustomImages = theme.CustomImages.map((image) => ({
...image,
blob: image.blob
}))
themeClone.coverImage = theme.coverImage
ClearThemePreview();
saveTheme(theme);
saveTheme(themeClone);
themeUpdates.triggerUpdate();
CloseThemeCreator();
}