From cc16d281957bbcafa624e6cc335d94cb47bd26ee Mon Sep 17 00:00:00 2001 From: amirrezaghabeli Date: Tue, 14 Oct 2025 10:24:06 +0330 Subject: [PATCH] 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. --- lib/views/detail/widgets/meeting_time_dialog.dart | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/views/detail/widgets/meeting_time_dialog.dart b/lib/views/detail/widgets/meeting_time_dialog.dart index b643684..7813fdc 100644 --- a/lib/views/detail/widgets/meeting_time_dialog.dart +++ b/lib/views/detail/widgets/meeting_time_dialog.dart @@ -1,8 +1,10 @@ import 'package:flutter/material.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/theme/colors.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'; class MeetingTimeDialog extends StatefulWidget { @@ -27,6 +29,7 @@ class _MeetingTimeDialogState extends State { @override Widget build(BuildContext context) { + final userRole = context.read().userRole; return Dialog( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16), @@ -89,7 +92,11 @@ class _MeetingTimeDialogState extends State { onTap: () { widget.onConfirm(type); context.pop(); - const CompletionOfDocumentsRouteData().push(context); + userRole == Role.admin + ? const CompletionOfDocumentsRouteData().push(context) + : const FinalCompletionOfDocumentsRouteData().push( + context, + ); }, child: Container( width: double.infinity,