Skip to content

Commit 0502e92

Browse files
committed
Convert AccountScreenController and EmailPasswordSignInController to use Riverpod Generator
1 parent 259fda8 commit 0502e92

File tree

4 files changed

+69
-15
lines changed

4 files changed

+69
-15
lines changed
Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
import 'dart:async';
22

33
import 'package:ecommerce_app/src/features/authentication/data/fake_auth_repository.dart';
4-
import 'package:flutter_riverpod/flutter_riverpod.dart';
4+
import 'package:riverpod_annotation/riverpod_annotation.dart';
55

6-
class AccountScreenController extends AutoDisposeAsyncNotifier<void> {
6+
part 'account_screen_controller.g.dart';
7+
8+
@riverpod
9+
class AccountScreenController extends _$AccountScreenController {
710
@override
811
FutureOr<void> build() {
912
// nothing to do
@@ -14,7 +17,3 @@ class AccountScreenController extends AutoDisposeAsyncNotifier<void> {
1417
state = await AsyncValue.guard(() => authRepository.signOut());
1518
}
1619
}
17-
18-
final accountScreenControllerProvider =
19-
AutoDisposeAsyncNotifierProvider<AccountScreenController, void>(
20-
AccountScreenController.new);

ecommerce_app/lib/src/features/authentication/presentation/account/account_screen_controller.g.dart

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ecommerce_app/lib/src/features/authentication/presentation/sign_in/email_password_sign_in_controller.dart

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
1+
import 'dart:async';
2+
13
import 'package:ecommerce_app/src/features/authentication/data/fake_auth_repository.dart';
24
import 'package:ecommerce_app/src/features/authentication/presentation/sign_in/email_password_sign_in_form_type.dart';
3-
import 'package:flutter_riverpod/flutter_riverpod.dart';
5+
import 'package:riverpod_annotation/riverpod_annotation.dart';
46

5-
class EmailPasswordSignInController extends StateNotifier<AsyncValue<void>> {
6-
EmailPasswordSignInController(this.ref) : super(const AsyncData<void>(null));
7-
final Ref ref;
7+
part 'email_password_sign_in_controller.g.dart';
88

9+
@riverpod
10+
class EmailPasswordSignInController extends _$EmailPasswordSignInController {
11+
@override
12+
FutureOr<void> build() {
13+
// nothing to do
14+
}
915
Future<bool> submit(
1016
{required String email,
1117
required String password,
@@ -27,8 +33,3 @@ class EmailPasswordSignInController extends StateNotifier<AsyncValue<void>> {
2733
}
2834
}
2935
}
30-
31-
final emailPasswordSignInControllerProvider = StateNotifierProvider.autoDispose<
32-
EmailPasswordSignInController, AsyncValue<void>>((ref) {
33-
return EmailPasswordSignInController(ref);
34-
});

ecommerce_app/lib/src/features/authentication/presentation/sign_in/email_password_sign_in_controller.g.dart

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)