195 lines
5.8 KiB
Dart
195 lines
5.8 KiB
Dart
// 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<ConfigurationScreen> createState() => _ConfigurationScreenState();
|
|
// }
|
|
|
|
// class _ConfigurationScreenState extends State<ConfigurationScreen> {
|
|
// late final FirebaseAuth _auth;
|
|
|
|
// @override
|
|
// void initState() {
|
|
// super.initState();
|
|
// _auth = FirebaseAuth.instance;
|
|
// }
|
|
|
|
// Future<void> 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<void> _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<SettingBloc>();
|
|
|
|
return BlocProvider<SettingBloc>(
|
|
create: (context) => settingBloc,
|
|
child: BlocListener<SettingBloc, SettingState>(
|
|
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,
|
|
)
|
|
],
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|