Refactor completion of documents routing and UI components

- Removed unused mobile route for completion of documents.
- Updated app routes to reflect the removal of the mobile route.
- Enhanced the desktop and mobile pages for completion of documents with improved layout and added TabletDesktopAppbar.
- Introduced meeting time handling in TenderDetailActions, integrating new bottom sheet and dialog components for better user interaction.
- Added meeting time state management in TenderDetailViewModel.
- Cleaned up deprecated files related to meeting time selection.
This commit is contained in:
amirrezaghabeli
2025-10-13 14:51:39 +03:30
parent be6b0bbe98
commit 919b9fb2ed
14 changed files with 448 additions and 282 deletions
@@ -6,6 +6,8 @@ import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/views/completion_of_documents/strings/completion_of_documents_string.dart';
import 'package:tm_app/views/shared/base_button.dart';
import 'package:tm_app/views/shared/desktop_navigation_widget.dart';
import 'package:tm_app/views/shared/tablet_desktop_appbar.dart'
show TabletDesktopAppbar;
class CompletionOfDocumentsDesktopPage extends StatelessWidget {
const CompletionOfDocumentsDesktopPage({super.key});
@@ -17,36 +19,24 @@ class CompletionOfDocumentsDesktopPage extends StatelessWidget {
body: Column(
children: [
const DesktopNavigationWidget(currentIndex: 0),
SizedBox(
width: 760,
Expanded(
child: SingleChildScrollView(
child: Center(
child: SizedBox(
child: Padding(
padding: EdgeInsets.symmetric(vertical: 24.0.h()),
child: Expanded(
child: SizedBox(
width: double.infinity,
child: Center(
child: SizedBox(
width: 760,
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
SvgPicture.asset(
AssetsManager.arrowLeft,
width: 24.0.w(),
height: 24.0.h(),
),
SizedBox(width: 8.0.w()),
Text(
SizedBox(height: 40.0.h()),
const TabletDesktopAppbar(
title:
CompletionOfDocumentsStrings
.completionOfDocuments,
style: TextStyle(
color: AppColors.grey70,
fontSize: 16.0.sp(),
fontWeight: FontWeight.w600,
),
),
],
),
SizedBox(height: 24.0.h()),
_deadlineContainer(),
@@ -78,6 +68,7 @@ class CompletionOfDocumentsDesktopPage extends StatelessWidget {
textColor: AppColors.textBlue,
backgroundColor: AppColors.primary30,
),
SizedBox(height: 24.0.h()),
],
),
),
@@ -6,6 +6,8 @@ import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/views/completion_of_documents/strings/completion_of_documents_string.dart';
import 'package:tm_app/views/shared/base_button.dart';
import '../../shared/tender_app_bar.dart';
class CompletionOfDocumentsMobilePage extends StatelessWidget {
const CompletionOfDocumentsMobilePage({super.key});
@@ -13,10 +15,10 @@ class CompletionOfDocumentsMobilePage extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.backgroundColor,
// appBar: appBar(
// context: context,
// title: CompletionOfDocumentsStrings.completionOfDocuments,
// ),
appBar: appBar(
context: context,
title: CompletionOfDocumentsStrings.completionOfDocuments,
),
body: SafeArea(
child: SingleChildScrollView(
padding: EdgeInsets.symmetric(
@@ -26,26 +28,6 @@ class CompletionOfDocumentsMobilePage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
SvgPicture.asset(
AssetsManager.arrowLeft,
width: 24.0.w(),
height: 24.0.h(),
),
SizedBox(width: 8.0.w()),
Text(
CompletionOfDocumentsStrings.completionOfDocuments,
style: TextStyle(
color: AppColors.grey70,
fontSize: 16.0.sp(),
fontWeight: FontWeight.w600,
),
),
],
),
SizedBox(height: 24.0.h()),
Container(
width: double.infinity,
height: 24.0.h(),