All checks were successful
ci/woodpecker/push/build Pipeline was successful
Signed-off-by: Nikolai Rodionov <allanger@posteo.com>
31 lines
1.1 KiB
Dart
31 lines
1.1 KiB
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
|
import 'package:softplayer_dart_proto/src/accounts/v1/accounts_v1.pbgrpc.dart';
|
|
import 'package:softplayer_web/features/authorization/data/public_accounts_grpc_repository.dart';
|
|
|
|
class DashboardState {
|
|
final bool authorized;
|
|
|
|
const DashboardState({this.authorized = false});
|
|
DashboardState copyWith({bool? authorized}) {
|
|
return DashboardState(authorized: authorized ?? this.authorized);
|
|
}
|
|
}
|
|
|
|
final dashboardControllerProvider =
|
|
AsyncNotifierProvider<DashboardController, DashboardState>(
|
|
DashboardController.new,
|
|
);
|
|
|
|
class DashboardController extends AsyncNotifier<DashboardState> {
|
|
static const _storage = FlutterSecureStorage();
|
|
@override
|
|
Future<DashboardState> build() async {
|
|
final accessToken = await _storage.read(key: "x-access-token");
|
|
if (accessToken == null || accessToken.isEmpty) {
|
|
return const DashboardState(authorized: false);
|
|
}
|
|
return const DashboardState(authorized: true);
|
|
}
|
|
}
|