using System.IO; using System.Text.Json; namespace MossyUpdater.Services { public class SettingsService : ISettingsService { private readonly string _settingsPath; public SettingsService() { var appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var appFolder = Path.Combine(appDataPath, "MossyUpdater"); Directory.CreateDirectory(appFolder); _settingsPath = Path.Combine(appFolder, "settings.json"); } public async Task LoadSettingsAsync() { try { if (!File.Exists(_settingsPath)) return new AppSettings(); var json = await File.ReadAllTextAsync(_settingsPath); var settings = JsonSerializer.Deserialize(json); return settings ?? new AppSettings(); } catch { return new AppSettings(); } } public async Task SaveSettingsAsync(AppSettings settings) { try { var json = JsonSerializer.Serialize(settings, new JsonSerializerOptions { WriteIndented = true }); await File.WriteAllTextAsync(_settingsPath, json); } catch { } } } }