PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.13.0
Code Block Pro – Beautiful Syntax Highlighting v1.13.0
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
← All changes | src/hooks/useDefaults.ts +24 -109 1.27.11.13.0 View file →
@@ -1,7 +1,8 @@
1 1 import { useEffect, useRef } from '@wordpress/element';
2 2 import { Theme } from 'shiki';
3 -import { useThemeStore, useThemeStoreReady } from '../state/theme';
3 +import { useGlobalStore } from '../state/global';
4 +import { useThemeStore } from '../state/theme';
4 5 import { AttributesPropsAndSetter } from '../types';
5 6
6 7 export const useDefaults = ({
7 8 attributes,
@@ -12,25 +13,15 @@
12 13 fontSize,
13 14 fontFamily,
14 15 lineHeight,
15 16 copyButton,
16 - copyButtonType,
17 - copyButtonString,
18 - copyButtonStringCopied,
19 17 headerType,
20 18 footerType,
21 19 clampFonts,
22 20 disablePadding,
23 21 lineNumbers,
24 - highlightingHover,
25 - tabSize,
26 - useTabs,
27 - seeMoreType,
28 - seeMoreString,
29 - seeMoreTransition,
30 - seeMoreCollapse,
31 - seeMoreCollapseString,
32 22 } = attributes;
23 + const { previousSettings } = useGlobalStore();
33 24 const {
34 25 previousTheme,
35 26 previousFontSize,
36 27 previousFontFamily,
@@ -39,157 +30,81 @@
39 30 previousFooterType,
40 31 previousClampFonts,
41 32 previousDisablePadding,
42 33 previousLineNumbers,
43 - previousHighlightingHover,
44 - previousCopyButton,
45 - previousCopyButtonType,
46 - previousCopyButtonString,
47 - previousCopyButtonStringCopied,
48 - previousTabSize,
49 - previousUseTabs,
50 - previousSeeMoreType,
51 - previousSeeMoreString,
52 - previousSeeMoreTransition,
53 - previousSeeMoreCollapse,
54 - previousSeeMoreCollapseString,
55 34 } = useThemeStore();
56 - const ready = useThemeStoreReady();
57 35 const once = useRef(false);
58 36
59 37 useEffect(() => {
60 38 if (once.current) return;
61 - if (copyButton !== undefined || !previousCopyButton) return;
62 - setAttributes({ copyButton: previousCopyButton });
63 - }, [previousCopyButton, copyButton, setAttributes]);
39 + if (copyButton !== undefined || !previousSettings.copyButton) return;
40 + setAttributes({ copyButton: previousSettings.copyButton });
41 + }, [previousSettings, copyButton, setAttributes]);
64 42
65 43 useEffect(() => {
66 44 if (once.current) return;
67 - if (copyButtonType) return;
68 - setAttributes({ copyButtonType: previousCopyButtonType });
69 - }, [previousCopyButtonType, copyButtonType, setAttributes]);
70 -
71 - useEffect(() => {
72 - if (once.current) return;
73 - // Checks undefined to avoid invalidating old blocks
74 - if (copyButtonString || copyButtonString === undefined) return;
75 - setAttributes({ copyButtonString: previousCopyButtonString });
76 - }, [previousCopyButtonString, copyButtonString, setAttributes]);
77 -
78 - useEffect(() => {
79 - if (once.current) return;
80 - // Checks undefined to avoid invalidating old blocks
81 - if (copyButtonStringCopied || copyButtonStringCopied === undefined) {
82 - return;
83 - }
84 - const cpyP = previousCopyButtonStringCopied;
85 - setAttributes({ copyButtonStringCopied: cpyP });
86 - }, [previousCopyButtonStringCopied, copyButtonStringCopied, setAttributes]);
87 -
88 - useEffect(() => {
89 - if (once.current) return;
90 - if (theme) return;
45 + if (theme || !previousTheme) return;
91 46 setAttributes({ theme: previousTheme as Theme });
92 47 }, [previousTheme, theme, setAttributes]);
93 48
94 49 useEffect(() => {
95 50 if (once.current) return;
96 - if (fontSize) return;
51 + if (fontSize || !previousFontSize) return;
97 52 setAttributes({ fontSize: previousFontSize });
98 53 }, [previousFontSize, fontSize, setAttributes]);
99 54
100 55 useEffect(() => {
101 56 if (once.current) return;
102 - if (fontFamily || fontFamily === '') return;
57 + if (fontFamily || fontFamily === '' || previousFontFamily === undefined)
58 + return;
103 59 setAttributes({ fontFamily: previousFontFamily });
104 60 }, [previousFontFamily, fontFamily, setAttributes]);
105 61
106 62 useEffect(() => {
107 63 if (once.current) return;
108 - if (lineHeight) return;
64 + if (lineHeight || !previousLineHeight) return;
109 65 setAttributes({ lineHeight: previousLineHeight });
110 66 }, [previousLineHeight, lineHeight, setAttributes]);
111 67
112 68 useEffect(() => {
113 69 if (once.current) return;
114 - if (headerType) return;
70 + if (headerType || !previousHeaderType) return;
115 71 setAttributes({ headerType: previousHeaderType });
116 72 }, [previousHeaderType, headerType, setAttributes]);
117 73
118 74 useEffect(() => {
119 75 if (once.current) return;
120 - if (footerType !== undefined) return;
76 + if (footerType !== undefined || previousFooterType === undefined)
77 + return;
121 78 setAttributes({ footerType: previousFooterType });
122 79 }, [previousFooterType, footerType, setAttributes]);
123 80
124 81 useEffect(() => {
125 82 if (once.current) return;
126 - if (clampFonts !== undefined) return;
83 + if (clampFonts !== undefined || previousClampFonts === undefined)
84 + return;
127 85 setAttributes({ clampFonts: previousClampFonts });
128 86 }, [previousClampFonts, clampFonts, setAttributes]);
129 87
130 88 useEffect(() => {
131 89 if (once.current) return;
132 - if (disablePadding !== undefined) return;
90 + if (
91 + disablePadding !== undefined ||
92 + previousDisablePadding === undefined
93 + )
94 + return;
133 95 setAttributes({ disablePadding: previousDisablePadding });
134 96 }, [previousDisablePadding, disablePadding, setAttributes]);
135 97
136 98 useEffect(() => {
137 99 if (once.current) return;
138 - if (lineNumbers !== undefined) return;
100 + if (lineNumbers !== undefined || previousLineNumbers === undefined)
101 + return;
139 102 setAttributes({ lineNumbers: previousLineNumbers });
140 103 }, [previousLineNumbers, lineNumbers, setAttributes]);
141 104
142 105 useEffect(() => {
143 - if (once.current) return;
144 - if (tabSize !== undefined) return;
145 - setAttributes({ tabSize: previousTabSize });
146 - }, [previousTabSize, tabSize, setAttributes]);
147 -
148 - useEffect(() => {
149 - if (once.current) return;
150 - if (useTabs !== undefined) return;
151 - setAttributes({ useTabs: previousUseTabs });
152 - }, [previousUseTabs, useTabs, setAttributes]);
153 -
154 - useEffect(() => {
155 - if (once.current) return;
156 - if (seeMoreType !== undefined) return;
157 - setAttributes({ seeMoreType: previousSeeMoreType });
158 - }, [previousSeeMoreType, seeMoreType, setAttributes]);
159 -
160 - useEffect(() => {
161 - if (once.current) return;
162 - if (seeMoreString !== undefined) return;
163 - setAttributes({ seeMoreString: previousSeeMoreString });
164 - }, [previousSeeMoreString, seeMoreString, setAttributes]);
165 -
166 - useEffect(() => {
167 - if (once.current) return;
168 - if (seeMoreTransition !== undefined) return;
169 - setAttributes({ seeMoreTransition: previousSeeMoreTransition });
170 - }, [previousSeeMoreTransition, seeMoreTransition, setAttributes]);
171 -
172 - useEffect(() => {
173 - if (once.current) return;
174 - if (seeMoreCollapse !== undefined) return;
175 - setAttributes({ seeMoreCollapse: previousSeeMoreCollapse });
176 - }, [previousSeeMoreCollapse, seeMoreCollapse, setAttributes]);
177 -
178 - useEffect(() => {
179 - if (once.current) return;
180 - if (seeMoreCollapseString !== undefined) return;
181 - setAttributes({ seeMoreCollapseString: previousSeeMoreCollapseString });
182 - }, [previousSeeMoreCollapseString, seeMoreCollapseString, setAttributes]);
183 -
184 - useEffect(() => {
185 - if (once.current) return;
186 - if (highlightingHover !== undefined) return;
187 - setAttributes({ highlightingHover: previousHighlightingHover });
188 - }, [previousHighlightingHover, highlightingHover, setAttributes]);
189 -
190 - useEffect(() => {
191 106 requestAnimationFrame(() => {
192 107 once.current = true;
193 108 });
194 - }, [ready]);
109 + }, []);
195 110 };