NoteMAUI/NoteContent/CategoryManager.cs

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; // Сразу делаем новую категорию активной
}
}
}