mirror of
https://github.com/koloideal/Casha.git
synced 2026-08-08 17:51:14 +03:00
step
This commit is contained in:
@@ -377,7 +377,7 @@ class _AccountEditorOverlayState extends State<AccountEditorOverlay> {
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
if (!dash.isAddingAccount &&
|
||||
(ref.watch(accountsProvider).valueOrNull?.length ?? 0) >
|
||||
(ref.watch(accountsProvider).value?.length ?? 0) >
|
||||
1) ...[
|
||||
GestureDetector(
|
||||
onTap: () => setState(() => _showDeleteDialog = true),
|
||||
|
||||
@@ -588,7 +588,7 @@ class AccountColorPanel extends StatelessWidget {
|
||||
final accounts =
|
||||
ProviderScope.containerOf(
|
||||
dashboardContext,
|
||||
).read(accountsProvider).valueOrNull ??
|
||||
).read(accountsProvider).value ??
|
||||
[];
|
||||
|
||||
if (isDuplicateName(
|
||||
|
||||
@@ -56,7 +56,7 @@ class AccountDeleteDialog extends ConsumerWidget {
|
||||
|
||||
onConfirm();
|
||||
|
||||
final txs = ref.read(transactionsProvider).valueOrNull ?? [];
|
||||
final txs = ref.read(transactionsProvider).value ?? [];
|
||||
final accountTxs = txs
|
||||
.where((t) => t.accountId == accountId)
|
||||
.toList();
|
||||
|
||||
@@ -145,15 +145,12 @@ class BalanceCardState extends ConsumerState<BalanceCard>
|
||||
.toList();
|
||||
|
||||
final textColorMode = ref.watch(cardTextColorProvider);
|
||||
final Color onCard;
|
||||
switch (textColorMode) {
|
||||
case CardTextColorMode.white:
|
||||
onCard = Colors.white;
|
||||
case CardTextColorMode.black:
|
||||
onCard = Colors.black;
|
||||
case CardTextColorMode.adaptive:
|
||||
onCard = primary.computeLuminance() > 0.3 ? Colors.black : Colors.white;
|
||||
}
|
||||
final Color onCard = switch (textColorMode) {
|
||||
CardTextColorMode.white => Colors.white,
|
||||
CardTextColorMode.black => Colors.black,
|
||||
CardTextColorMode.adaptive => primary.computeLuminance() > 0.3 ? Colors.black : Colors.white,
|
||||
_ => Colors.white,
|
||||
};
|
||||
|
||||
return GestureDetector(
|
||||
onLongPress: () {
|
||||
|
||||
@@ -75,7 +75,7 @@ class _BalanceCardCarouselState extends ConsumerState<BalanceCardCarousel> {
|
||||
Clip.none,
|
||||
itemCount: totalPages,
|
||||
onPageChanged: (index) {
|
||||
ref.read(activeAccountIndexProvider.notifier).state = index;
|
||||
ref.read(activeAccountIndexProvider.notifier).set(index);
|
||||
if (ref.read(hapticEnabledProvider)) {
|
||||
HapticService.light();
|
||||
}
|
||||
@@ -103,7 +103,7 @@ class _BalanceCardCarouselState extends ConsumerState<BalanceCardCarousel> {
|
||||
);
|
||||
|
||||
final txs =
|
||||
ref.watch(transactionsProvider).valueOrNull ?? [];
|
||||
ref.watch(transactionsProvider).value ?? [];
|
||||
final accountTxs = txs
|
||||
.where((t) => t.accountId == account.id)
|
||||
.toList();
|
||||
|
||||
@@ -23,15 +23,15 @@ class FilterChips extends ConsumerWidget {
|
||||
_FilterChip(
|
||||
label: strings.filterAllTime,
|
||||
isSelected: timeFilter == TimeFilter.allTime,
|
||||
onTap: () => ref.read(timeFilterProvider.notifier).state =
|
||||
TimeFilter.allTime,
|
||||
onTap: () => ref.read(timeFilterProvider.notifier).set(
|
||||
TimeFilter.allTime),
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
_FilterChip(
|
||||
label: strings.filterMonth,
|
||||
isSelected: timeFilter == TimeFilter.lastMonth,
|
||||
onTap: () => ref.read(timeFilterProvider.notifier).state =
|
||||
TimeFilter.lastMonth,
|
||||
onTap: () => ref.read(timeFilterProvider.notifier).set(
|
||||
TimeFilter.lastMonth),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
||||
@@ -46,32 +46,32 @@ class FilterChips extends ConsumerWidget {
|
||||
_FilterChip(
|
||||
label: strings.filterAll,
|
||||
isSelected: typeFilter == TransactionFilter.all,
|
||||
onTap: () => ref.read(transactionFilterProvider.notifier).state =
|
||||
TransactionFilter.all,
|
||||
onTap: () => ref.read(transactionFilterProvider.notifier).set(
|
||||
TransactionFilter.all),
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
_FilterChip(
|
||||
label: strings.filterIncome,
|
||||
isSelected: typeFilter == TransactionFilter.income,
|
||||
color: AppColors.income,
|
||||
onTap: () => ref.read(transactionFilterProvider.notifier).state =
|
||||
TransactionFilter.income,
|
||||
onTap: () => ref.read(transactionFilterProvider.notifier).set(
|
||||
TransactionFilter.income),
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
_FilterChip(
|
||||
label: strings.filterExpense,
|
||||
isSelected: typeFilter == TransactionFilter.expense,
|
||||
color: AppColors.expense,
|
||||
onTap: () => ref.read(transactionFilterProvider.notifier).state =
|
||||
TransactionFilter.expense,
|
||||
onTap: () => ref.read(transactionFilterProvider.notifier).set(
|
||||
TransactionFilter.expense),
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
_FilterChip(
|
||||
label: strings.filterTransfer,
|
||||
isSelected: typeFilter == TransactionFilter.transfer,
|
||||
color: Colors.blueAccent,
|
||||
onTap: () => ref.read(transactionFilterProvider.notifier).state =
|
||||
TransactionFilter.transfer,
|
||||
onTap: () => ref.read(transactionFilterProvider.notifier).set(
|
||||
TransactionFilter.transfer),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
@@ -37,7 +37,7 @@ class SearchBar extends StatelessWidget {
|
||||
color: Theme.of(context).colorScheme.onSurface.withOpacity(0.6),
|
||||
onPressed: () {
|
||||
controller.clear();
|
||||
ref.read(searchQueryProvider.notifier).state = '';
|
||||
ref.read(searchQueryProvider.notifier).set('');
|
||||
},
|
||||
)
|
||||
: null,
|
||||
@@ -63,7 +63,7 @@ class SearchBar extends StatelessWidget {
|
||||
vertical: 12,
|
||||
),
|
||||
),
|
||||
onChanged: (v) => ref.read(searchQueryProvider.notifier).state = v,
|
||||
onChanged: (v) => ref.read(searchQueryProvider.notifier).set(v),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ class TransactionTile extends ConsumerWidget {
|
||||
: 0.0;
|
||||
final displaySymbol = currencyMap[displayCurrency]?.symbol ?? '';
|
||||
|
||||
final accounts = ref.watch(accountsProvider).valueOrNull ?? [];
|
||||
final accounts = ref.watch(accountsProvider).value ?? [];
|
||||
final txAccount = accounts.firstWhereOrNull(
|
||||
(a) => a.id == transaction.accountId,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user