set local storage upon reading or updating settings

This commit is contained in:
Will Chen
2025-04-21 18:53:53 -07:00
parent 3b17ace46b
commit 05dec6d140

View File

@@ -38,6 +38,7 @@ export function useSettings() {
ipcClient.getUserSettings(), ipcClient.getUserSettings(),
ipcClient.getEnvVars(), ipcClient.getEnvVars(),
]); ]);
processSettingsForTelemetry(userSettings);
setSettingsAtom(userSettings); setSettingsAtom(userSettings);
setEnvVarsAtom(fetchedEnvVars); setEnvVarsAtom(fetchedEnvVars);
setError(null); setError(null);
@@ -60,22 +61,7 @@ export function useSettings() {
const ipcClient = IpcClient.getInstance(); const ipcClient = IpcClient.getInstance();
const updatedSettings = await ipcClient.setUserSettings(newSettings); const updatedSettings = await ipcClient.setUserSettings(newSettings);
setSettingsAtom(updatedSettings); setSettingsAtom(updatedSettings);
if (updatedSettings.telemetryConsent) { processSettingsForTelemetry(updatedSettings);
window.localStorage.setItem(
TELEMETRY_CONSENT_KEY,
updatedSettings.telemetryConsent
);
} else {
window.localStorage.removeItem(TELEMETRY_CONSENT_KEY);
}
if (updatedSettings.telemetryUserId) {
window.localStorage.setItem(
TELEMETRY_USER_ID_KEY,
updatedSettings.telemetryUserId
);
} else {
window.localStorage.removeItem(TELEMETRY_USER_ID_KEY);
}
setError(null); setError(null);
return updatedSettings; return updatedSettings;
@@ -116,3 +102,22 @@ export function useSettings() {
}, },
}; };
} }
function processSettingsForTelemetry(settings: UserSettings) {
if (settings.telemetryConsent) {
window.localStorage.setItem(
TELEMETRY_CONSENT_KEY,
settings.telemetryConsent
);
} else {
window.localStorage.removeItem(TELEMETRY_CONSENT_KEY);
}
if (settings.telemetryUserId) {
window.localStorage.setItem(
TELEMETRY_USER_ID_KEY,
settings.telemetryUserId
);
} else {
window.localStorage.removeItem(TELEMETRY_USER_ID_KEY);
}
}