diff --git a/assets/l10n/en_IN.json b/assets/l10n/en_IN.json index 8c5cad3a..8abe690e 100644 --- a/assets/l10n/en_IN.json +++ b/assets/l10n/en_IN.json @@ -240,6 +240,13 @@ "tabs.stats.chart.select.clickToSelect": "Click to select", "tabs.stats.chart.noExchangeRatesWarning": "Missing exchange rate data. Transactions in non-primary currencies are not displayed.", "tabs.stats.chart.noExchangeRatesWarning.retry": "Retry", + "tabs.stats.dailyReport.dailyAvgExpense": "Avg. daily expense", + "tabs.stats.dailyReport.dailyAvgIncome": "Avg. daily income", + "tabs.stats.dailyReport.dailyAvgFlow": "Avg. daily flow", + "tabs.stats.dailyReport.dailyAvgFlow.positive": "You gain ~{} daily", + "tabs.stats.dailyReport.dailyAvgFlow.negative": "You lose ~{} daily", + "tabs.stats.dailyReport.forecastFor": "Expense forecast for {}", + "tabs.stats.dailyReport.comparedTo": "Compared to {}", "tabs.accounts": "Accounts", "tabs.accounts.reorder": "Reorder accounts", "tabs.accounts.reorder.guide": "Long press and drag", diff --git a/assets/l10n/en_US.json b/assets/l10n/en_US.json index 1eaf3e5e..1bef3555 100644 --- a/assets/l10n/en_US.json +++ b/assets/l10n/en_US.json @@ -240,6 +240,13 @@ "tabs.stats.chart.select.clickToSelect": "Click to select", "tabs.stats.chart.noExchangeRatesWarning": "Missing exchange rate data. Transactions in non-primary currencies are not displayed.", "tabs.stats.chart.noExchangeRatesWarning.retry": "Retry", + "tabs.stats.dailyReport.dailyAvgExpense": "Avg. daily expense", + "tabs.stats.dailyReport.dailyAvgIncome": "Avg. daily income", + "tabs.stats.dailyReport.dailyAvgFlow": "Avg. daily flow", + "tabs.stats.dailyReport.dailyAvgFlow.positive": "You gain ~{} daily", + "tabs.stats.dailyReport.dailyAvgFlow.negative": "You lose ~{} daily", + "tabs.stats.dailyReport.forecastFor": "Expense forecast for {}", + "tabs.stats.dailyReport.comparedTo": "Compared to {}", "tabs.accounts": "Accounts", "tabs.accounts.reorder": "Reorder accounts", "tabs.accounts.reorder.guide": "Long press and drag", diff --git a/assets/l10n/it_IT.json b/assets/l10n/it_IT.json index 820dea03..0320363d 100644 --- a/assets/l10n/it_IT.json +++ b/assets/l10n/it_IT.json @@ -240,6 +240,13 @@ "tabs.stats.chart.select.clickToSelect": "Clicca per selezionare", "tabs.stats.chart.noExchangeRatesWarning": "Dati dei tassi di cambio mancanti. Le transazioni in valute diverse dalla principale non sono visualizzate.", "tabs.stats.chart.noExchangeRatesWarning.retry": "Riprova", + "tabs.stats.dailyReport.dailyAvgExpense": "Spesa media giornaliera", + "tabs.stats.dailyReport.dailyAvgIncome": "Entrata media giornaliera", + "tabs.stats.dailyReport.dailyAvgFlow": "Flusso medio giornaliero", + "tabs.stats.dailyReport.dailyAvgFlow.positive": "Guadagni ~{} al giorno", + "tabs.stats.dailyReport.dailyAvgFlow.negative": "Perdi ~{} al giorno", + "tabs.stats.dailyReport.forecastFor": "Previsione di spesa per {}", + "tabs.stats.dailyReport.comparedTo": "Rispetto a {}", "tabs.accounts": "Conti", "tabs.accounts.reorder": "Riordina i conti", "tabs.accounts.reorder.guide": "Premi a lungo e trascina", diff --git a/assets/l10n/mn_MN.json b/assets/l10n/mn_MN.json index 696e68c8..f2f70a4d 100644 --- a/assets/l10n/mn_MN.json +++ b/assets/l10n/mn_MN.json @@ -240,6 +240,13 @@ "tabs.stats.chart.select.clickToSelect": "Товшиж сонгоно уу", "tabs.stats.chart.noExchangeRatesWarning": "Валютын ханшийн мэдээлэл байхгүй учир үндсэн валютаас ({currency}) бусад гүйлгээнүүд харагдахгүй байна", "tabs.stats.chart.noExchangeRatesWarning.retry": "Дахин оролдох", + "tabs.stats.dailyReport.dailyAvgExpense": "Дундаж зарлага (өдөр)", + "tabs.stats.dailyReport.dailyAvgIncome": "Дундаж орлого (өдөр)", + "tabs.stats.dailyReport.dailyAvgFlow": "Дундаж урсгал", + "tabs.stats.dailyReport.dailyAvgFlow.positive": "Та өдөрт ~{} олж байна", + "tabs.stats.dailyReport.dailyAvgFlow.negative": "Та өдөрт ~{} алдаж байна", + "tabs.stats.dailyReport.forecastFor": "Урьдчилсан зарлагын тооцоо ({})", + "tabs.stats.dailyReport.comparedTo": "{}-тай харьцуулахад", "tabs.accounts": "Данснууд", "tabs.accounts.reorder": "Дараалал өөрчлөх", "tabs.accounts.reorder.guide": "Удаан дарж чирнэ үү", diff --git a/assets/l10n/tr_TR.json b/assets/l10n/tr_TR.json index db5fcaaf..048e226a 100644 --- a/assets/l10n/tr_TR.json +++ b/assets/l10n/tr_TR.json @@ -1,7 +1,9 @@ { "appName": "Flow", "appShortDesc": "Kişisel finans takipçiniz", + "visitGitHubRepo": "GitHub'da depoyu ziyaret edin", + "general.back": "Geri Git", "general.delete": "Silmek", "general.delete.permanentWarning": "Bu eylem geri alınamaz", @@ -28,6 +30,7 @@ "general.disabled": "Devredışı", "general.selectLocation": "Konum seçin", "general.nextNDays": "Sonraki {} gün", + "setup.getStarted": "Başlayın", "setup.next": "Sonraki", "setup.slides.foss.title": "Ücretsiz ve açık kaynak", @@ -70,6 +73,7 @@ "setup.onboarding.freshStart.description": "Flow'u ilk kez kullanıyorum", "setup.onboarding.importExisting": "Bir yedekten içeri aktarma", "setup.onboarding.importExisting.description": "Önceki bir Flow yedeklemesinden verileri geri yükleme", + "account": "Hesap", "account.name": "Hesap adı", "account.balance": "Bakiye", @@ -92,6 +96,7 @@ "account.thisMonth": "Bu ay", "account.postTransactionBalance": "Bu işlemden sonraki bakiye", "accounts": "Hesap", + "transaction": "İşlem", "transaction.new": "Yeni işlem", "transaction.edit": "İşlemi düzenle", @@ -120,6 +125,7 @@ "transaction.location.edit": "Düzenlemek için haritaya dokunun", "transaction.pending": "Beklemede", "transaction.pending.preapproved": "Ön Onaylı", + "transactions.all": "Tüm işlemler", "transactions.pending": "Bekleyen işlemler", "transactions.query.noResult": "Gösterilecek işlem yok", @@ -139,6 +145,7 @@ "transactions.query.filter.categories.n": "{} kategoriler", "transactions.query.filter.categories.all": "Tüm Kategoriler", "transactions.count": "{} İşlemler", + "category": "Kategori", "category.name": "Kategori adı", "category.new": "Kategori ekleme", @@ -148,9 +155,12 @@ "category.none": "Kategori yok", "categories": "Kategori", "categories.noCategories": "Herhangi bir kategoriniz yok", + "profile.name": "Ad", + "currency": "Para birimi", "currency.searchHint": "Aramak... (ülke, para birimi, kod)", + "preferences": "Tercihler", "preferences.primaryCurrency": "Birincil para birimi", "preferences.language": "Dil", @@ -199,6 +209,7 @@ "preferences.moneyFormatting.preferFull.description": "Mümkün olduğunca sayıları kısaltmayın", "preferences.moneyFormatting.useCurrencySymbol": "Para birimi simgesini kullan", "preferences.moneyFormatting.useCurrencySymbol.description": "örneğin, \"5$\" yerine \"5 ABD Doları\"", + "tabs.home": "Ev", "tabs.home.greetings": "Merhaba, {name}!", "tabs.home.noTransactions": "Kriterlere uyan işlem yok", @@ -211,6 +222,7 @@ "tabs.home.last7days": "Son 7 gün", "tabs.home.totalBalance": "Toplam bilanço", "tabs.home.flow": "Flow", + "tabs.stats": "İstatistik", "tabs.stats.timeRange.select": "Aralık seç", "tabs.stats.timeRange.changeMode": "Daha fazla seçenek", @@ -228,6 +240,13 @@ "tabs.stats.chart.select.clickToSelect": "Seçmek için tıklayın", "tabs.stats.chart.noExchangeRatesWarning": "Eksik döviz kuru verileri. Birincil olmayan para birimlerindeki işlemler görüntülenmez.", "tabs.stats.chart.noExchangeRatesWarning.retry": "Tekrar dene", + "tabs.stats.dailyReport.dailyAvgExpense": "Günlük ortalama gider", + "tabs.stats.dailyReport.dailyAvgIncome": "Günlük ortalama gelir", + "tabs.stats.dailyReport.dailyAvgFlow": "Günlük ortalama akış", + "tabs.stats.dailyReport.dailyAvgFlow.positive": "Günlük ~{} kazanıyorsunuz", + "tabs.stats.dailyReport.dailyAvgFlow.negative": "Günlük ~{} kaybediyorsunuz", + "tabs.stats.dailyReport.forecastFor": "{} için gider tahmini", + "tabs.stats.dailyReport.comparedTo": "{} ile karşılaştırıldığında", "tabs.accounts": "Hesap", "tabs.accounts.reorder": "Hesapları yeniden sıralama", "tabs.accounts.reorder.guide": "Uzun basın ve sürükleyin", @@ -238,7 +257,8 @@ "tabs.profile.joinDiscord": "Flow Discord'a Katılın", "tabs.profile.backup": "Yedek", "tabs.profile.import": "İçe aktarmak", - "tabs.profile.withLoveFromTheCreator": "Sadespresso'dan 🤍", + "tabs.profile.withLoveFromTheCreator": "sadespresso'dan 🤍", + "support": "Destek", "support.description": "Flow, özgür ve herkese açık bir sevgi emeğidir. Flow'u değerli buluyorsanız, projenin büyümesine yardımcı olmayı düşünün! Bunu yapmanın bazı yolları şunlardır:", "support.requestFeatures": "Bize fikir verin", @@ -249,6 +269,7 @@ "support.donateDeveloper": "İçerik oluşturucuya destek verin", "support.donateDeveloper.description": "Flow'un tüm işlevleri ücretsiz olarak sunulur ve geliştiriciye bahşiş vermek herhangi bir ek özelliğin kilidini açmaz", "support.donateDeveloper.action": "Yaratıcıya bir kahve ısmarla", + "flowIcon.change": "Simgeyi değiştir", "flowIcon.type.icon": "İkon", "flowIcon.type.icon.brands": "Markalar & Logolar", @@ -259,6 +280,7 @@ "flowIcon.type.image.description": "Simge olarak kullanmak için bir resim seçin", "flowIcon.type.character": "Karakter", "flowIcon.type.character.description": "Simge olarak kullanmak için bir emoji veya harf girin", + "sync.import": "İçe aktarmak", "sync.import.pickFile": "Bir dosya seçin", "sync.import.pickFile.pickOrDrop": "Bir dosyayı seçin veya bırakın", @@ -276,6 +298,7 @@ "sync.import.start": "İçe aktarmaya başla", "sync.import.zipWarning": "Flow uygulaması tarafından üretilen ZIP dosyasını içe aktardığınızdan emin olun!", "sync.import.success": "İçe aktarma başarılı!", + "sync.export": "Dışa aktarma", "sync.export.type": "Dışa aktarma ({type})", "sync.export.asCSV": "CSV olarak", @@ -297,6 +320,7 @@ "sync.export.save": "Yedeklemeyi kaydet", "sync.export.save.shareTitle": "Flow yedekleme ({type}, {date})", "sync.export.fileDeleted": "Dosya bulunamadı", + "enum.TransactionSubtype": "Tür", "enum.TransactionSubtype#null": "Varsayılan", "enum.TransactionSubtype@transactionFee": "İşlem ücreti", @@ -306,6 +330,7 @@ "enum.TransactionType@income": "Gelir", "enum.TransactionType@expense": "Gider", "enum.TransactionType@transfer": "Aktarmak", + "enum.CSVHeadersV1": "CSV Başlıkları", "enum.CSVHeadersV1@uuid": "ID", "enum.CSVHeadersV1@title": "Başlık", @@ -323,6 +348,7 @@ "enum.CSVHeadersV1@latitude": "Enlem", "enum.CSVHeadersV1@longitude": "Boylam", "enum.CSVHeadersV1@extra": "Ekstra (JSON)", + "enum.ImportV1Progress@waitingConfirmation": "Onay bekleniyor", "enum.ImportV1Progress@erasing": "Mevcut verilerin silinmesi", "enum.ImportV1Progress@writingCategories": "Yazma kategorileri", @@ -331,6 +357,7 @@ "enum.ImportV1Progress@writingTransactions": "İşlemlerin yazılması", "enum.ImportV1Progress@success": "Başarılı", "enum.ImportV1Progress@error": "Bir şeyler ters gitti ({error})", + "enum.ImportV2Progress@waitingConfirmation": "Onay bekleniyor", "enum.ImportV2Progress@erasing": "Mevcut verilerin silinmesi", "enum.ImportV2Progress@writingCategories": "Yazma kategorileri", @@ -342,6 +369,7 @@ "enum.ImportV2Progress@copyingImages": "Görüntüleri kopyalama", "enum.ImportV2Progress@success": "Başarılı", "enum.ImportV2Progress@error": "Bir şeyler ters gitti ({error})", + "enum.BackupEntryType@manual": "El ile", "enum.BackupEntryType@manual.description": "Kullanıcı tarafından oluşturulan yedekleme", "enum.BackupEntryType@automated": "Otomatik yedekleme", @@ -352,6 +380,7 @@ "enum.BackupEntryType@preImport.description": "Önceki yedeklemeden içe aktarmadan önce önlem olarak oluşturulan yedekleme", "enum.BackupEntryType@other": "Diğer yedekleme", "enum.BackupEntryType@other.description": "Diğer yedekleme", + "error.route.404": "Sayfa bulunamadı", "error.route.400": "Sayfa yüklenemedi", "error.input.mustBeNotEmpty": "Lütfen bu alanı doldurun", diff --git a/lib/data/flow_report.dart b/lib/data/flow_report.dart index 242d80f0..7624e631 100644 --- a/lib/data/flow_report.dart +++ b/lib/data/flow_report.dart @@ -113,8 +113,7 @@ class FlowStandardReport { .map((flow) => flow.getExpenseByCurrency(primaryCurrency)) .fold(Money(0, primaryCurrency), (a, b) => a.amount > b.amount ? a : b); - final int daysLeft = current.duration.inDays - - current.from.difference(DateTime.now()).inDays; + final int daysLeft = current.duration.inDays - countableDays; currentExpenseSumForecast = expenseSum + (dailyAvgExpenditure * daysLeft.toDouble()); diff --git a/lib/routes/home/profile_tab.dart b/lib/routes/home/profile_tab.dart index b0af1a3e..8acf34ed 100644 --- a/lib/routes/home/profile_tab.dart +++ b/lib/routes/home/profile_tab.dart @@ -10,7 +10,7 @@ import "package:flow/theme/theme.dart"; import "package:flow/utils/utils.dart"; import "package:flow/widgets/general/button.dart"; import "package:flow/widgets/general/list_header.dart"; -import "package:flow/widgets/home/prefs/profile_card.dart"; +import "package:flow/widgets/home/preferences/profile_card.dart"; import "package:flutter/material.dart"; import "package:go_router/go_router.dart"; import "package:material_symbols_icons/symbols.dart"; diff --git a/lib/routes/home/stats_tab.dart b/lib/routes/home/stats_tab.dart index 33ad8aaa..9f3009c3 100644 --- a/lib/routes/home/stats_tab.dart +++ b/lib/routes/home/stats_tab.dart @@ -2,11 +2,13 @@ import "dart:ui"; import "package:auto_size_text/auto_size_text.dart"; import "package:flow/data/flow_report.dart"; +import "package:flow/l10n/extensions.dart"; import "package:flow/prefs.dart"; -import "package:flow/routes/home/stats_tab/info_card_with_delta.dart"; import "package:flow/theme/theme.dart"; import "package:flow/widgets/general/frame.dart"; import "package:flow/widgets/general/spinner.dart"; +import "package:flow/widgets/home/stats/info_card_with_delta.dart"; +import "package:flow/widgets/home/stats/no_data.dart"; import "package:flow/widgets/home/stats/range_daily_chart.dart"; import "package:flow/widgets/time_range_selector.dart"; import "package:flutter/material.dart"; @@ -90,7 +92,9 @@ class _StatsTabState extends State children: [ Expanded( child: InfoCardWithDelta( - title: "Avg. daily expense", + title: + "tabs.stats.dailyReport.dailyAvgExpense" + .t(context), autoSizeGroup: autoSizeGroup, money: report!.dailyAvgExpenditure, previousMoney: @@ -101,7 +105,9 @@ class _StatsTabState extends State const SizedBox(width: 16.0), Expanded( child: InfoCardWithDelta( - title: "Avg. daily income", + title: + "tabs.stats.dailyReport.dailyAvgIncome" + .t(context), autoSizeGroup: autoSizeGroup, money: report!.dailyAvgIncome, previousMoney: @@ -119,7 +125,10 @@ class _StatsTabState extends State Expanded( child: InfoCardWithDelta( title: - "Forecast for ${report!.current.format()}", + "tabs.stats.dailyReport.forecastFor" + .t(context, [ + report!.current.format(), + ]), autoSizeGroup: autoSizeGroup, money: report!.currentExpenseSumForecast!, @@ -130,7 +139,9 @@ class _StatsTabState extends State const SizedBox(width: 16.0), Expanded( child: InfoCardWithDelta( - title: "Avg. daily flow", + title: + "tabs.stats.dailyReport.dailyAvgFlow" + .t(context), autoSizeGroup: autoSizeGroup, money: report!.dailyAvgFlow, previousMoney: @@ -147,7 +158,7 @@ class _StatsTabState extends State ], ), ) - : Text("No data to show"), + : NoData(), ), ], ); diff --git a/lib/routes/preferences/button_order_preferences_page.dart b/lib/routes/preferences/button_order_preferences_page.dart index 8d7a5d14..185ab218 100644 --- a/lib/routes/preferences/button_order_preferences_page.dart +++ b/lib/routes/preferences/button_order_preferences_page.dart @@ -4,7 +4,7 @@ import "package:dotted_border/dotted_border.dart"; import "package:flow/entity/transaction.dart"; import "package:flow/l10n/extensions.dart"; import "package:flow/prefs.dart"; -import "package:flow/routes/preferences/button_order_preferences/transaction_type_button.dart"; +import "package:flow/widgets/home/preferences/button_order_preferences/transaction_type_button.dart"; import "package:flow/widgets/general/info_text.dart"; import "package:flutter/material.dart"; diff --git a/lib/routes/preferences/numpad_preferences_page.dart b/lib/routes/preferences/numpad_preferences_page.dart index 23e8b50c..d4792038 100644 --- a/lib/routes/preferences/numpad_preferences_page.dart +++ b/lib/routes/preferences/numpad_preferences_page.dart @@ -1,6 +1,6 @@ import "package:flow/l10n/extensions.dart"; import "package:flow/prefs.dart"; -import "package:flow/routes/preferences/numpad_preferences/numpad_selector_radio.dart"; +import "package:flow/widgets/home/preferences/numpad_preferences/numpad_selector_radio.dart"; import "package:flow/widgets/general/list_header.dart"; import "package:flutter/material.dart"; diff --git a/lib/routes/preferences/transfer_preferences_page.dart b/lib/routes/preferences/transfer_preferences_page.dart index 2c7d50f4..f97765cd 100644 --- a/lib/routes/preferences/transfer_preferences_page.dart +++ b/lib/routes/preferences/transfer_preferences_page.dart @@ -1,6 +1,6 @@ import "package:flow/l10n/extensions.dart"; import "package:flow/prefs.dart"; -import "package:flow/routes/preferences/transfer_preferences/combine_transfer_radio.dart.dart"; +import "package:flow/widgets/home/preferences/transfer_preferences/combine_transfer_radio.dart.dart"; import "package:flow/widgets/general/info_text.dart"; import "package:flow/widgets/general/list_header.dart"; import "package:flutter/material.dart"; diff --git a/lib/routes/stats/stats_by_group_page.dart b/lib/routes/stats/stats_by_group_page.dart index a72fdda8..8a6eece3 100644 --- a/lib/routes/stats/stats_by_group_page.dart +++ b/lib/routes/stats/stats_by_group_page.dart @@ -9,7 +9,7 @@ import "package:flow/l10n/named_enum.dart"; import "package:flow/objectbox.dart"; import "package:flow/objectbox/actions.dart"; import "package:flow/prefs.dart"; -import "package:flow/routes/home/stats_tab/pie_graph_view.dart"; +import "package:flow/widgets/home/stats/pie_graph_view.dart"; import "package:flow/services/exchange_rates.dart"; import "package:flow/widgets/general/spinner.dart"; import "package:flow/widgets/home/stats/exchange_missing_notice.dart"; diff --git a/lib/routes/preferences/button_order_preferences/transaction_type_button.dart b/lib/widgets/home/preferences/button_order_preferences/transaction_type_button.dart similarity index 100% rename from lib/routes/preferences/button_order_preferences/transaction_type_button.dart rename to lib/widgets/home/preferences/button_order_preferences/transaction_type_button.dart diff --git a/lib/routes/preferences/numpad_preferences/numpad_selector_radio.dart b/lib/widgets/home/preferences/numpad_preferences/numpad_selector_radio.dart similarity index 100% rename from lib/routes/preferences/numpad_preferences/numpad_selector_radio.dart rename to lib/widgets/home/preferences/numpad_preferences/numpad_selector_radio.dart diff --git a/lib/widgets/home/prefs/profile_card.dart b/lib/widgets/home/preferences/profile_card.dart similarity index 100% rename from lib/widgets/home/prefs/profile_card.dart rename to lib/widgets/home/preferences/profile_card.dart diff --git a/lib/routes/preferences/transfer_preferences/combine_transfer_radio.dart.dart b/lib/widgets/home/preferences/transfer_preferences/combine_transfer_radio.dart.dart similarity index 96% rename from lib/routes/preferences/transfer_preferences/combine_transfer_radio.dart.dart rename to lib/widgets/home/preferences/transfer_preferences/combine_transfer_radio.dart.dart index e0885e72..1dca96ca 100644 --- a/lib/routes/preferences/transfer_preferences/combine_transfer_radio.dart.dart +++ b/lib/widgets/home/preferences/transfer_preferences/combine_transfer_radio.dart.dart @@ -1,6 +1,6 @@ import "package:flow/entity/transaction.dart"; import "package:flow/l10n/flow_localizations.dart"; -import "package:flow/routes/preferences/transfer_preferences/demo_transaction_list_tile.dart"; +import "package:flow/widgets/home/preferences/transfer_preferences/demo_transaction_list_tile.dart"; import "package:flow/theme/theme.dart"; import "package:flutter/material.dart"; diff --git a/lib/routes/preferences/transfer_preferences/demo_transaction_list_tile.dart b/lib/widgets/home/preferences/transfer_preferences/demo_transaction_list_tile.dart similarity index 100% rename from lib/routes/preferences/transfer_preferences/demo_transaction_list_tile.dart rename to lib/widgets/home/preferences/transfer_preferences/demo_transaction_list_tile.dart diff --git a/lib/routes/home/stats_tab/info_card_with_delta.dart b/lib/widgets/home/stats/info_card_with_delta.dart similarity index 100% rename from lib/routes/home/stats_tab/info_card_with_delta.dart rename to lib/widgets/home/stats/info_card_with_delta.dart diff --git a/lib/widgets/home/stats/no_data.dart b/lib/widgets/home/stats/no_data.dart index b69fd687..8a03c3c7 100644 --- a/lib/widgets/home/stats/no_data.dart +++ b/lib/widgets/home/stats/no_data.dart @@ -7,9 +7,9 @@ import "package:flutter/material.dart"; import "package:material_symbols_icons/symbols.dart"; class NoData extends StatelessWidget { - final VoidCallback onTap; + final VoidCallback? selectTimeRange; - const NoData({super.key, required this.onTap}); + const NoData({super.key, this.selectTimeRange}); @override Widget build(BuildContext context) { @@ -31,14 +31,15 @@ class NoData extends StatelessWidget { color: context.colorScheme.primary, ), const SizedBox(height: 8.0), - Button( - trailing: const Icon( - Symbols.history_rounded, - weight: 600.0, + if (selectTimeRange != null) + Button( + trailing: const Icon( + Symbols.history_rounded, + weight: 600.0, + ), + onTap: selectTimeRange, + child: Text("tabs.stats.timeRange.select".t(context)), ), - onTap: onTap, - child: Text("tabs.stats.timeRange.select".t(context)), - ), ], ), ), diff --git a/lib/routes/home/stats_tab/pie_graph_view.dart b/lib/widgets/home/stats/pie_graph_view.dart similarity index 97% rename from lib/routes/home/stats_tab/pie_graph_view.dart rename to lib/widgets/home/stats/pie_graph_view.dart index bf3777f2..2af0c213 100644 --- a/lib/routes/home/stats_tab/pie_graph_view.dart +++ b/lib/widgets/home/stats/pie_graph_view.dart @@ -23,7 +23,7 @@ class PieGraphView extends StatelessWidget { Widget build(BuildContext context) { if (data.isEmpty) { return NoData( - onTap: changeMode, + selectTimeRange: changeMode, ); } diff --git a/pubspec.yaml b/pubspec.yaml index 4f814386..f1f6e520 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A personal finance managing app publish_to: "none" # Remove this line if you wish to publish to pub.dev -version: "0.11.0+104" +version: "0.11.0+105" environment: sdk: ">=3.5.0 <4.0.0"