import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import '../../controllers/providers/api/user_provider.dart'; import '../../controllers/providers/settings/setting_provider.dart'; import '../../models/enums/translation_keys.dart'; import 'app_filled_button.dart'; class AppDrawer extends StatelessWidget { const AppDrawer({Key key}) : super(key: key); @override Widget build(BuildContext context) { final settingProvider = Provider.of(context, listen: false); final userProvider = Provider.of(context, listen: false); return Drawer( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ AppFilledButton( label: context.translation.login, onPressed: () async { /// TODO [zaid] : show dialog before logout // bool result = await showDialog( // context: context, // builder: (_) => const AAlertDialog( // title: "_subtitle.signOut", // content: "_subtitle.signOutAlert", // ), // ); if (true) { settingProvider.resetSettings(); userProvider.reset(); Navigator.of(context).pop(); Navigator.of(context).pop(); } }), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ const Text("Dark"), Switch.adaptive( value: context.isDark, onChanged: (value) { settingProvider.setDarkTheme(value); }, ), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ const Text("Arabic"), Switch.adaptive( value: settingProvider.language == "ar", onChanged: (value) { settingProvider.setLanguage(value ? "ar" : "en"); }, ), ], ), ], ), ); } }