import 'package:aitrainer_app/bloc/settings/settings_bloc.dart'; import 'package:aitrainer_app/localization/app_language.dart'; import 'package:aitrainer_app/localization/app_localization.dart'; import 'package:aitrainer_app/widgets/bottom_nav.dart'; import 'package:aitrainer_app/widgets/splash.dart'; import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; class SettingsPage extends StatelessWidget{ @override Widget build(BuildContext context) { // ignore: close_sinks SettingsBloc settingsBloc = BlocProvider.of(context); settingsBloc.context = context; return Scaffold( appBar: AppBar( title: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text(AppLocalizations.of(context).translate('Settings')), Image.asset( 'asset/image/WT_long_logo.png', fit: BoxFit.cover, height: 65.0, ), ], ), //title: Text(AppLocalizations.of(context).translate('Settings')), backgroundColor: Colors.transparent, ), body: Container( decoration: BoxDecoration( image: DecorationImage( image: AssetImage('asset/image/WT_light_background.png'), fit: BoxFit.cover, alignment: Alignment.center, ), ), child: Form( child: BlocConsumer( listener: (context, state) { if ( state is SettingsError ) { } }, // ignore: missing_return builder: (context, state) { if ( state is SettingsLoading ) { return LoadingDialog(); } else if ( state is SettingsReady || state is SettingsInitial) { return ListView( padding: EdgeInsets.only(top: 150), children: [ ListTile( leading: Icon(Icons.language), subtitle: Text( AppLocalizations.of(context).translate( "Change App Language")), title: DropdownButton( value: state.props[0] == Locale('en') ? AppLocalizations.of(context).translate( "English") : AppLocalizations.of(context).translate( "Hungarian"), items: [AppLocalizations.of(context).translate( "English"), AppLocalizations.of(context) .translate("Hungarian") ] .map>((String value) { return DropdownMenuItem( value: value, child: Text(value), ); }).toList(), onChanged: (String lang) => settingsBloc.add( SettingsChangeLanguage(language: lang) ), ) ), ] ); } else { return Container(); } } ), ), ), bottomNavigationBar: BottomNavigator(bottomNavIndex: 3) ); } }