@dashadmin/dash-admin 1.3.49 → 1.3.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -25,9 +25,9 @@ const useDashThemeContext = () => {
|
|
|
25
25
|
return context;
|
|
26
26
|
};
|
|
27
27
|
const DashThemeProvider = ({ extendedOptions, children }) => {
|
|
28
|
-
const [currentMode, setCurrentMode] = useState(
|
|
29
|
-
|
|
30
|
-
);
|
|
28
|
+
const [currentMode, setCurrentMode] = useState(() => {
|
|
29
|
+
return document.documentElement.getAttribute("data-theme") || "dark";
|
|
30
|
+
});
|
|
31
31
|
const [themeOptions, setThemeOptions] = useState(() => {
|
|
32
32
|
const initialTenantSettings = AuthPersistenceService.getTenantSettings();
|
|
33
33
|
return appTheme(extendedOptions, {
|
|
@@ -59,7 +59,6 @@ const DashThemeProvider = ({ extendedOptions, children }) => {
|
|
|
59
59
|
const recreateTheme = (tenantSettings, mode) => {
|
|
60
60
|
const settings = tenantSettings || getTenantSettings();
|
|
61
61
|
const themeMode = mode || document.documentElement.getAttribute("data-theme") || "dark";
|
|
62
|
-
console.log("Recreating MUI theme with tenant settings:", settings, "mode:", themeMode);
|
|
63
62
|
const newThemeOptions = appTheme(
|
|
64
63
|
extendedOptions,
|
|
65
64
|
{
|
|
@@ -84,10 +83,8 @@ const DashThemeProvider = ({ extendedOptions, children }) => {
|
|
|
84
83
|
if (mutation.type === "attributes" && mutation.attributeName === "data-theme") {
|
|
85
84
|
const newMode = document.documentElement.getAttribute("data-theme") || "dark";
|
|
86
85
|
if (newMode !== currentMode) {
|
|
87
|
-
console.log("Theme mode changed from", currentMode, "to", newMode);
|
|
88
86
|
setCurrentMode(newMode);
|
|
89
87
|
const settings = getTenantSettings();
|
|
90
|
-
console.log("Updating theme with new mode:", newMode, "and settings:", settings);
|
|
91
88
|
updateDomCssVariables(newMode, settings == null ? void 0 : settings.colors, settings == null ? void 0 : settings.values);
|
|
92
89
|
}
|
|
93
90
|
}
|
|
@@ -100,14 +97,12 @@ const DashThemeProvider = ({ extendedOptions, children }) => {
|
|
|
100
97
|
return () => observer.disconnect();
|
|
101
98
|
}, [currentMode]);
|
|
102
99
|
useEffect(() => {
|
|
103
|
-
console.log("Current mode updated to:", currentMode);
|
|
104
100
|
const tenantSettings = getTenantSettings();
|
|
105
101
|
recreateTheme(tenantSettings, currentMode);
|
|
106
102
|
}, [currentMode]);
|
|
107
103
|
useEffect(() => {
|
|
108
104
|
const tenantSettings = getTenantSettings();
|
|
109
105
|
if (tenantSettings) {
|
|
110
|
-
console.log("Recreating MUI theme on mount");
|
|
111
106
|
recreateTheme(tenantSettings, currentMode);
|
|
112
107
|
}
|
|
113
108
|
}, []);
|
package/package.json
CHANGED
package/src/DASHAdmin.tsx
CHANGED
|
@@ -397,6 +397,7 @@ const DASHAdminApp: React.FC<IDASHAdmin<unknown, unknown, unknown, unknown>> = R
|
|
|
397
397
|
// are present it triggers createThemeWithVars which can produce a theme with undefined
|
|
398
398
|
// breakpoints.internal_mediaKeys, crashing MUI v9's responsive sx prop handling.
|
|
399
399
|
const { colorSchemes: _cs, cssVariables: _cv, defaultColorScheme: _dcs, ...safeAdminThemeOptions } = themeOptions as any;
|
|
400
|
+
|
|
400
401
|
// Memoize AdminContext props
|
|
401
402
|
const adminContextProps = {
|
|
402
403
|
dataProvider: customDataProvider || dataProvider,
|
|
@@ -51,9 +51,9 @@ interface DashThemeProviderProps {
|
|
|
51
51
|
|
|
52
52
|
export const DashThemeProvider: React.FC<DashThemeProviderProps> = ({ extendedOptions, children }) => {
|
|
53
53
|
// Track current theme mode from data-theme attribute
|
|
54
|
-
const [currentMode, setCurrentMode] = useState<string>(() =>
|
|
55
|
-
document.documentElement.getAttribute('data-theme') || 'dark'
|
|
56
|
-
);
|
|
54
|
+
const [currentMode, setCurrentMode] = useState<string>(() => {
|
|
55
|
+
return document.documentElement.getAttribute('data-theme') || 'dark';
|
|
56
|
+
});
|
|
57
57
|
|
|
58
58
|
const [themeOptions, setThemeOptions] = useState<ReturnType<typeof appTheme>>(() => {
|
|
59
59
|
// Read persisted tenant settings on initialization to include tenant colors
|
|
@@ -97,8 +97,6 @@ export const DashThemeProvider: React.FC<DashThemeProviderProps> = ({ extendedOp
|
|
|
97
97
|
//const themeMode = mode || currentMode;
|
|
98
98
|
const themeMode = mode || document.documentElement.getAttribute('data-theme') || 'dark';
|
|
99
99
|
|
|
100
|
-
console.log('Recreating MUI theme with tenant settings:', settings, 'mode:', themeMode);
|
|
101
|
-
|
|
102
100
|
const newThemeOptions = appTheme(
|
|
103
101
|
extendedOptions,
|
|
104
102
|
{
|
|
@@ -112,14 +110,14 @@ export const DashThemeProvider: React.FC<DashThemeProviderProps> = ({ extendedOp
|
|
|
112
110
|
|
|
113
111
|
setThemeOptions(newThemeOptions);
|
|
114
112
|
setTheme(newTheme);
|
|
115
|
-
|
|
113
|
+
|
|
116
114
|
|
|
117
115
|
setAntTheme(getAntTheme({
|
|
118
116
|
tenantSettings: settings,
|
|
119
117
|
colors: settings?.colors,
|
|
120
118
|
currentMode: themeMode,
|
|
121
119
|
}));
|
|
122
|
-
|
|
120
|
+
|
|
123
121
|
updateDomCssVariables(themeMode, settings?.colors, settings?.values);
|
|
124
122
|
/*if (settings?.colors || settings?.values) {
|
|
125
123
|
updateDomCssVariables(themeMode, settings?.colors, settings?.values);
|
|
@@ -133,12 +131,8 @@ export const DashThemeProvider: React.FC<DashThemeProviderProps> = ({ extendedOp
|
|
|
133
131
|
if (mutation.type === 'attributes' && mutation.attributeName === 'data-theme') {
|
|
134
132
|
const newMode = document.documentElement.getAttribute('data-theme') || 'dark';
|
|
135
133
|
if (newMode !== currentMode) {
|
|
136
|
-
console.log('Theme mode changed from', currentMode, 'to', newMode);
|
|
137
134
|
setCurrentMode(newMode);
|
|
138
135
|
const settings = getTenantSettings();
|
|
139
|
-
|
|
140
|
-
console.log('Updating theme with new mode:', newMode, 'and settings:', settings);
|
|
141
|
-
|
|
142
136
|
updateDomCssVariables(newMode, settings?.colors, settings?.values);
|
|
143
137
|
}
|
|
144
138
|
}
|
|
@@ -157,7 +151,6 @@ export const DashThemeProvider: React.FC<DashThemeProviderProps> = ({ extendedOp
|
|
|
157
151
|
|
|
158
152
|
// React to mode changes
|
|
159
153
|
useEffect(() => {
|
|
160
|
-
console.log('Current mode updated to:', currentMode);
|
|
161
154
|
const tenantSettings = getTenantSettings();
|
|
162
155
|
recreateTheme(tenantSettings, currentMode);
|
|
163
156
|
}, [currentMode]);
|
|
@@ -165,9 +158,7 @@ export const DashThemeProvider: React.FC<DashThemeProviderProps> = ({ extendedOp
|
|
|
165
158
|
// Initial setup
|
|
166
159
|
useEffect(() => {
|
|
167
160
|
const tenantSettings = getTenantSettings();
|
|
168
|
-
|
|
169
161
|
if (tenantSettings) {
|
|
170
|
-
console.log("Recreating MUI theme on mount");
|
|
171
162
|
recreateTheme(tenantSettings, currentMode);
|
|
172
163
|
}
|
|
173
164
|
}, []);
|