Skip to content

Commit f95c75b

Browse files
authored
Merge pull request #671 from KelvinTegelaar/dev
[pull] dev from KelvinTegelaar:dev
2 parents 4aeae5c + eb6c5e9 commit f95c75b

File tree

5 files changed

+27
-14
lines changed

5 files changed

+27
-14
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cipp",
3-
"version": "8.8.0",
3+
"version": "8.8.1",
44
"author": "CIPP Contributors",
55
"homepage": "https://cipp.app/",
66
"bugs": {
@@ -118,4 +118,4 @@
118118
"eslint": "9.35.0",
119119
"eslint-config-next": "15.5.2"
120120
}
121-
}
121+
}

public/version.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"version": "8.8.0"
3-
}
2+
"version": "8.8.1"
3+
}

src/components/CippComponents/CippTenantSelector.jsx

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ export const CippTenantSelector = (props) => {
205205

206206
// This effect handles when the URL parameter changes externally
207207
useEffect(() => {
208-
if (!router.isReady || !tenantList.isSuccess) return;
208+
if (!router.isReady || !tenantList.isSuccess || !settings.isInitialized) return;
209209

210210
// Get the current tenant from URL or settings
211211
const urlTenant = router.query.tenantFilter || settings.currentTenant;
@@ -230,11 +230,17 @@ export const CippTenantSelector = (props) => {
230230
});
231231
}
232232
}
233-
}, [router.isReady, router.query.tenantFilter, tenantList.isSuccess, settings.currentTenant]);
233+
}, [
234+
router.isReady,
235+
router.query.tenantFilter,
236+
tenantList.isSuccess,
237+
settings.currentTenant,
238+
settings.isInitialized,
239+
]);
234240

235241
// This effect ensures the tenant filter parameter is included in the URL when missing
236242
useEffect(() => {
237-
if (!router.isReady || !settings.currentTenant) return;
243+
if (!router.isReady || !settings.isInitialized || !settings.currentTenant) return;
238244

239245
// If the tenant parameter is missing from the URL but we have it in settings
240246
if (!router.query.tenantFilter && settings.currentTenant) {
@@ -248,7 +254,7 @@ export const CippTenantSelector = (props) => {
248254
{ shallow: true }
249255
);
250256
}
251-
}, [router.isReady, router.query, settings.currentTenant]);
257+
}, [router.isReady, router.query, settings.currentTenant, settings.isInitialized]);
252258

253259
useEffect(() => {
254260
if (tenant && currentTenant?.value && currentTenant?.value !== "AllTenants") {

src/contexts/settings-context.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,22 @@ export const SettingsProvider = (props) => {
132132

133133
const handleUpdate = useCallback((settings) => {
134134
setState((prevState) => {
135+
// Filter out null and undefined values to prevent resetting settings
136+
const filteredSettings = Object.entries(settings).reduce((acc, [key, value]) => {
137+
if (value !== null && value !== undefined) {
138+
acc[key] = value;
139+
}
140+
return acc;
141+
}, {});
142+
135143
storeSettings({
136144
...prevState,
137-
...settings,
145+
...filteredSettings,
138146
});
139147

140148
return {
141149
...prevState,
142-
...settings,
150+
...filteredSettings,
143151
};
144152
});
145153
}, []);

src/pages/_app.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -366,14 +366,13 @@ const App = (props) => {
366366
<LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={dateLocale}>
367367
<SettingsConsumer>
368368
{(settings) => {
369-
if (!settings.isInitialized) {
370-
}
369+
// Create theme even while initializing to avoid blank screen
371370
const theme = createTheme({
372371
colorPreset: "orange",
373-
direction: settings.direction,
372+
direction: settings.direction || "ltr",
374373
paletteMode:
375374
settings.currentTheme?.value !== "browser"
376-
? settings.currentTheme?.value
375+
? settings.currentTheme?.value || "light"
377376
: preferredTheme,
378377
contrast: "high",
379378
});

0 commit comments

Comments
 (0)