48 lines
1.5 KiB
C#
48 lines
1.5 KiB
C#
using System.Collections.ObjectModel;
|
|
using Microsoft.Maui.Storage;
|
|
|
|
public static class CategoryManager
|
|
{
|
|
public static ObservableCollection<string> Categories { get; private set; } = new ObservableCollection<string>();
|
|
|
|
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; // Сразу делаем новую категорию активной
|
|
}
|
|
}
|
|
}
|
|
|
|
|