using System.Collections.ObjectModel; using Microsoft.Maui.Storage; public static class CategoryManager { public static ObservableCollection Categories { get; private set; } = new ObservableCollection(); private const string ActiveCategoryKey = "ActiveCategory"; public static string ActiveCategory { get => Preferences.Get(ActiveCategoryKey, Categories.FirstOrDefault() ?? ""); // Проверка на null set { if (!string.IsNullOrEmpty(value)) { Preferences.Set(ActiveCategoryKey, value); } } } public static void LoadCategories() { if (Categories.Count == 0) // Проверка, чтобы не загружать повторно { Categories.Add("Личное"); Categories.Add("Работа"); Categories.Add("Дом"); // Устанавливаем первую категорию как активную, если она не задана if (string.IsNullOrEmpty(ActiveCategory)) { ActiveCategory = Categories.First(); } } } public static void AddCategory(string category) { if (!Categories.Contains(category)) { Categories.Add(category); ActiveCategory = category; // Сразу делаем новую категорию активной } } }