Implement role-based navigation in MeetingTimeDialog
- Added user role retrieval from AuthViewModel in MeetingTimeDialog. - Updated navigation logic to conditionally push routes based on user role (admin or non-admin) when confirming meeting time.
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:tm_app/core/routes/app_routes.dart';
|
import 'package:tm_app/core/routes/app_routes.dart';
|
||||||
import 'package:tm_app/core/theme/colors.dart';
|
import 'package:tm_app/core/theme/colors.dart';
|
||||||
import 'package:tm_app/core/utils/size_config.dart';
|
import 'package:tm_app/core/utils/size_config.dart';
|
||||||
|
import 'package:tm_app/view_models/auth_view_model.dart';
|
||||||
import 'package:tm_app/views/detail/strings/tender_details_strings.dart';
|
import 'package:tm_app/views/detail/strings/tender_details_strings.dart';
|
||||||
|
|
||||||
class MeetingTimeDialog extends StatefulWidget {
|
class MeetingTimeDialog extends StatefulWidget {
|
||||||
@@ -27,6 +29,7 @@ class _MeetingTimeDialogState extends State<MeetingTimeDialog> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final userRole = context.read<AuthViewModel>().userRole;
|
||||||
return Dialog(
|
return Dialog(
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(16),
|
borderRadius: BorderRadius.circular(16),
|
||||||
@@ -89,7 +92,11 @@ class _MeetingTimeDialogState extends State<MeetingTimeDialog> {
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
widget.onConfirm(type);
|
widget.onConfirm(type);
|
||||||
context.pop();
|
context.pop();
|
||||||
const CompletionOfDocumentsRouteData().push(context);
|
userRole == Role.admin
|
||||||
|
? const CompletionOfDocumentsRouteData().push(context)
|
||||||
|
: const FinalCompletionOfDocumentsRouteData().push(
|
||||||
|
context,
|
||||||
|
);
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
|
|||||||
Reference in New Issue
Block a user