Enhance authentication flow and user role management
- Updated AuthViewModel to hydrate user data from storage on initialization. - Added method to AuthRepository for retrieving stored customer data. - Enhanced AuthService to save and retrieve customer data from SharedPreferences. - Refactored UI components to use context.watch for user role updates in MeetingTimeDialog, TenderDetailActions, and TendersPage. - Improved navigation logic in final completion pages to handle user interactions more effectively.
This commit is contained in:
@@ -29,7 +29,7 @@ class _MeetingTimeDialogState extends State<MeetingTimeDialog> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final userRole = context.read<AuthViewModel>().userRole;
|
||||
final userRole = context.watch<AuthViewModel>().userRole;
|
||||
return Dialog(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(16),
|
||||
|
||||
@@ -35,7 +35,7 @@ class TenderDetailActions extends StatefulWidget {
|
||||
class _TenderDetailActionsState extends State<TenderDetailActions> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final userRole = context.read<AuthViewModel>().userRole;
|
||||
final userRole = context.watch<AuthViewModel>().userRole;
|
||||
return widget.isScreenBig
|
||||
? _webActions(userRole!)
|
||||
: Column(
|
||||
|
||||
+4
-1
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
@@ -50,7 +51,9 @@ class DesktopFinalCompletionOfDocumentsPage extends StatelessWidget {
|
||||
children: [
|
||||
BaseButton(
|
||||
isEnabled: true,
|
||||
onPressed: () {},
|
||||
onPressed: () {
|
||||
context.pop();
|
||||
},
|
||||
width: 176,
|
||||
backgroundColor: AppColors.primary10,
|
||||
textColor: AppColors.mainBlue,
|
||||
|
||||
+4
-1
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
@@ -61,7 +62,9 @@ class TabletFinalCompletionOfDocumentsPage extends StatelessWidget {
|
||||
children: [
|
||||
BaseButton(
|
||||
isEnabled: true,
|
||||
onPressed: () {},
|
||||
onPressed: () {
|
||||
context.pop();
|
||||
},
|
||||
width: 176.0.w(),
|
||||
backgroundColor: AppColors.primary10,
|
||||
textColor: AppColors.mainBlue,
|
||||
|
||||
@@ -50,7 +50,7 @@ class _DesktopTendersPageState extends State<DesktopTendersPage> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final userRole = context.read<AuthViewModel>().userRole;
|
||||
final userRole = context.watch<AuthViewModel>().userRole;
|
||||
return Scaffold(
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
body: SafeArea(
|
||||
|
||||
Reference in New Issue
Block a user