Line data Source code
1 : import 'package:fast_immutable_collections/fast_immutable_collections.dart';
2 : import 'package:freezed_annotation/freezed_annotation.dart';
3 : import 'package:redfire/types.dart';
4 :
5 : part 'example_app_state.freezed.dart';
6 : part 'example_app_state.g.dart';
7 :
8 : @freezed
9 : class ExampleAppState with _$ExampleAppState, RedFireState {
10 : factory ExampleAppState({
11 : @PageDataConverter() required IList<PageData> pages,
12 : required IList<ProblemInfo> problems,
13 : required Settings settings,
14 : required AuthState auth,
15 : ProfileData? profile,
16 : }) = _ExampleAppState;
17 :
18 2 : factory ExampleAppState.init() => ExampleAppState(
19 2 : pages: <PageData>[const InitialPageData()].lock,
20 1 : problems: IList(),
21 1 : settings: Settings.init(),
22 1 : auth: AuthState(
23 1 : linking: LinkAccountsViewModel.init(),
24 1 : emailVM: EmailAuthVM(),
25 : step: AuthStepEnum.waitingForInput),
26 : );
27 :
28 0 : factory ExampleAppState.fromJson(JsonMap json) =>
29 0 : _$ExampleAppStateFromJson(json);
30 : }
|