added request successful page and add animation for feedback of tenders
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/data/services/model/tender_data/tender_data.dart';
|
||||
import 'package:tm_app/view_models/tenders_view_model.dart';
|
||||
@@ -13,6 +12,7 @@ import '../../../core/utils/size_config.dart';
|
||||
import '../../shared/select_submission_bottom_sheet.dart';
|
||||
import '../../shared/select_submission_dialog.dart';
|
||||
import '../strings/tenders_strings.dart';
|
||||
import '../widgets/animated_feedback_button.dart';
|
||||
|
||||
class TenderActionButtonsRow extends StatelessWidget {
|
||||
final TenderData tender;
|
||||
@@ -200,7 +200,6 @@ class TenderActionButtonsRow extends StatelessWidget {
|
||||
}
|
||||
|
||||
Widget _dislikeButton(TendersViewModel viewModel) {
|
||||
// Find feedback for this specific tender
|
||||
if (tender.id == null) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
@@ -208,46 +207,36 @@ class TenderActionButtonsRow extends StatelessWidget {
|
||||
final feedback = viewModel.getFeedbackForTender(tender.id!);
|
||||
final isDisliked = feedback?.feedbackType == TenderFeedback.disliked.value;
|
||||
|
||||
return Tooltip(
|
||||
message: TendersStrings.dislike,
|
||||
child: InkWell(
|
||||
splashColor: Colors.transparent,
|
||||
onTap: () {
|
||||
viewModel.toogleFeedback(
|
||||
tenderId: tender.id!,
|
||||
feedbackType: TenderFeedback.disliked.value,
|
||||
);
|
||||
},
|
||||
child: Column(
|
||||
children: [
|
||||
SvgPicture.asset(
|
||||
width: 24.0.w(),
|
||||
height: 24.0.w(),
|
||||
fit: BoxFit.cover,
|
||||
AssetsManager.dislike,
|
||||
colorFilter: ColorFilter.mode(
|
||||
isDisliked ? AppColors.errorColor : AppColors.grey50,
|
||||
BlendMode.srcATop,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 8.0.h()),
|
||||
if (!isDesktop)
|
||||
Text(
|
||||
TendersStrings.dislike,
|
||||
style: TextStyle(
|
||||
fontSize: 12.0.sp(),
|
||||
fontWeight: FontWeight.w400,
|
||||
color: isDisliked ? AppColors.errorColor : AppColors.grey50,
|
||||
),
|
||||
),
|
||||
],
|
||||
return Column(
|
||||
children: [
|
||||
AnimatedFeedbackButton(
|
||||
iconPath: AssetsManager.dislike,
|
||||
activeColor: AppColors.errorColor,
|
||||
inactiveColor: AppColors.grey50,
|
||||
isActive: isDisliked,
|
||||
tooltip: TendersStrings.dislike,
|
||||
onTap: () {
|
||||
viewModel.toogleFeedback(
|
||||
tenderId: tender.id!,
|
||||
feedbackType: TenderFeedback.disliked.value,
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
SizedBox(height: 8.0.h()),
|
||||
if (!isDesktop)
|
||||
Text(
|
||||
TendersStrings.dislike,
|
||||
style: TextStyle(
|
||||
fontSize: 12.0.sp(),
|
||||
fontWeight: FontWeight.w400,
|
||||
color: isDisliked ? AppColors.errorColor : AppColors.grey50,
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget _likeButton(TendersViewModel viewModel) {
|
||||
// Find feedback for this specific tender
|
||||
if (tender.id == null) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
@@ -255,41 +244,32 @@ class TenderActionButtonsRow extends StatelessWidget {
|
||||
final feedback = viewModel.getFeedbackForTender(tender.id!);
|
||||
final isLiked = feedback?.feedbackType == TenderFeedback.liked.value;
|
||||
|
||||
return Tooltip(
|
||||
message: TendersStrings.like,
|
||||
child: InkWell(
|
||||
splashColor: Colors.transparent,
|
||||
onTap: () {
|
||||
viewModel.toogleFeedback(
|
||||
tenderId: tender.id!,
|
||||
feedbackType: TenderFeedback.liked.value,
|
||||
);
|
||||
},
|
||||
child: Column(
|
||||
children: [
|
||||
SvgPicture.asset(
|
||||
width: 24.0.w(),
|
||||
height: 24.0.w(),
|
||||
fit: BoxFit.cover,
|
||||
AssetsManager.like,
|
||||
colorFilter: ColorFilter.mode(
|
||||
isLiked ? AppColors.successColor : AppColors.grey50,
|
||||
BlendMode.srcATop,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 8.0.h()),
|
||||
if (!isDesktop)
|
||||
Text(
|
||||
TendersStrings.like,
|
||||
style: TextStyle(
|
||||
fontSize: 12.0.sp(),
|
||||
fontWeight: FontWeight.w400,
|
||||
color: isLiked ? AppColors.successColor : AppColors.grey50,
|
||||
),
|
||||
),
|
||||
],
|
||||
return Column(
|
||||
children: [
|
||||
AnimatedFeedbackButton(
|
||||
iconPath: AssetsManager.like,
|
||||
activeColor: AppColors.successColor,
|
||||
inactiveColor: AppColors.grey50,
|
||||
isActive: isLiked,
|
||||
tooltip: TendersStrings.like,
|
||||
onTap: () {
|
||||
viewModel.toogleFeedback(
|
||||
tenderId: tender.id!,
|
||||
feedbackType: TenderFeedback.liked.value,
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
SizedBox(height: 8.0.h()),
|
||||
if (!isDesktop)
|
||||
Text(
|
||||
TendersStrings.like,
|
||||
style: TextStyle(
|
||||
fontSize: 12.0.sp(),
|
||||
fontWeight: FontWeight.w400,
|
||||
color: isLiked ? AppColors.successColor : AppColors.grey50,
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user