import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:tm_app/core/constants/strings.dart'; import 'package:tm_app/core/theme/colors.dart'; import 'package:tm_app/core/utils/size_config.dart'; import 'package:tm_app/view_models/tender_detail_view_model.dart'; import 'package:tm_app/views/shared/base_button.dart'; import 'package:tm_app/views/shared/select_submission_bottom_sheet.dart'; import '../../../data/services/model/tender_data/tender_data.dart'; class TenderDetailActions extends StatelessWidget { final bool isScreenBig; final TenderData detail; const TenderDetailActions({ required this.isScreenBig, required this.detail, super.key, }); @override Widget build(BuildContext context) { return isScreenBig ? Row( children: [ Spacer(), BaseButton( isEnabled: true, text: AppStrings.tenderRejectButton, textColor: AppColors.red10, backgroundColor: AppColors.backgroundColor, borderWidth: 1, onPressed: () {}, width: 120.0.w(), ), SizedBox(width: 5.0.w()), BaseButton( isEnabled: true, text: AppStrings.tenderSubmitButton, backgroundColor: AppColors.lightBlue, textColor: AppColors.mainBlue, onPressed: () {}, width: 120.0.w(), ), ], ) : Column( children: [ Consumer( builder: (context, viewModel, child) { return viewModel.isSubmitApprovalLoading ? Container( height: 56.0.h(), width: double.infinity, decoration: BoxDecoration( color: AppColors.primary30, borderRadius: BorderRadius.circular(100.0), ), child: Center( child: CircularProgressIndicator( color: AppColors.mainBlue, ), ), ) : BaseButton( isEnabled: true, text: AppStrings.tenderSubmitButton, backgroundColor: AppColors.primary30, textColor: AppColors.mainBlue, onPressed: () { if (viewModel.status == 'approved') { viewModel.submitTenderApproval( tenderId: detail.id!, submissionMode: 'self-apply', ); } else { showModalBottomSheet( isDismissible: true, context: context, builder: (context) { return SelectSubmissionBottomSheet( onConfirm: (value) { viewModel.submitTenderApproval( tenderId: detail.id!, submissionMode: value, ); }, ); }, ); } }, ); }, ), SizedBox(height: 16.0.h()), Consumer( builder: (context, viewModel, child) { return viewModel.isRejectApprovalLoading ? BaseButton( isEnabled: true, text: AppStrings.tenderRejectButton, borderColor: AppColors.error, textColor: AppColors.error, backgroundColor: AppColors.backgroundColor, borderWidth: 1, onPressed: () {}, ) : BaseButton( isEnabled: true, text: AppStrings.tenderRejectButton, borderColor: AppColors.error, textColor: AppColors.error, backgroundColor: AppColors.backgroundColor, borderWidth: 1, onPressed: () { viewModel.rejectTenderApproval( tenderId: detail.id!, submissionMode: 'self-apply', ); }, ); }, ), SizedBox(height: 16.0.h()), ], ); } }