refactor: Assign specific colors to initial categories

This commit is contained in:
2025-05-09 00:00:12 +03:00
parent 3545dfacd7
commit 84dec567e0
+8 -17
View File
@@ -350,27 +350,18 @@ class AppDatabase extends _$AppDatabase {
print("Inserting initial categories...");
// Получаем доступные цвета из CategoryUtils
final availableColors = CategoryUtils.availableColors;
// Используем индекс для выбора цвета из списка
int colorIndex = 0;
// Функция для получения следующего цвета из списка
int getNextColorValue() {
final color = availableColors[colorIndex % availableColors.length];
colorIndex++;
return color.value;
}
await batch((batch) {
batch.insertAll(categories, [
// Используем CategoriesCompanion (сгенерированный для таблицы Categories)
// Используем реальные имена иконок Material Icons и значения цветов из списка
CategoriesCompanion.insert(name: 'Groceries', icon: 'shopping_cart_outlined', color: getNextColorValue()),
CategoriesCompanion.insert(name: 'Subscriptions', icon: 'subscriptions_outlined', color: getNextColorValue()),
CategoriesCompanion.insert(name: 'Restaurant', icon: 'restaurant_menu_outlined', color: getNextColorValue()),
CategoriesCompanion.insert(name: 'Shopping', icon: 'shopping_bag_outlined', color: getNextColorValue()),
CategoriesCompanion.insert(name: 'Transport', icon: 'directions_bus_filled_outlined', color: getNextColorValue()),
CategoriesCompanion.insert(name: 'Travel', icon: 'flight_takeoff_outlined', color: getNextColorValue()),
CategoriesCompanion.insert(name: 'Utilities', icon: 'home_outlined', color: getNextColorValue()),
// Используем реальные имена иконок Material Icons и конкретные значения цветов из списка
CategoriesCompanion.insert(name: 'Groceries', icon: 'shopping_cart_outlined', color: availableColors[0].value), // Red
CategoriesCompanion.insert(name: 'Subscriptions', icon: 'subscriptions_outlined', color: availableColors[4].value), // Indigo
CategoriesCompanion.insert(name: 'Restaurant', icon: 'restaurant_menu_outlined', color: availableColors[14].value), // Orange
CategoriesCompanion.insert(name: 'Shopping', icon: 'shopping_bag_outlined', color: availableColors[5].value), // Blue
CategoriesCompanion.insert(name: 'Transport', icon: 'directions_bus_filled_outlined', color: availableColors[2].value), // Purple
CategoriesCompanion.insert(name: 'Travel', icon: 'flight_takeoff_outlined', color: availableColors[7].value), // Cyan
CategoriesCompanion.insert(name: 'Utilities', icon: 'home_outlined', color: availableColors[8].value), // Teal
// 'Income' category - use a specific icon and color (можно тоже взять из списка или оставить уникальный)
// Оставим уникальный цвет для Income для выделения
CategoriesCompanion.insert(name: 'Income', icon: 'attach_money', color: c.Colors.lightGreenAccent.shade700.value),