// import 'package:cloud_firestore/cloud_firestore.dart'; // import 'package:firebase_auth/firebase_auth.dart'; // import 'package:flutter/cupertino.dart'; // import 'package:flutter/material.dart'; // import 'package:get/get.dart'; // import 'package:prosappco/src/components/pop_appbar.dart'; // import 'package:prosappco/src/presentation/screens/about.dart'; // class ConfigurationScreen extends StatefulWidget { // const ConfigurationScreen({super.key}); // @override // State createState() => _ConfigurationScreenState(); // } // class _ConfigurationScreenState extends State { // late final FirebaseAuth _auth; // @override // void initState() { // super.initState(); // _auth = FirebaseAuth.instance; // } // Future deleteAccount() async { // try { // final currentUser = _auth.currentUser; // if (currentUser != null) { // final uid = currentUser.uid; // await FirebaseFirestore.instance.collection('users').doc(uid).delete(); // await currentUser.delete(); // await _auth.signOut(); // Get.snackbar( // 'Cuenta Eliminada', // 'Tu cuenta ha sido eliminada con éxito.', // snackPosition: SnackPosition.BOTTOM, // ); // } // } catch (e) { // Get.snackbar( // 'Error al Eliminar Cuenta', // 'Hubo un error al eliminar tu cuenta. Por favor, inténtalo de nuevo más tarde.', // snackPosition: SnackPosition.BOTTOM, // ); // } // } // Future _showDeleteAccountConfirmationDialog( // BuildContext context) async { // return showDialog( // context: context, // builder: (BuildContext context) { // return AlertDialog( // title: const Text('Eliminar Cuenta'), // content: const Text( // '¿Estás seguro de que deseas eliminar tu cuenta? Esta acción no se puede deshacer.'), // actions: [ // TextButton( // onPressed: () { // Navigator.of(context).pop(); // }, // child: const Text('Cancelar'), // ), // TextButton( // onPressed: () { // deleteAccount(); // Navigator.of(context).pop(); // }, // child: const Text( // 'Eliminar', // style: // TextStyle(color: Colors.red, fontWeight: FontWeight.w600), // ), // ), // ], // ); // }, // ); // } // @override // Widget build(BuildContext context) { // return Scaffold( // appBar: PopAppbar( // onPressed: () { // Navigator.pop(context); // }, // label: 'Configuración'), // body: ListView( // children: [ // ListTile( // onTap: () { // Navigator.push( // context, // CupertinoPageRoute( // builder: (BuildContext context) { // return const AboutScreen(); // }, // ), // ); // }, // title: const Text('Acerca de la aplicación'), // trailing: const Icon( // Icons.keyboard_arrow_right, // color: Colors.black, // ), // ), // ListTile( // onTap: () { // _showDeleteAccountConfirmationDialog(context); // }, // title: const Text( // 'Eliminar cuenta', // style: TextStyle(color: Colors.red), // ), // ), // ], // ), // ); // } // } import 'dart:developer'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:injector/injector.dart'; import 'package:prosappco/blocs/setting_bloc/setting_bloc.dart'; import 'package:prosappco/components/general_drawer_item.dart'; import 'package:prosappco/screens/configuration/configuration_about_screen.dart'; class ConfigurationScreen extends StatelessWidget { const ConfigurationScreen({super.key}); @override Widget build(BuildContext context) { final settingBloc = Injector.appInstance.get(); return BlocProvider( create: (context) => settingBloc, child: BlocListener( listener: (context, state) { if (state is SettingLogoutSuccess) { Navigator.pop(context); } }, child: Scaffold( appBar: AppBar( title: const Text('Configuración'), ), body: ListView( children: [ GeneralDrawerItem( label: 'Acerca de la aplicación', onTap: () { Navigator.push( context, CupertinoPageRoute( builder: (BuildContext context) { return const ConfigurationAboutScreen(); }, ), ); }, trailing: true, ), GeneralDrawerItem( label: 'Cerrar sesión', onTap: () { try { settingBloc.add(SettingLogoutRequest()); } catch (e) { log('xd conigura ${e.toString()}'); } }, ), GeneralDrawerItem( label: 'Eliminar cuenta', onTap: () {}, color: Theme.of(context).colorScheme.error, ) ], ), ), ), ); } }