| @@ -5,13 +5,15 @@ | ||
| 5 | 5 | |
| 6 | 6 | type ThemeType = { |
| 7 | 7 | previousTheme: string; |
| 8 | 8 | previousLineHeight: string; |
| 9 | - previousFontFamily: string; | |
| 9 | + previousFontFamily?: string; | |
| 10 | 10 | previousFontSize: string; |
| 11 | 11 | previousHeaderType: string; |
| 12 | - previousClampFonts: boolean; | |
| 13 | - previousDisablePadding: boolean; | |
| 12 | + previousFooterType?: string; | |
| 13 | + previousClampFonts?: boolean; | |
| 14 | + previousDisablePadding?: boolean; | |
| 15 | + previousLineNumbers?: boolean; | |
| 14 | 16 | updateThemeHistory: (settings: Partial<Attributes>) => void; |
| 15 | 17 | }; |
| 16 | 18 | const path = '/wp/v2/settings'; |
| 17 | 19 | const getSettings = async (name: string) => { |
| @@ -25,13 +27,15 @@ | ||
| 25 | 27 | devtools( |
| 26 | 28 | (set) => ({ |
| 27 | 29 | previousTheme: 'nord', |
| 28 | 30 | previousLineHeight: '1.25rem', |
| 29 | - previousFontFamily: '', | |
| 31 | + previousFontFamily: undefined, | |
| 30 | 32 | previousFontSize: '.875rem', |
| 31 | 33 | previousHeaderType: 'headlights', |
| 32 | - previousClampFonts: false, | |
| 33 | - previousDisablePadding: false, | |
| 34 | + previousFooterType: undefined, | |
| 35 | + previousClampFonts: undefined, | |
| 36 | + previousDisablePadding: undefined, | |
| 37 | + previousLineNumbers: undefined, | |
| 34 | 38 | updateThemeHistory(attributes) { |
| 35 | 39 | set((state) => ({ |
| 36 | 40 | ...state, |
| 37 | 41 | previousTheme: attributes.theme, |
| @@ -38,10 +42,12 @@ | ||
| 38 | 42 | previousLineHeight: attributes.lineHeight, |
| 39 | 43 | previousFontFamily: attributes.fontFamily, |
| 40 | 44 | previousFontSize: attributes.fontSize, |
| 41 | 45 | previousHeaderType: attributes.headerType, |
| 46 | + previousFooterType: attributes.footerType, | |
| 42 | 47 | previousClampFonts: attributes.clampFonts, |
| 43 | 48 | previousDisablePadding: attributes.disablePadding, |
| 49 | + previousLineNumbers: attributes.lineNumbers, | |
| 44 | 50 | })); |
| 45 | 51 | }, |
| 46 | 52 | }), |
| 47 | 53 | { name: 'Code Block Pro Theme Settings' }, |
| @@ -51,9 +57,9 @@ | ||
| 51 | 57 | getStorage: () => ({ |
| 52 | 58 | getItem: async (name: string) => { |
| 53 | 59 | const settings = await getSettings(name); |
| 54 | 60 | return JSON.stringify({ |
| 55 | - version: settings.version, | |
| 61 | + version: settings?.version ?? 0, | |
| 56 | 62 | state: settings, |
| 57 | 63 | }); |
| 58 | 64 | }, |
| 59 | 65 | setItem: async (name: string, value: string) => { |