@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
- () => document.documentElement.getAttribute("data-theme") || "dark"
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dashadmin/dash-admin",
3
- "version": "1.3.49",
3
+ "version": "1.3.51",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "scripts": {
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,
@@ -74,7 +74,7 @@ const DomainAppProviders = <U, A, R>({
74
74
  queryPersister,
75
75
  CustomEchoProvider
76
76
  }: IDomainAppProviders<U, A, R>): React.JSX.Element => {
77
-
77
+
78
78
  const content = (
79
79
  <I18nBridgeProvider>
80
80
  <DashThemeProvider extendedOptions={extendedThemeOptions}>
@@ -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
  }, []);