|  |  | @@ -48,15 +48,15 @@ class _ProjectionPageState extends State<ProjectionPage> { | 
			
		
	
		
		
			
				
					
					|  |  |  |     // Summaries for display as well as calculation of totals for projections. |  |  |  |     // Summaries for display as well as calculation of totals for projections. | 
			
		
	
		
		
			
				
					
					|  |  |  |     Widget expenseSummary = SummaryCardForTotals( |  |  |  |     Widget expenseSummary = SummaryCardForTotals( | 
			
		
	
		
		
			
				
					
					|  |  |  |       list: DatabaseHelper.instance.getExpenses(), |  |  |  |       list: DatabaseHelper.instance.getExpenses(), | 
			
		
	
		
		
			
				
					
					|  |  |  |       summaryTypeLabel: ItemType.expense.title, |  |  |  |       itemType: ItemType.expense, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     ); |  |  |  |     ); | 
			
		
	
		
		
			
				
					
					|  |  |  |     Widget incomeSummary = SummaryCardForTotals( |  |  |  |     Widget incomeSummary = SummaryCardForTotals( | 
			
		
	
		
		
			
				
					
					|  |  |  |       list: DatabaseHelper.instance.getIncomes(), |  |  |  |       list: DatabaseHelper.instance.getIncomes(), | 
			
		
	
		
		
			
				
					
					|  |  |  |       summaryTypeLabel: ItemType.income.title, |  |  |  |       itemType: ItemType.income, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     ); |  |  |  |     ); | 
			
		
	
		
		
			
				
					
					|  |  |  |     Widget assetSummary = SummaryCardForTotals( |  |  |  |     Widget assetSummary = SummaryCardForTotals( | 
			
		
	
		
		
			
				
					
					|  |  |  |       list: DatabaseHelper.instance.getAssets(), |  |  |  |       list: DatabaseHelper.instance.getAssets(), | 
			
		
	
		
		
			
				
					
					|  |  |  |       summaryTypeLabel: ItemType.asset.title, |  |  |  |       itemType: ItemType.asset, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     ); |  |  |  |     ); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     // Calculations for the projections. |  |  |  |     // Calculations for the projections. | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -155,14 +155,16 @@ class SummaryCardForTotals extends StatelessWidget { | 
			
		
	
		
		
			
				
					
					|  |  |  |   const SummaryCardForTotals({ |  |  |  |   const SummaryCardForTotals({ | 
			
		
	
		
		
			
				
					
					|  |  |  |     super.key, |  |  |  |     super.key, | 
			
		
	
		
		
			
				
					
					|  |  |  |     required this.list, |  |  |  |     required this.list, | 
			
		
	
		
		
			
				
					
					|  |  |  |     required this.summaryTypeLabel, |  |  |  |     required this.itemType, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   }); |  |  |  |   }); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   final Future<List<TrackedItem>> list; |  |  |  |   final Future<List<TrackedItem>> list; | 
			
		
	
		
		
			
				
					
					|  |  |  |   final String summaryTypeLabel; |  |  |  |   final ItemType itemType; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   @override |  |  |  |   @override | 
			
		
	
		
		
			
				
					
					|  |  |  |   Widget build(BuildContext context) { |  |  |  |   Widget build(BuildContext context) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     String summaryTypeLabel = itemType.title.toString(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     return FutureBuilder<List<TrackedItem>>( |  |  |  |     return FutureBuilder<List<TrackedItem>>( | 
			
		
	
		
		
			
				
					
					|  |  |  |         future: list, |  |  |  |         future: list, | 
			
		
	
		
		
			
				
					
					|  |  |  |         builder: ( |  |  |  |         builder: ( | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -175,12 +177,9 @@ class SummaryCardForTotals extends StatelessWidget { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |           // Calculate the total fields based on item type. |  |  |  |           // Calculate the total fields based on item type. | 
			
		
	
		
		
			
				
					
					|  |  |  |           double dailyTotal = 0, monthlyTotal = 0, yearlyTotal = 0; |  |  |  |           double dailyTotal = 0, monthlyTotal = 0, yearlyTotal = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |           ItemType? itemType; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |           for (TrackedItem e in snapshot.data!) { |  |  |  |           for (TrackedItem e in snapshot.data!) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (itemType == null) { |  |  |  |             if (e.type != itemType) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |               itemType = e.type!; |  |  |  |               throw "List in SummaryCardForTotals has incorrect item types, abort!"; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } else if (itemType != e.type) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |               throw "List in SummaryCardForTotals has multiple item types, abort!"; |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (e.type == ItemType.asset) { |  |  |  |             if (e.type == ItemType.asset) { | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -194,9 +193,6 @@ class SummaryCardForTotals extends StatelessWidget { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |           /* Load page variables based on calculated totals. */ |  |  |  |           /* Load page variables based on calculated totals. */ | 
			
		
	
		
		
			
				
					
					|  |  |  |           switch (itemType) { |  |  |  |           switch (itemType) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             case null: |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |               break; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             case ItemType.asset: |  |  |  |             case ItemType.asset: | 
			
		
	
		
		
			
				
					
					|  |  |  |               _assetTotal = monthlyTotal; |  |  |  |               _assetTotal = monthlyTotal; | 
			
		
	
		
		
			
				
					
					|  |  |  |               break; |  |  |  |               break; | 
			
		
	
	
		
		
			
				
					
					|  |  |   |