feat: добавить утилиту для работы с категориями
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../models/category.dart';
|
||||
|
||||
/// Утилиты для работы с категориями
|
||||
class CategoryUtils {
|
||||
/// Возвращает список предопределенных категорий
|
||||
/// Включает как категории доходов, так и расходов
|
||||
static List<Category> getDefaultCategories() {
|
||||
return [
|
||||
// Категории доходов
|
||||
Category(
|
||||
id: 'income_salary',
|
||||
name: 'Зарплата',
|
||||
color: Colors.green,
|
||||
icon: Icons.attach_money,
|
||||
isIncome: true,
|
||||
),
|
||||
Category(
|
||||
id: 'income_gift',
|
||||
name: 'Подарки',
|
||||
color: Colors.blue,
|
||||
icon: Icons.card_giftcard,
|
||||
isIncome: true,
|
||||
),
|
||||
Category(
|
||||
id: 'income_freelance',
|
||||
name: 'Фриланс',
|
||||
color: Colors.teal,
|
||||
icon: Icons.computer,
|
||||
isIncome: true,
|
||||
),
|
||||
|
||||
// Категории расходов
|
||||
Category(
|
||||
id: 'expense_food',
|
||||
name: 'Еда',
|
||||
color: Colors.red,
|
||||
icon: Icons.fastfood,
|
||||
isIncome: false,
|
||||
),
|
||||
Category(
|
||||
id: 'expense_transport',
|
||||
name: 'Транспорт',
|
||||
color: Colors.orange,
|
||||
icon: Icons.directions_car,
|
||||
isIncome: false,
|
||||
),
|
||||
Category(
|
||||
id: 'expense_entertainment',
|
||||
name: 'Развлечения',
|
||||
color: Colors.purple,
|
||||
icon: Icons.movie,
|
||||
isIncome: false,
|
||||
),
|
||||
Category(
|
||||
id: 'expense_utilities',
|
||||
name: 'Коммунальные',
|
||||
color: Colors.blueGrey,
|
||||
icon: Icons.home,
|
||||
isIncome: false,
|
||||
),
|
||||
Category(
|
||||
id: 'expense_shopping',
|
||||
name: 'Покупки',
|
||||
color: Colors.pink,
|
||||
icon: Icons.shopping_bag,
|
||||
isIncome: false,
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
/// Возвращает только категории доходов
|
||||
static List<Category> getIncomeCategories() {
|
||||
return getDefaultCategories().where((c) => c.isIncome).toList();
|
||||
}
|
||||
|
||||
/// Возвращает только категории расходов
|
||||
static List<Category> getExpenseCategories() {
|
||||
return getDefaultCategories().where((c) => !c.isIncome).toList();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user