login, agent and staff added
This commit is contained in:
parent
7ebf5356ad
commit
743c7af604
@ -1,3 +1,4 @@
|
|||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
|
||||||
final managerIdProvider = StateProvider<int?>((ref) => null);
|
final managerIdProvider = StateProvider<int?>((ref) => null);
|
||||||
|
final userIdProvider = StateProvider<int?>((ref) => null);
|
||||||
|
|||||||
@ -14,10 +14,11 @@ class DashboardScreen extends ConsumerStatefulWidget {
|
|||||||
class _DashboardScreenState extends ConsumerState<DashboardScreen> {
|
class _DashboardScreenState extends ConsumerState<DashboardScreen> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final mangerId = ref.watch(managerIdProvider);
|
final managerId = ref.watch(managerIdProvider);
|
||||||
|
final userId = ref.watch(userIdProvider);
|
||||||
return MainLayout(
|
return MainLayout(
|
||||||
title: "Home",
|
title: "Home",
|
||||||
body: Center(child: Text("Dashboard Page Content $mangerId")),
|
body: Center(child: Text("Dashboard Page Content $managerId $userId")),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -131,24 +131,65 @@ class _LoginScreenState extends ConsumerState<LoginScreen> {
|
|||||||
// final userRole = ref.watch(userRoleProvider);
|
// final userRole = ref.watch(userRoleProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _saveManagerId(String token) async {
|
Future<void> _saveIdsFromToken(String token) async {
|
||||||
Map<String, dynamic>? decodedToken = await Jwt.parseJwt(token);
|
final Map<String, dynamic> decodedToken = Jwt.parseJwt(token);
|
||||||
print('decodedToken : $decodedToken');
|
print('decodedToken : $decodedToken');
|
||||||
final dynamic managerIdRaw = decodedToken['data']?['manager_id'];
|
|
||||||
final int? managerId = managerIdRaw is int
|
|
||||||
? managerIdRaw
|
|
||||||
: int.tryParse(managerIdRaw.toString());
|
|
||||||
|
|
||||||
if (managerId != null) {
|
final dynamic data = decodedToken['data'];
|
||||||
ref.read(managerIdProvider.notifier).state = managerId;
|
|
||||||
print("Manager ID saved globally: $managerId");
|
if (data != null) {
|
||||||
|
// Manager ID
|
||||||
|
final dynamic managerIdRaw = data['manager_id'];
|
||||||
|
final int? managerId = managerIdRaw is int
|
||||||
|
? managerIdRaw
|
||||||
|
: int.tryParse(managerIdRaw.toString());
|
||||||
|
|
||||||
|
if (managerId != null) {
|
||||||
|
ref.read(managerIdProvider.notifier).state = managerId;
|
||||||
|
print("✅ Manager ID saved globally: $managerId");
|
||||||
|
} else {
|
||||||
|
print("⚠️ Manager ID is null or invalid");
|
||||||
|
}
|
||||||
|
|
||||||
|
// User ID
|
||||||
|
final dynamic userIdRaw = data['id'];
|
||||||
|
final int? userId =
|
||||||
|
userIdRaw is int ? userIdRaw : int.tryParse(userIdRaw.toString());
|
||||||
|
|
||||||
|
if (userId != null) {
|
||||||
|
ref.read(userIdProvider.notifier).state = userId;
|
||||||
|
print("✅ User ID saved globally: $userId");
|
||||||
|
} else {
|
||||||
|
print("⚠️ User ID is null or invalid");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
print("Manager ID is null or invalid");
|
print("⚠️ No data found in decodedToken");
|
||||||
}
|
}
|
||||||
print(managerId);
|
|
||||||
// final managerId = ref.watch(managerIdProvider);
|
// final managerId = ref.watch(managerIdProvider);
|
||||||
|
// final userId = ref.watch(userIdProvider);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Future<void> _saveManagerId(String token) async {
|
||||||
|
// Map<String, dynamic>? decodedToken = await Jwt.parseJwt(token);
|
||||||
|
// print('decodedToken : $decodedToken');
|
||||||
|
// final dynamic managerIdRaw = decodedToken['data']?['manager_id'];
|
||||||
|
// final int? managerId = managerIdRaw is int
|
||||||
|
// ? managerIdRaw
|
||||||
|
// : int.tryParse(managerIdRaw.toString());
|
||||||
|
//
|
||||||
|
// if (managerId != null) {
|
||||||
|
// ref.read(managerIdProvider.notifier).state = managerId;
|
||||||
|
// print("Manager ID saved globally: $managerId");
|
||||||
|
// } else {
|
||||||
|
// print("Manager ID is null or invalid");
|
||||||
|
// }
|
||||||
|
// print(managerId);
|
||||||
|
// // final managerId = ref.watch(managerIdProvider);
|
||||||
|
// }
|
||||||
|
|
||||||
Future<void> sendMobileOrEmailVerify(loginUser) async {
|
Future<void> sendMobileOrEmailVerify(loginUser) async {
|
||||||
try {
|
try {
|
||||||
if (_formKey.currentState!.validate()) {
|
if (_formKey.currentState!.validate()) {
|
||||||
@ -266,7 +307,7 @@ class _LoginScreenState extends ConsumerState<LoginScreen> {
|
|||||||
ToastHelper.showSuccessToast(context, 'OTP verified successfully');
|
ToastHelper.showSuccessToast(context, 'OTP verified successfully');
|
||||||
await AuthService.saveToken(token);
|
await AuthService.saveToken(token);
|
||||||
await _saveUserRole(token);
|
await _saveUserRole(token);
|
||||||
await _saveManagerId(token);
|
await _saveIdsFromToken(token);
|
||||||
final managerId = ref.watch(managerIdProvider);
|
final managerId = ref.watch(managerIdProvider);
|
||||||
print('managerId -- $managerId');
|
print('managerId -- $managerId');
|
||||||
final userRole = ref.watch(userRoleProvider);
|
final userRole = ref.watch(userRoleProvider);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user