// settingsManager.ts

// Method to export localStorage to a JSON object
export function exportSettings(): string {
    const settings: { [key: string]: string } = {};

    // Loop through all keys in localStorage and add them to the settings object
    for (let i = 0; i < localStorage.length; i++) {
        const key = localStorage.key(i);
        if (key) {
            if (key !== "accountName" && key !== "accountPassword" && key !== "accountEmail") {
                settings[key] = localStorage.getItem(key) || "";
            }
        }
    }

    // Convert settings object to JSON string
    return JSON.stringify(settings, null, 2);
}

// Method to import settings from a JSON object, clearing old localStorage
export function importSettings(jsonData: string): void {
    try {
        const parsedSettings = JSON.parse(jsonData);

        // Loop through parsed settings and save them in localStorage
        Object.keys(parsedSettings).forEach((key) => {
            localStorage.setItem(key, parsedSettings[key]);
        });

        console.log("Settings imported successfully!");
    } catch (error) {
        console.error("Invalid JSON data:", error);
    }
}