barcode_scanner/lib/pages/home/home_page_model.dart
mandreshope f01c34d10c refactor: Refactors page directory structure
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.
2025-07-23 17:20:47 +03:00

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;
}