Improved category with colors
This commit is contained in:
@@ -9,6 +9,7 @@ import 'package:tunas/repositories/account/models/transaction.dart';
|
||||
|
||||
class AccountRepository {
|
||||
String accountFile = 'tunas_main_account.json';
|
||||
Account? currentAccount;
|
||||
|
||||
final StorageClient _storageClient;
|
||||
|
||||
@@ -49,20 +50,27 @@ class AccountRepository {
|
||||
|
||||
saveAccount(Account account) async {
|
||||
await _storageClient.save(accountFile, jsonEncode(account.toJson()));
|
||||
_broadcastAccountData(account);
|
||||
}
|
||||
|
||||
saveTransactions(List<Transaction> transactions) async {
|
||||
final account = Account(transactions: transactions);
|
||||
await saveAccount(account);
|
||||
_transactionsController.add(account.transactions);
|
||||
_categoriesController.add(account.categories);
|
||||
_budgetController.add(account.budgets);
|
||||
Account? account = currentAccount;
|
||||
if (account == null) {
|
||||
throw Error();
|
||||
} else {account.transactions = transactions;
|
||||
await saveAccount(account);
|
||||
}
|
||||
}
|
||||
|
||||
deleteAccount() async {
|
||||
await _storageClient.delete(accountFile);
|
||||
_transactionsController.add(const []);
|
||||
_categoriesController.add(const []);
|
||||
_budgetController.add(const []);
|
||||
_broadcastAccountData(Account());
|
||||
}
|
||||
|
||||
_broadcastAccountData(Account account) {
|
||||
currentAccount = account;
|
||||
_transactionsController.add(account.transactions);
|
||||
_categoriesController.add(account.categories);
|
||||
_budgetController.add(account.budgets);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:ui';
|
||||
|
||||
class Category {
|
||||
String label;
|
||||
String color;
|
||||
@@ -18,4 +20,8 @@ class Category {
|
||||
'label': label,
|
||||
'color': color,
|
||||
};
|
||||
|
||||
Color rgbToColor() {
|
||||
return Color(int.parse(color.toUpperCase().replaceAll("#", ""), radix: 16));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user