Skip to content

Commit

Permalink
chore: clean up (#167)
Browse files Browse the repository at this point in the history
  • Loading branch information
ethan-tbd authored May 22, 2024
1 parent 869371d commit 7de0dfd
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 39 deletions.
10 changes: 7 additions & 3 deletions lib/features/app/app.dart
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
import 'package:didpay/features/app/app_tabs.dart';
import 'package:didpay/features/pfis/add_pfi_page.dart';
import 'package:didpay/features/pfis/pfis_notifier.dart';
import 'package:didpay/l10n/app_localizations.dart';
import 'package:didpay/shared/theme/theme.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

class App extends StatelessWidget {
class App extends HookConsumerWidget {
const App({super.key});

@override
Widget build(BuildContext context) {
Widget build(BuildContext context, WidgetRef ref) {
final pfis = ref.watch(pfisProvider);
return MaterialApp(
title: 'DIDPay',
theme: lightTheme(context),
darkTheme: darkTheme(context),
home: AddPfiPage(),
home: pfis.isEmpty ? AddPfiPage() : const AppTabs(),
localizationsDelegates: Loc.localizationsDelegates,
supportedLocales: const [
Locale('en', ''),
Expand Down
2 changes: 1 addition & 1 deletion lib/features/pfis/add_pfi_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ class AddPfiPage extends HookConsumerWidget {
.then((pfi) => state.value = AsyncData(pfi))
.onError((error, stackTrace) {
state.value = AsyncError(
error ?? Exception('Unable to resolve add PFI'),
error ?? Exception('Unable to add PFI'),
stackTrace,
);
throw Exception();
Expand Down
7 changes: 6 additions & 1 deletion lib/features/pfis/pfis_notifier.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
import 'package:didpay/features/pfis/pfi.dart';
import 'package:didpay/features/pfis/pfis_service.dart';
import 'package:didpay/features/storage/storage_service.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';

final pfisProvider = StateNotifierProvider<PfisNotifier, List<Pfi>>(
(ref) => throw UnimplementedError(),
(ref) {
final prefs = ref.watch(sharedPreferencesProvider);
final pfis = PfisNotifier.loadSavedPfiDids(prefs);
return PfisNotifier(prefs, PfisService(), pfis);
},
);

class PfisNotifier extends StateNotifier<List<Pfi>> {
Expand Down
42 changes: 22 additions & 20 deletions lib/features/pfis/pfis_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,30 @@ class PfisPage extends HookConsumerWidget {

return Scaffold(
appBar: AppBar(),
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.symmetric(
horizontal: Grid.side,
vertical: Grid.xs,
body: SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.symmetric(
horizontal: Grid.side,
vertical: Grid.xs,
),
child: Text(
Loc.of(context).myPfis,
style: Theme.of(context).textTheme.bodyLarge,
),
),
child: Text(
Loc.of(context).myPfis,
style: Theme.of(context).textTheme.bodyLarge,
Expanded(
child: ListView.builder(
itemCount: pfis.length + 1,
itemBuilder: (context, index) => index != pfis.length
? _buildPfiTile(context, ref, pfis[index])
: _buildAddPfiTile(context),
),
),
),
Expanded(
child: ListView.builder(
itemCount: pfis.length + 1,
itemBuilder: (context, index) => index != pfis.length
? _buildPfiTile(context, ref, pfis[index])
: _buildAddPfiTile(context),
),
),
],
],
),
),
);
}
Expand Down
7 changes: 6 additions & 1 deletion lib/features/remittance/countries_notifier.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@ import 'dart:async';
import 'dart:convert';

import 'package:didpay/features/remittance/countries.dart';
import 'package:didpay/features/storage/storage_service.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';

final countriesProvider =
StateNotifierProvider<CountriesNotifier, List<Country>>(
(ref) => throw UnimplementedError(),
(ref) {
final prefs = ref.watch(sharedPreferencesProvider);
const mx = Country(code: 'MX', name: 'Mexico');
return CountriesNotifier(prefs, [mx]);
},
);

class CountriesNotifier extends StateNotifier<List<Country>> {
Expand Down
11 changes: 0 additions & 11 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ import 'dart:convert';

import 'package:didpay/features/account/account_providers.dart';
import 'package:didpay/features/app/app.dart';
import 'package:didpay/features/pfis/pfis_notifier.dart';
import 'package:didpay/features/pfis/pfis_service.dart';
import 'package:didpay/features/remittance/countries_notifier.dart';
import 'package:didpay/features/storage/storage_service.dart';
import 'package:didpay/shared/constants.dart';
import 'package:flutter/material.dart';
Expand All @@ -25,18 +22,10 @@ void main() async {

final did = await getOrCreateDid(storage);
// final vc = await storage.read(key: Constants.verifiableCredentialKey);
final pfisNotifier = PfisNotifier(sharedPreferences, PfisService(), []);
final countriesNotifier = CountriesNotifier(sharedPreferences, []);

// TODO(ethan-tbd): remove later
await countriesNotifier.add('US', 'United States');
await countriesNotifier.add('MX', 'Mexico');

runApp(
ProviderScope(
overrides: [
pfisProvider.overrideWith((ref) => pfisNotifier),
countriesProvider.overrideWith((ref) => countriesNotifier),
sharedPreferencesProvider.overrideWithValue(sharedPreferences),
secureStorageProvider.overrideWithValue(storage),
didProvider.overrideWithValue(did),
Expand Down
4 changes: 2 additions & 2 deletions lib/shared/success_state.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:didpay/features/app/app_tabs.dart';
import 'package:didpay/features/app/app.dart';
import 'package:didpay/l10n/app_localizations.dart';
import 'package:didpay/shared/theme/grid.dart';
import 'package:flutter/material.dart';
Expand Down Expand Up @@ -33,7 +33,7 @@ class SuccessState extends HookWidget {
child: FilledButton(
onPressed: () {
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (context) => const AppTabs()),
MaterialPageRoute(builder: (context) => const App()),
(route) => false,
);
},
Expand Down

0 comments on commit 7de0dfd

Please sign in to comment.