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<SettingsBloc>(context);
    settingsBloc.context = context;
    return Scaffold(
        appBar: AppBar(
          title: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              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<SettingsBloc, SettingsState>(
                  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: <Widget>[
                          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<DropdownMenuItem<String>>((String value) {
                                return DropdownMenuItem<String>(
                                  value: value,
                                  child: Text(value),
                                );
                              }).toList(),
                              onChanged: (String lang) =>
                                settingsBloc.add(
                                  SettingsChangeLanguage(language: lang)
                                ),
                            )

                          ),
                        ]
                      );
                    } else {
                      return Container();
                    }
                  }
              ),
            ),
        ),
        bottomNavigationBar: BottomNavigator(bottomNavIndex: 3)

    );
  }
}