import { app } from "electron"; import { existsSync, readFileSync, writeFileSync } from "node:fs"; import { join } from "node:path"; type DesktopSettings = { downloadFolder: string }; const SETTINGS_FILE = join(app.getPath("userData"), "settings.json"); function defaults(): DesktopSettings { return { downloadFolder: join(app.getPath("music"), "Aurora SpotiRip") }; } export function loadSettings(): DesktopSettings { try { if (existsSync(SETTINGS_FILE)) { return { ...defaults(), ...JSON.parse(readFileSync(SETTINGS_FILE, "utf8")) }; } } catch { } return defaults(); } export function saveSettings(changes: Partial) { const next = { ...loadSettings(), ...changes }; writeFileSync(SETTINGS_FILE, JSON.stringify(next, null, 2)); applySettings(next); return next; } export function applySettings(settings = loadSettings()) { process.env.SPOTIRIP_DOWNLOAD_FOLDER = settings.downloadFolder; }