
Moves page files from verbose `*_page` named directories to simpler, more organized paths. This includes: - Renaming top-level pages (e.g., `home_page` to `home`, `login_page` to `login`). - Nesting related pages under common directories (e.g., `product_form_page` and `product_list_page` are now under `product/`). The update improves project organization, reduces verbosity in file paths, and enhances overall maintainability.
43 lines
1.5 KiB
Dart
43 lines
1.5 KiB
Dart
import 'package:barcode_scanner/backend/schema/user/user_struct.dart';
|
|
import 'package:barcode_scanner/services/secure_storage.dart';
|
|
import 'package:barcode_scanner/services/token_provider.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'home_page_model.freezed.dart';
|
|
|
|
/// The provider for the AuthViewModel, using Riverpod's StateNotifierProvider
|
|
/// with autoDispose to manage the lifecycle of the view model.
|
|
final homePageModelProvider =
|
|
StateNotifierProvider<HomePageModel, HomePageState>((ref) {
|
|
return HomePageModel(
|
|
secureStorage: ref.read(sharedPrefsProvider),
|
|
tokenProvider: ref.read(tokenProvider),
|
|
);
|
|
});
|
|
|
|
class HomePageModel extends StateNotifier<HomePageState> {
|
|
/// Constructor initializes the TaskRepository using the provider reference.
|
|
HomePageModel({required this.secureStorage, required this.tokenProvider})
|
|
: super(const HomePageState());
|
|
|
|
late FlutterSecureStorage secureStorage;
|
|
late TokenProvider tokenProvider;
|
|
|
|
Future getUserConnected() async {
|
|
state = state.copyWith(loading: true);
|
|
final user = await UserStruct(id: '1').getFromLocalStorage();
|
|
state = state.copyWith(user: user, loading: false);
|
|
}
|
|
}
|
|
|
|
@freezed
|
|
abstract class HomePageState with _$HomePageState {
|
|
const factory HomePageState({
|
|
UserStruct? user,
|
|
@Default(false) bool loading,
|
|
}) = _HomePageState;
|
|
}
|