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 -115 1.27.71.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,163 +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 - previousCopyButtonUseTextarea,
49 - previousTabSize,
50 - previousUseTabs,
51 - previousSeeMoreType,
52 - previousSeeMoreString,
53 - previousSeeMoreTransition,
54 - previousSeeMoreCollapse,
55 - previousSeeMoreCollapseString,
56 34 } = useThemeStore();
57 - const ready = useThemeStoreReady();
58 35 const once = useRef(false);
59 36
60 37 useEffect(() => {
61 38 if (once.current) return;
62 - if (copyButton !== undefined || !previousCopyButton) return;
63 - setAttributes({ copyButton: previousCopyButton });
64 - }, [previousCopyButton, copyButton, setAttributes]);
39 + if (copyButton !== undefined || !previousSettings.copyButton) return;
40 + setAttributes({ copyButton: previousSettings.copyButton });
41 + }, [previousSettings, copyButton, setAttributes]);
65 42
66 43 useEffect(() => {
67 44 if (once.current) return;
68 - if (copyButtonType) return;
69 - setAttributes({ copyButtonType: previousCopyButtonType });
70 - }, [previousCopyButtonType, copyButtonType, setAttributes]);
71 -
72 - useEffect(() => {
73 - if (once.current) return;
74 - // Checks undefined to avoid invalidating old blocks
75 - if (copyButtonString || copyButtonString === undefined) return;
76 - setAttributes({ copyButtonString: previousCopyButtonString });
77 - }, [previousCopyButtonString, copyButtonString, setAttributes]);
78 -
79 - useEffect(() => {
80 - if (once.current) return;
81 - // Checks undefined to avoid invalidating old blocks
82 - if (copyButtonStringCopied || copyButtonStringCopied === undefined) {
83 - return;
84 - }
85 - const cpyP = previousCopyButtonStringCopied;
86 - setAttributes({ copyButtonStringCopied: cpyP });
87 - }, [previousCopyButtonStringCopied, copyButtonStringCopied, setAttributes]);
88 -
89 - useEffect(() => {
90 - if (once.current) return;
91 - setAttributes({ copyButtonUseTextarea: previousCopyButtonUseTextarea });
92 - }, [previousCopyButtonUseTextarea, setAttributes]);
93 -
94 - useEffect(() => {
95 - if (once.current) return;
96 - if (theme) return;
45 + if (theme || !previousTheme) return;
97 46 setAttributes({ theme: previousTheme as Theme });
98 47 }, [previousTheme, theme, setAttributes]);
99 48
100 49 useEffect(() => {
101 50 if (once.current) return;
102 - if (fontSize) return;
51 + if (fontSize || !previousFontSize) return;
103 52 setAttributes({ fontSize: previousFontSize });
104 53 }, [previousFontSize, fontSize, setAttributes]);
105 54
106 55 useEffect(() => {
107 56 if (once.current) return;
108 - if (fontFamily || fontFamily === '') return;
57 + if (fontFamily || fontFamily === '' || previousFontFamily === undefined)
58 + return;
109 59 setAttributes({ fontFamily: previousFontFamily });
110 60 }, [previousFontFamily, fontFamily, setAttributes]);
111 61
112 62 useEffect(() => {
113 63 if (once.current) return;
114 - if (lineHeight) return;
64 + if (lineHeight || !previousLineHeight) return;
115 65 setAttributes({ lineHeight: previousLineHeight });
116 66 }, [previousLineHeight, lineHeight, setAttributes]);
117 67
118 68 useEffect(() => {
119 69 if (once.current) return;
120 - if (headerType) return;
70 + if (headerType || !previousHeaderType) return;
121 71 setAttributes({ headerType: previousHeaderType });
122 72 }, [previousHeaderType, headerType, setAttributes]);
123 73
124 74 useEffect(() => {
125 75 if (once.current) return;
126 - if (footerType !== undefined) return;
76 + if (footerType !== undefined || previousFooterType === undefined)
77 + return;
127 78 setAttributes({ footerType: previousFooterType });
128 79 }, [previousFooterType, footerType, setAttributes]);
129 80
130 81 useEffect(() => {
131 82 if (once.current) return;
132 - if (clampFonts !== undefined) return;
83 + if (clampFonts !== undefined || previousClampFonts === undefined)
84 + return;
133 85 setAttributes({ clampFonts: previousClampFonts });
134 86 }, [previousClampFonts, clampFonts, setAttributes]);
135 87
136 88 useEffect(() => {
137 89 if (once.current) return;
138 - if (disablePadding !== undefined) return;
90 + if (
91 + disablePadding !== undefined ||
92 + previousDisablePadding === undefined
93 + )
94 + return;
139 95 setAttributes({ disablePadding: previousDisablePadding });
140 96 }, [previousDisablePadding, disablePadding, setAttributes]);
141 97
142 98 useEffect(() => {
143 99 if (once.current) return;
144 - if (lineNumbers !== undefined) return;
100 + if (lineNumbers !== undefined || previousLineNumbers === undefined)
101 + return;
145 102 setAttributes({ lineNumbers: previousLineNumbers });
146 103 }, [previousLineNumbers, lineNumbers, setAttributes]);
147 104
148 105 useEffect(() => {
149 - if (once.current) return;
150 - if (tabSize !== undefined) return;
151 - setAttributes({ tabSize: previousTabSize });
152 - }, [previousTabSize, tabSize, setAttributes]);
153 -
154 - useEffect(() => {
155 - if (once.current) return;
156 - if (useTabs !== undefined) return;
157 - setAttributes({ useTabs: previousUseTabs });
158 - }, [previousUseTabs, useTabs, setAttributes]);
159 -
160 - useEffect(() => {
161 - if (once.current) return;
162 - if (seeMoreType !== undefined) return;
163 - setAttributes({ seeMoreType: previousSeeMoreType });
164 - }, [previousSeeMoreType, seeMoreType, setAttributes]);
165 -
166 - useEffect(() => {
167 - if (once.current) return;
168 - if (seeMoreString !== undefined) return;
169 - setAttributes({ seeMoreString: previousSeeMoreString });
170 - }, [previousSeeMoreString, seeMoreString, setAttributes]);
171 -
172 - useEffect(() => {
173 - if (once.current) return;
174 - if (seeMoreTransition !== undefined) return;
175 - setAttributes({ seeMoreTransition: previousSeeMoreTransition });
176 - }, [previousSeeMoreTransition, seeMoreTransition, setAttributes]);
177 -
178 - useEffect(() => {
179 - if (once.current) return;
180 - if (seeMoreCollapse !== undefined) return;
181 - setAttributes({ seeMoreCollapse: previousSeeMoreCollapse });
182 - }, [previousSeeMoreCollapse, seeMoreCollapse, setAttributes]);
183 -
184 - useEffect(() => {
185 - if (once.current) return;
186 - if (seeMoreCollapseString !== undefined) return;
187 - setAttributes({ seeMoreCollapseString: previousSeeMoreCollapseString });
188 - }, [previousSeeMoreCollapseString, seeMoreCollapseString, setAttributes]);
189 -
190 - useEffect(() => {
191 - if (once.current) return;
192 - if (highlightingHover !== undefined) return;
193 - setAttributes({ highlightingHover: previousHighlightingHover });
194 - }, [previousHighlightingHover, highlightingHover, setAttributes]);
195 -
196 - useEffect(() => {
197 106 requestAnimationFrame(() => {
198 107 once.current = true;
199 108 });
200 - }, [ready]);
109 + }, []);
201 110 };