Migrate away from helpers package

This commit is contained in:
2024-09-10 15:03:32 -06:00
parent ddba989576
commit 1172e650aa
19 changed files with 370 additions and 723 deletions
+16 -25
View File
@@ -2,7 +2,6 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:helpers/helpers/print.dart';
import 'package:rluv/global/api.dart';
import 'package:rluv/models/budget.dart';
import 'package:rluv/models/budget_category_model.dart';
@@ -13,8 +12,7 @@ import '../models/shared_note.dart';
import '../models/transaction_model.dart';
import '../models/user.dart';
StateProvider<SharedPreferences?> prefsProvider =
StateProvider<SharedPreferences?>((ref) => null);
StateProvider<SharedPreferences?> prefsProvider = StateProvider<SharedPreferences?>((ref) => null);
// final StateProvider<Token?> tokenProvider = StateProvider<Token?>((ref) {
// // final tokenStr = prefs.getString('jwt');
@@ -42,8 +40,7 @@ final Provider<FamilyModel?> familyProvider = Provider<FamilyModel?>(
},
);
final Provider<List<BudgetCategory>> budgetCategoriesProvider =
Provider<List<BudgetCategory>>((ref) {
final Provider<List<BudgetCategory>> budgetCategoriesProvider = Provider<List<BudgetCategory>>((ref) {
final dash = ref.watch(dashboardProvider);
if (dash == null) return [];
final categoriesData = dash['budget_categories'] as List<dynamic>;
@@ -55,7 +52,7 @@ final Provider<List<BudgetCategory>> budgetCategoriesProvider =
final prefs = ref.read(prefsProvider);
final budgetJson = jsonEncode({'budget_categories': categoriesData});
printBlue('updated prefs stored categories');
print('updated prefs stored categories');
prefs?.setString('budget_categories', budgetJson);
return categories;
@@ -71,8 +68,7 @@ final Provider<Budget?> budgetProvider = Provider<Budget?>(
},
);
final Provider<List<Transaction>> transactionsProvider =
Provider<List<Transaction>>((ref) {
final Provider<List<Transaction>> transactionsProvider = Provider<List<Transaction>>((ref) {
final dash = ref.watch(dashboardProvider);
if (dash == null) return [];
final transactions = dash['transactions'] as List<dynamic>;
@@ -83,8 +79,7 @@ final Provider<List<Transaction>> transactionsProvider =
.toList();
});
final Provider<List<SharedNote>> sharedNotesProvider =
Provider<List<SharedNote>>(
final Provider<List<SharedNote>> sharedNotesProvider = Provider<List<SharedNote>>(
(ref) {
final dash = ref.watch(dashboardProvider);
if (dash == null) return [];
@@ -97,8 +92,7 @@ final Provider<List<SharedNote>> sharedNotesProvider =
},
);
final dashboardProvider =
StateNotifierProvider<DashBoardStateNotifier, Map<String, dynamic>?>(
final dashboardProvider = StateNotifierProvider<DashBoardStateNotifier, Map<String, dynamic>?>(
(ref) {
return DashBoardStateNotifier(ref);
},
@@ -119,10 +113,10 @@ class DashBoardStateNotifier extends StateNotifier<Map<String, dynamic>?> {
);
final token = ref.read(tokenProvider);
if (token?.familyId == null) {
printPink('No token, cannot fetch dashboard');
print('No token, cannot fetch dashboard');
return;
}
printAmber('Fetching dashboard');
print('Fetching dashboard');
state = await ref.read(apiProvider.notifier).get("dashboard");
WidgetsBinding.instance.addPostFrameCallback(
(_) => ref.read(loadingStateProvider.notifier).state = false,
@@ -131,7 +125,7 @@ class DashBoardStateNotifier extends StateNotifier<Map<String, dynamic>?> {
void update(Map<String, dynamic> data) {
if (state == null) {
printPink('Cant update data, state is null');
print('Cant update data, state is null');
return;
}
if (data.keys.length != 1 || data.values.length != 1) {
@@ -149,16 +143,14 @@ class DashBoardStateNotifier extends StateNotifier<Map<String, dynamic>?> {
)
.toList();
subStateListObj.removeWhere(
(element) =>
element['id'] ==
(data.values.first as Map<String, dynamic>)['id'],
(element) => element['id'] == (data.values.first as Map<String, dynamic>)['id'],
);
subStateListObj.add(data.values.first);
final newState = state;
newState![key] = subStateListObj;
state = {...newState};
// printBlue(state);
// print(state);
break;
default:
break;
@@ -167,7 +159,7 @@ class DashBoardStateNotifier extends StateNotifier<Map<String, dynamic>?> {
void add(Map<String, dynamic> data) {
if (state == null) {
printPink('Cant add data, state is null');
print('Cant add data, state is null');
return;
}
if (data.keys.length != 1 || data.values.length != 1) {
@@ -183,7 +175,7 @@ class DashBoardStateNotifier extends StateNotifier<Map<String, dynamic>?> {
subStateList.add(data.values.first);
newState![key] = subStateList;
state = {...newState};
// printBlue(state);
// print(state);
break;
default:
break;
@@ -192,7 +184,7 @@ class DashBoardStateNotifier extends StateNotifier<Map<String, dynamic>?> {
void removeWithId(String stateKey, int id) {
if (state == null) {
printPink('Cant remove data, state is null');
print('Cant remove data, state is null');
return;
}
switch (stateKey) {
@@ -201,11 +193,10 @@ class DashBoardStateNotifier extends StateNotifier<Map<String, dynamic>?> {
case 'shared_noted':
final subStateList = state![stateKey] as List<dynamic>;
final newState = state;
subStateList
.removeWhere((e) => (e as Map<String, dynamic>)['id'] == id);
subStateList.removeWhere((e) => (e as Map<String, dynamic>)['id'] == id);
newState![stateKey] = subStateList;
state = {...newState};
// printBlue(state);
// print(state);
break;
default:
break;