Compare commits

..

No commits in common. "73dc1772e2cad1c35b220dda2db2d3afad697d03" and "70b8b1ec1d401616aeb953d8462f9e5670f1c7f0" have entirely different histories.

View file

@ -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