import 'package:eatvio_app/data/models/userRegistrationModel/user_registration_model.dart'; import 'package:eatvio_app/presentation/credentials_screen/credentials_screen.dart'; import 'bloc/language_select_bloc.dart'; import 'models/language_select_model.dart'; import 'package:eatvio_app/core/app_export.dart'; import 'package:eatvio_app/widgets/custom_drop_down.dart'; import 'package:eatvio_app/widgets/next_step_button.dart'; import 'package:flutter/material.dart'; class LanguageSelectScreen extends StatelessWidget { const LanguageSelectScreen({Key? key}) : super(key: key); static Widget builder(BuildContext context) { return BlocProvider( create: (context) => LanguageSelectBloc( LanguageSelectState(languageSelectModelObj: LanguageSelectModel())) ..add(LanguageSelectInitialEvent()), child: LanguageSelectScreen()); } @override Widget build(BuildContext context) { mediaQueryData = MediaQuery.of(context); return SafeArea( child: Scaffold( body: Container( width: double.maxFinite, padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 5.v), child: Column(children: [ CustomImageView( imagePath: ImageConstant.imgLogoEatvio, height: 50.adaptSize, width: 50.adaptSize), SizedBox(height: 20.v), Container( height: 16.v, width: 343.h, decoration: BoxDecoration( color: theme.colorScheme.onPrimary, borderRadius: BorderRadius.circular(8.h), border: Border.all( color: theme.colorScheme.primary, width: 1.h)), child: ClipRRect( borderRadius: BorderRadius.circular(8.h), child: LinearProgressIndicator( value: 0, backgroundColor: theme.colorScheme.onPrimary, valueColor: AlwaysStoppedAnimation( appTheme.blueA400)))), SizedBox(height: 20.v), Container( width: 262.h, margin: EdgeInsets.only(left: 41.h, right: 39.h), child: Text("preferred_language".tr, maxLines: 2, overflow: TextOverflow.ellipsis, textAlign: TextAlign.center, style: theme.textTheme.headlineSmall)), Spacer(flex: 36), BlocSelector( selector: (state) => state.languageSelectModelObj, builder: ( context, languageSelectModelObj, ) { return CustomDropDown( icon: Container( margin: EdgeInsets.fromLTRB(30.h, 11.v, 17.h, 11.v), decoration: BoxDecoration( borderRadius: BorderRadius.circular(1.h)), child: CustomImageView( imagePath: ImageConstant.imgFavorite, height: 12.adaptSize, width: 12.adaptSize)), hintText: "Не выбрано".tr, items: languageSelectModelObj?.dropdownItemList ?? [], onChanged: (value) { context .read() .add(ChangeDropDownEvent(value: value)); }); }), Spacer(flex: 63) ])), bottomNavigationBar: BlocBuilder( builder: (context, state) { return NextStepButton( text: "continue".tr.toUpperCase(), margin: EdgeInsets.only(left: 16.h, right: 16.h, bottom: 50.v), buttonStyle: CustomButtonStyles.outlinePrimaryTL15, onPressed: () { UserRegistrationSheet sheet = state.languageSelectModelObj!.userRegistrationSheet; Navigator.pushNamed( context, AppRoutes.credentialsScreen, arguments: sheet, ); }); }))); } }