import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:tm_app/core/utils/size_config.dart'; import 'package:tm_app/views/shared/base_button.dart'; import '../../core/constants/common_strings.dart'; import '../../core/constants/tender_submision_mode.dart'; import '../../core/theme/colors.dart'; class SelectSubmissionDialog extends StatefulWidget { const SelectSubmissionDialog({required this.onConfirm, super.key}); final ValueChanged onConfirm; @override State createState() => _SelectSubmissionDialogState(); } class _SelectSubmissionDialogState extends State { int selectedType = 0; String type = TenderSubmissionMode.selfApply.value; @override Widget build(BuildContext context) { return Dialog( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16), side: BorderSide.none, ), child: Container( width: 560, height: 300, padding: EdgeInsets.symmetric(horizontal: 24.0.w(), vertical: 16.0.h()), decoration: BoxDecoration( color: AppColors.backgroundColor, borderRadius: BorderRadius.circular(16), ), child: Column( children: [ Text( CommonStrings.selectSubmission, style: TextStyle( fontSize: 20.0.sp(), fontWeight: FontWeight.w600, color: AppColors.grey70, ), ), SizedBox(height: 8.0.h()), _submissionType( title: CommonStrings.selfApply, isSelected: type == TenderSubmissionMode.selfApply.value, onTap: () { selectedType = 0; type = TenderSubmissionMode.selfApply.value; setState(() {}); }, ), SizedBox(height: 8.0.h()), _submissionType( title: CommonStrings.partnership, isSelected: type == TenderSubmissionMode.partnership.value, onTap: () { selectedType = 1; type = TenderSubmissionMode.partnership.value; setState(() {}); }, ), SizedBox(height: 8.0.h()), Align( alignment: Alignment.centerRight, child: Row( children: [ const Spacer(), // InkWell( // onTap: () { // context.pop(); // }, // child: Container( // width: 150, // height: 56.0, // decoration: BoxDecoration( // color: AppColors.red10, // borderRadius: BorderRadius.circular(100), // ), // alignment: Alignment.center, // child: Text( // CommonStrings.cancel, // style: TextStyle( // fontSize: 14.0.sp(), // fontWeight: FontWeight.w500, // color: AppColors.red20, // ), // ), // ), // ), BaseButton( isEnabled: true, onPressed: () { context.pop(); }, width: 150, height: 56.0, text: CommonStrings.cancel, backgroundColor: Colors.transparent, textColor: AppColors.errorColor, borderColor: AppColors.errorColor, ), SizedBox(width: 10.0.w()), InkWell( onTap: () { widget.onConfirm(type); context.pop(); }, child: Container( width: 150, height: 56.0, decoration: BoxDecoration( color: AppColors.primary20, borderRadius: BorderRadius.circular(100), ), alignment: Alignment.center, child: Text( CommonStrings.confirm, style: TextStyle( fontSize: 14.0.sp(), fontWeight: FontWeight.w500, color: AppColors.mainBlue, ), ), ), ), ], ), ), ], ), ), ); } Widget _submissionType({ required VoidCallback onTap, required String title, required bool isSelected, }) { return InkWell( onTap: onTap, child: SizedBox( width: double.infinity, height: 56.0.h(), child: Row( children: [ Container( width: 20.0.w(), height: 20.0.w(), margin: EdgeInsets.symmetric( horizontal: 10.0.w(), vertical: 10.0.h(), ), padding: const EdgeInsets.all(3), decoration: BoxDecoration( shape: BoxShape.circle, border: Border.all( color: isSelected ? AppColors.mainBlue : AppColors.grey70, width: 2.0, ), ), alignment: Alignment.center, child: Container( decoration: BoxDecoration( shape: BoxShape.circle, color: isSelected ? AppColors.mainBlue : Colors.transparent, ), ), ), Text( title, style: TextStyle( fontSize: 16.0.sp(), fontWeight: FontWeight.w400, color: AppColors.grey80, ), ), ], ), ), ); } }