added submit and reject for liked tenders

This commit is contained in:
amirrezaghabeli
2025-09-06 10:31:28 +03:30
parent 142c53f7aa
commit 185df3f40a
4 changed files with 252 additions and 93 deletions
@@ -1,4 +1,5 @@
import 'package:country_flags/country_flags.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart';
@@ -10,6 +11,8 @@ import 'package:tm_app/view_models/liked_tenders_view_model.dart';
import 'package:tm_app/views/home/strings/home_strings.dart';
import '../../../data/services/model/tender_approvals_data/tender_approvals_data.dart';
import '../../shared/select_submission_bottom_sheet.dart';
import '../../shared/select_submission_dialog.dart';
class LikedListItem extends StatelessWidget {
const LikedListItem({
@@ -32,7 +35,6 @@ class LikedListItem extends StatelessWidget {
borderRadius: BorderRadius.circular(4),
border: Border.all(color: AppColors.grey30),
),
margin: EdgeInsetsDirectional.only(end: 16.0.w()),
width: double.infinity,
height: 250.0.h(),
child: Padding(
@@ -172,52 +174,99 @@ class LikedListItem extends StatelessWidget {
),
),
Spacer(),
Container(
width: 32.0.w(),
height: 32.0.h(),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
InkWell(
onTap: () {
viewModel.rejectTenderApproval(
tenderId: tender.id!,
submissionMode: 'self-apply',
);
},
child: Container(
width: 32.0.w(),
height: 32.0.h(),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
color:
viewModel.isTenderRejected(tender.id!)
? AppColors.errorColor
: AppColors.grey60,
width: 1.5.w(),
),
),
alignment: Alignment.center,
child: Icon(
Icons.close,
color:
approval?.status == 'rejected'
viewModel.isTenderRejected(tender.id!)
? AppColors.errorColor
: AppColors.grey60,
width: 1.5.w(),
size: 16,
),
),
alignment: Alignment.center,
child: Icon(
Icons.close,
color:
approval?.status == 'rejected'
? AppColors.errorColor
: AppColors.grey60,
size: 16,
),
),
SizedBox(width: 30.0.w()),
Container(
width: 32.0.w(),
height: 32.0.h(),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
InkWell(
onTap: () {
if (viewModel.isTenderSubmitted(tender.id!)) {
viewModel.submitTenderApproval(
tenderId: tender.id!,
submissionMode: 'self-apply',
);
} else {
kIsWeb
? showDialog(
context: context,
builder: (context) {
return SelectSubmissionDialog(
onConfirm: (value) {
viewModel.submitTenderApproval(
tenderId: tender.id!,
submissionMode: value,
);
},
);
},
)
: showModalBottomSheet(
isDismissible: true,
context: context,
builder: (context) {
return SelectSubmissionBottomSheet(
onConfirm: (value) {
viewModel.submitTenderApproval(
tenderId: tender.id!,
submissionMode: value,
);
},
);
},
);
}
},
child: Container(
width: 32.0.w(),
height: 32.0.h(),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
color:
viewModel.isTenderSubmitted(tender.id!)
? AppColors.successColor
: AppColors.grey60,
width: 1.5.w(),
),
),
alignment: Alignment.center,
child: Icon(
Icons.check,
color:
approval?.status == 'submitted'
viewModel.isTenderSubmitted(tender.id!)
? AppColors.successColor
: AppColors.grey60,
width: 1.5.w(),
size: 16,
),
),
alignment: Alignment.center,
child: Icon(
Icons.check,
color:
approval?.status == 'submitted'
? AppColors.successColor
: AppColors.grey60,
size: 16,
),
),
],
),