import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:teso/util/consts.dart'; import 'package:teso/providers/user_provider.dart'; import 'package:provider/provider.dart'; class Gender extends StatefulWidget { final int value; const Gender({Key key, this.value}) : super(key: key); @override _GenderState createState() => _GenderState(value: this.value); } class _GenderState extends State { int value; _GenderState({this.value}); List genders = ["Male", "Female", "Other"]; bool light = true; @override void initState() { SharedPreferences.getInstance().then((prefs) { setState(() { light = prefs.getString("theme") == "dark" ? false : true; }); }); super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Gender"), leading: IconButton( icon: Icon(Icons.arrow_back_ios), onPressed: () { Navigator.of(context).pop(); }, ), actions: [ new Container( margin: EdgeInsets.symmetric(vertical: 0.0, horizontal: 20), child: new Center( child: ElevatedButton( style: ElevatedButton.styleFrom( primary: Theme.of(context).colorScheme.secondary, shape: RoundedRectangleBorder( borderRadius: BorderRadius.all( Radius.circular(25.0), ), ), ), onPressed: () { Provider.of(context, listen: false) .currentUser .gender = genders[value]; Navigator.of(context).pop(value); }, child: Text("Done"), ), ), ) ], ), body: Container( child: Column( children: [ for (int i = 0; i < genders.length; i++) Column( children: [ ListTile( title: Text( genders[i], style: Theme.of(context).textTheme.subtitle1.copyWith( color: light ? i == 3 ? Colors.black38 : Colors.black : i == 3 ? Colors.white10 : Colors.white, ), ), trailing: Radio( value: i, groupValue: value, activeColor: accentMain, onChanged: i == 3 ? null : (int _value) { setState(() { value = _value; }); }, ), ), Divider(), ], ), ], ), ), ); } }