removed hardcoded status feedback and submission mode

This commit is contained in:
amirrezaghabeli
2025-09-08 12:22:08 +03:30
parent 65822036c8
commit f6da74f739
25 changed files with 228 additions and 113 deletions
@@ -5,6 +5,9 @@ import 'package:tm_app/data/services/model/tender_data/tender_data.dart';
import 'package:tm_app/view_models/tenders_view_model.dart';
import '../../../core/constants/assets.dart';
import '../../../core/constants/tender_approval_status.dart';
import '../../../core/constants/tender_feedback.dart';
import '../../../core/constants/tender_submision_mode.dart';
import '../../../core/theme/colors.dart';
import '../../../core/utils/size_config.dart';
import '../../shared/select_submission_bottom_sheet.dart';
@@ -54,7 +57,7 @@ class TenderActionButtonsRow extends StatelessWidget {
}
final approval = viewModel.getTenderApprovalForTender(tender.id!);
final isRejected = approval?.status == 'rejected';
final isRejected = approval?.status == TenderApprovalStatus.rejected.value;
return Tooltip(
message: TendersStrings.reject,
@@ -63,8 +66,8 @@ class TenderActionButtonsRow extends StatelessWidget {
onTap: () {
viewModel.toggleApprovals(
tenderId: tender.id!,
submissionMode: 'self-apply',
status: 'rejected',
submissionMode: TenderSubmissionMode.selfApply.value,
status: TenderApprovalStatus.rejected.value,
);
},
child: Column(
@@ -109,7 +112,7 @@ class TenderActionButtonsRow extends StatelessWidget {
}
final approval = viewModel.getTenderApprovalForTender(tender.id!);
final isApproved = approval?.status == 'submitted';
final isApproved = approval?.status == TenderApprovalStatus.submitted.value;
return Tooltip(
message: TendersStrings.submit,
@@ -119,8 +122,11 @@ class TenderActionButtonsRow extends StatelessWidget {
if (isApproved) {
viewModel.toggleApprovals(
tenderId: tender.id!,
submissionMode: approval?.submissionMode ?? 'self-apply',
status: 'submitted',
submissionMode:
(approval?.submissionMode?.isNotEmpty == true)
? approval!.submissionMode!
: TenderSubmissionMode.selfApply.value,
status: TenderApprovalStatus.submitted.value,
);
} else {
final isMobile = MediaQuery.sizeOf(context).width < 600;
@@ -134,7 +140,7 @@ class TenderActionButtonsRow extends StatelessWidget {
viewModel.toggleApprovals(
tenderId: tender.id!,
submissionMode: value,
status: 'submitted',
status: TenderApprovalStatus.submitted.value,
);
},
);
@@ -149,7 +155,7 @@ class TenderActionButtonsRow extends StatelessWidget {
viewModel.toggleApprovals(
tenderId: tender.id!,
submissionMode: value,
status: 'submitted',
status: TenderApprovalStatus.submitted.value,
);
},
);
@@ -200,7 +206,7 @@ class TenderActionButtonsRow extends StatelessWidget {
}
final feedback = viewModel.getFeedbackForTender(tender.id!);
final isDisliked = feedback?.feedbackType == 'dislike';
final isDisliked = feedback?.feedbackType == TenderFeedback.disliked.value;
return Tooltip(
message: TendersStrings.dislike,
@@ -209,7 +215,7 @@ class TenderActionButtonsRow extends StatelessWidget {
onTap: () {
viewModel.toogleFeedback(
tenderId: tender.id!,
feedbackType: 'dislike',
feedbackType: TenderFeedback.disliked.value,
);
},
child: Column(
@@ -247,14 +253,17 @@ class TenderActionButtonsRow extends StatelessWidget {
}
final feedback = viewModel.getFeedbackForTender(tender.id!);
final isLiked = feedback?.feedbackType == 'like';
final isLiked = feedback?.feedbackType == TenderFeedback.liked.value;
return Tooltip(
message: TendersStrings.like,
child: InkWell(
splashColor: Colors.transparent,
onTap: () {
viewModel.toogleFeedback(tenderId: tender.id!, feedbackType: 'like');
viewModel.toogleFeedback(
tenderId: tender.id!,
feedbackType: TenderFeedback.liked.value,
);
},
child: Column(
children: [