forked from React-Group/interstellar_ai
Compare commits
No commits in common. "73dc1772e2cad1c35b220dda2db2d3afad697d03" and "70b8b1ec1d401616aeb953d8462f9e5670f1c7f0" have entirely different histories.
73dc1772e2
...
70b8b1ec1d
1 changed files with 8 additions and 29 deletions
|
@ -15,8 +15,7 @@ import {
|
||||||
changeSettings,
|
changeSettings,
|
||||||
createAccount,
|
createAccount,
|
||||||
deleteAccount,
|
deleteAccount,
|
||||||
getSettings,
|
getSettings
|
||||||
sendToDatabase
|
|
||||||
} from '../../backend/database';
|
} from '../../backend/database';
|
||||||
import ThemeDropdown from './DropDownTheme';
|
import ThemeDropdown from './DropDownTheme';
|
||||||
|
|
||||||
|
@ -300,13 +299,11 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const useName = localStorage.getItem("accountName");
|
let useName = localStorage.getItem("accountName")
|
||||||
const usePassword = localStorage.getItem("accountPassword");
|
let usePassword = localStorage.getItem("accountPassword")
|
||||||
|
|
||||||
if (useName && usePassword) {
|
if (useName && usePassword) {
|
||||||
importDatabase(useName, usePassword);
|
importDatabase(useName, usePassword)
|
||||||
}
|
}
|
||||||
|
|
||||||
const savedTheme = localStorage.getItem('selectedTheme');
|
const savedTheme = localStorage.getItem('selectedTheme');
|
||||||
if (savedTheme) {
|
if (savedTheme) {
|
||||||
setSelectedTheme(savedTheme);
|
setSelectedTheme(savedTheme);
|
||||||
|
@ -315,26 +312,9 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
|
||||||
}, []); // Runs only once when the component mounts
|
}, []); // Runs only once when the component mounts
|
||||||
|
|
||||||
const importDatabase = async (useName : string, usePassword : string) => {
|
const importDatabase = async (useName : string, usePassword : string) => {
|
||||||
const databaseSettings = await getSettings(useName, usePassword);
|
const databaseSettings = await getSettings(useName, usePassword)
|
||||||
|
importSettings(databaseSettings)
|
||||||
// Ensure user settings exist before flattening and storing
|
|
||||||
if (typeof databaseSettings == 'object' && databaseSettings) {
|
|
||||||
JSON.stringify(importSettings(databaseSettings), null, 2); // Pass only the current user's settings
|
|
||||||
} else {
|
|
||||||
console.error('Database settings are not in the expected format.');
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
const sendToDatabase = async () => {
|
|
||||||
let useName = localStorage.getItem("accountName")
|
|
||||||
let usePassword = localStorage.getItem("accountPassword")
|
|
||||||
if (useName && usePassword) {
|
|
||||||
if (await changeSettings(useName, usePassword, JSON.parse(exportSettings()))) {
|
|
||||||
alert('Data has been transferred')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Effect hooks to update localStorage whenever any state changes
|
// Effect hooks to update localStorage whenever any state changes
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Flatten nested objects
|
// Flatten nested objects
|
||||||
|
@ -385,7 +365,7 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await createAccount(useName, useEmail, usePassword)) {
|
if (await createAccount(useName, useEmail, usePassword)) {
|
||||||
if (await changeSettings(useName, usePassword, settings)) {
|
if (await changeSettings(useName, usePassword, handleExport)) {
|
||||||
localStorage.setItem("currentName", useName)
|
localStorage.setItem("currentName", useName)
|
||||||
localStorage.setItem("currentPassword", usePassword)
|
localStorage.setItem("currentPassword", usePassword)
|
||||||
localStorage.setItem("currentEmail", useEmail)
|
localStorage.setItem("currentEmail", useEmail)
|
||||||
|
@ -794,7 +774,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
|
||||||
<button className="apply" onClick={async () => {
|
<button className="apply" onClick={async () => {
|
||||||
getAllLocalStorageItems();
|
getAllLocalStorageItems();
|
||||||
closeSettings();
|
closeSettings();
|
||||||
sendToDatabase();
|
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
}}>
|
}}>
|
||||||
Apply
|
Apply
|
||||||
|
|
Loading…
Reference in a new issue