Add clock asset and enhance meeting time dialogs

- Added a new clock icon asset to the AssetsManager.
- Updated MeetingTimeBottomSheet and MeetingTimeDialog to include a close button for better user experience.
- Introduced MeetingTimeSuccessfulRegisteredBottomSheet and MeetingTimeSuccessfulRegisteredDialog for confirming meeting time registration.
- Refactored submission dialogs to improve layout and interaction consistency.
This commit is contained in:
amirrezaghabeli
2025-10-27 13:22:51 +03:30
parent b801d75f99
commit de659ca9cf
11 changed files with 599 additions and 138 deletions
@@ -2,9 +2,9 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:tm_app/core/utils/size_config.dart';
import '../../../core/routes/app_routes.dart';
import '../../../core/theme/colors.dart';
import '../strings/tender_details_strings.dart';
import 'meeting_time_successful_registered_bottom_sheet.dart';
class MeetingTimeBottomSheet extends StatefulWidget {
const MeetingTimeBottomSheet({required this.onConfirm, super.key});
@@ -41,13 +41,38 @@ class _MeetingTimeBottomSheetState extends State<MeetingTimeBottomSheet> {
),
child: Column(
children: [
Text(
TenderDetailsStrings.meetingTime,
style: TextStyle(
fontSize: 20.0.sp(),
fontWeight: FontWeight.w600,
color: AppColors.grey70,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
TenderDetailsStrings.meetingTime,
style: TextStyle(
fontSize: 20.0.sp(),
fontWeight: FontWeight.w600,
color: AppColors.grey70,
),
),
InkWell(
onTap: () {
context.pop();
},
splashColor: Colors.transparent,
child: Container(
width: 24.0.w(),
height: 24.0.w(),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(color: AppColors.grey60, width: 2.0),
),
alignment: Alignment.center,
child: Icon(
Icons.close,
color: AppColors.grey60,
size: 16.0,
),
),
),
],
),
SizedBox(height: 15.0.h()),
ListView.builder(
@@ -75,9 +100,14 @@ class _MeetingTimeBottomSheetState extends State<MeetingTimeBottomSheet> {
SizedBox(height: 8.0.h()),
InkWell(
onTap: () {
widget.onConfirm(type);
// widget.onConfirm(type);
context.pop();
const CompletionOfDocumentsRouteData().push(context);
showModalBottomSheet(
context: context,
builder: (context) {
return const MeetingTimeSuccessfulRegisteredBottomSheet();
},
);
},
child: Container(
width: double.infinity,