fix
This commit is contained in:
@@ -375,10 +375,10 @@ class DrawerMenu extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 5),
|
const SizedBox(height: 5),
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
onPressed: () {
|
onPressed: () async {
|
||||||
AuthenticationRepository.instance.logout(uid!);
|
await AuthenticationRepository.instance.logout(uid!);
|
||||||
|
|
||||||
userProvider.initUserProvider();
|
userProvider.setNullUser();
|
||||||
},
|
},
|
||||||
style: ElevatedButton.styleFrom(
|
style: ElevatedButton.styleFrom(
|
||||||
backgroundColor: Colors.red,
|
backgroundColor: Colors.red,
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ class LoginEmailController extends GetxController {
|
|||||||
final email = TextEditingController();
|
final email = TextEditingController();
|
||||||
final password = TextEditingController();
|
final password = TextEditingController();
|
||||||
|
|
||||||
void loginUser(String email, String password) {
|
Future<void> loginUser(String email, String password) async {
|
||||||
AuthenticationRepository.instance
|
await AuthenticationRepository.instance
|
||||||
.loginWithEmailAndPassword(email, password);
|
.loginWithEmailAndPassword(email, password);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ class PhoneAuthController extends GetxController {
|
|||||||
|
|
||||||
final phoneNo = TextEditingController();
|
final phoneNo = TextEditingController();
|
||||||
|
|
||||||
void phoneAuthentication(String phoneNo) {
|
Future<void> phoneAuthentication(String phoneNo) async {
|
||||||
AuthenticationRepository.instance.phoneAuthentication(phoneNo);
|
await AuthenticationRepository.instance.phoneAuthentication(phoneNo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ class RegisterController extends GetxController {
|
|||||||
final email = TextEditingController();
|
final email = TextEditingController();
|
||||||
final password = TextEditingController();
|
final password = TextEditingController();
|
||||||
|
|
||||||
void registerUser(String email, String password) {
|
Future<void> registerUser(String email, String password) async {
|
||||||
AuthenticationRepository.instance
|
await AuthenticationRepository.instance
|
||||||
.createUserWithEmailAndPassword(email, password);
|
.createUserWithEmailAndPassword(email, password);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ class UserProvider extends ChangeNotifier {
|
|||||||
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
|
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
|
||||||
UserModel? _user;
|
UserModel? _user;
|
||||||
ScoresModel? _score;
|
ScoresModel? _score;
|
||||||
|
Stream<DocumentSnapshot<Map<String, dynamic>>>? _stream;
|
||||||
|
|
||||||
UserProvider() {
|
UserProvider() {
|
||||||
initUserProvider();
|
initUserProvider();
|
||||||
@@ -15,10 +16,11 @@ class UserProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
void initUserProvider() {
|
void initUserProvider() {
|
||||||
var uid = FirebaseAuth.instance.currentUser?.uid;
|
var uid = FirebaseAuth.instance.currentUser?.uid;
|
||||||
|
print('DesdeProvider $uid');
|
||||||
if (uid == null) return;
|
if (uid == null) return;
|
||||||
|
print('initUserProvider');
|
||||||
final stream = _firestore.collection('users').doc(uid).snapshots();
|
_stream = _firestore.collection('users').doc(uid).snapshots();
|
||||||
stream.listen((documentSnapshot) async {
|
_stream?.listen((documentSnapshot) async {
|
||||||
if (documentSnapshot.exists) {
|
if (documentSnapshot.exists) {
|
||||||
final data = documentSnapshot.data() as Map<String, dynamic>;
|
final data = documentSnapshot.data() as Map<String, dynamic>;
|
||||||
_user = UserModel.fromFirestore(data);
|
_user = UserModel.fromFirestore(data);
|
||||||
@@ -32,6 +34,13 @@ class UserProvider extends ChangeNotifier {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setNullUser() {
|
||||||
|
_user = null;
|
||||||
|
_score = null;
|
||||||
|
_stream = null;
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
UserModel? get user => _user;
|
UserModel? get user => _user;
|
||||||
ScoresModel? get score => _score;
|
ScoresModel? get score => _score;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,8 +8,10 @@ import 'package:prosappco/src/components/bottom_sheet.dart';
|
|||||||
import 'package:prosappco/src/components/primary_btn.dart';
|
import 'package:prosappco/src/components/primary_btn.dart';
|
||||||
import 'package:prosappco/src/controllers/phone_auth_controller.dart';
|
import 'package:prosappco/src/controllers/phone_auth_controller.dart';
|
||||||
import 'package:prosappco/src/models/setting_model.dart';
|
import 'package:prosappco/src/models/setting_model.dart';
|
||||||
|
import 'package:prosappco/src/providers/user_provider.dart';
|
||||||
import 'package:prosappco/src/screens/code_validation.dart';
|
import 'package:prosappco/src/screens/code_validation.dart';
|
||||||
import 'package:prosappco/src/screens/web_view.dart';
|
import 'package:prosappco/src/screens/web_view.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:responsive_builder/responsive_builder.dart';
|
import 'package:responsive_builder/responsive_builder.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
@@ -171,9 +173,12 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
PrimaryButtom(
|
PrimaryButtom(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (_formKey.currentState!.validate()) {
|
if (_formKey.currentState!.validate()) {
|
||||||
PhoneAuthController.instance.phoneAuthentication(
|
PhoneAuthController.instance
|
||||||
completePhoneNumber.trim(),
|
.phoneAuthentication(
|
||||||
);
|
completePhoneNumber.trim(),
|
||||||
|
)
|
||||||
|
.then((value) =>
|
||||||
|
{Provider.of<UserProvider>(context).initUserProvider()});
|
||||||
Get.to(
|
Get.to(
|
||||||
() => CodeValidationScreen(
|
() => CodeValidationScreen(
|
||||||
phoneNumber: completePhoneNumber.trim(),
|
phoneNumber: completePhoneNumber.trim(),
|
||||||
@@ -341,9 +346,14 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
PrimaryButtom(
|
PrimaryButtom(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (_formKey.currentState!.validate()) {
|
if (_formKey.currentState!.validate()) {
|
||||||
PhoneAuthController.instance.phoneAuthentication(
|
PhoneAuthController.instance
|
||||||
completePhoneNumber.trim(),
|
.phoneAuthentication(
|
||||||
);
|
completePhoneNumber.trim(),
|
||||||
|
)
|
||||||
|
.then((value) => {
|
||||||
|
Provider.of<UserProvider>(context)
|
||||||
|
.initUserProvider()
|
||||||
|
});
|
||||||
Get.to(
|
Get.to(
|
||||||
() => CodeValidationScreen(
|
() => CodeValidationScreen(
|
||||||
phoneNumber: completePhoneNumber.trim(),
|
phoneNumber: completePhoneNumber.trim(),
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import 'package:get/get.dart';
|
|||||||
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
import 'package:prosappco/src/authentication/authentication_repository.dart';
|
||||||
import 'package:prosappco/src/components/primary_btn.dart';
|
import 'package:prosappco/src/components/primary_btn.dart';
|
||||||
import 'package:prosappco/src/controllers/login_email_controller.dart';
|
import 'package:prosappco/src/controllers/login_email_controller.dart';
|
||||||
|
import 'package:prosappco/src/providers/user_provider.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:responsive_builder/responsive_builder.dart';
|
import 'package:responsive_builder/responsive_builder.dart';
|
||||||
|
|
||||||
class LoginEmailScreen extends StatefulWidget {
|
class LoginEmailScreen extends StatefulWidget {
|
||||||
@@ -555,10 +557,14 @@ class PaddingButtomBottom extends StatelessWidget {
|
|||||||
child: PrimaryButtom(
|
child: PrimaryButtom(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (_formKey.currentState!.validate()) {
|
if (_formKey.currentState!.validate()) {
|
||||||
LoginEmailController.instance.loginUser(
|
LoginEmailController.instance
|
||||||
|
.loginUser(
|
||||||
controller.email.text.trim(),
|
controller.email.text.trim(),
|
||||||
controller.password.text.trim(),
|
controller.password.text.trim(),
|
||||||
);
|
)
|
||||||
|
.then((value) {
|
||||||
|
Provider.of<UserProvider>(context).initUserProvider();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
label: 'Iniciar'),
|
label: 'Iniciar'),
|
||||||
|
|||||||
@@ -9,8 +9,10 @@ import 'package:prosappco/src/authentication/authentication_repository.dart';
|
|||||||
import 'package:prosappco/src/components/primary_btn.dart';
|
import 'package:prosappco/src/components/primary_btn.dart';
|
||||||
import 'package:prosappco/src/controllers/register_controller.dart';
|
import 'package:prosappco/src/controllers/register_controller.dart';
|
||||||
import 'package:prosappco/src/models/setting_model.dart';
|
import 'package:prosappco/src/models/setting_model.dart';
|
||||||
|
import 'package:prosappco/src/providers/user_provider.dart';
|
||||||
import 'package:prosappco/src/screens/login/login.dart';
|
import 'package:prosappco/src/screens/login/login.dart';
|
||||||
import 'package:prosappco/src/screens/web_view.dart';
|
import 'package:prosappco/src/screens/web_view.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:responsive_builder/responsive_builder.dart';
|
import 'package:responsive_builder/responsive_builder.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
@@ -373,10 +375,14 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
child: PrimaryButtom(
|
child: PrimaryButtom(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (_formKey.currentState!.validate()) {
|
if (_formKey.currentState!.validate()) {
|
||||||
RegisterController.instance.registerUser(
|
RegisterController.instance
|
||||||
controller.email.text.trim(),
|
.registerUser(
|
||||||
controller.password.text.trim(),
|
controller.email.text.trim(),
|
||||||
);
|
controller.password.text.trim(),
|
||||||
|
)
|
||||||
|
.then((value) =>
|
||||||
|
Provider.of<UserProvider>(context)
|
||||||
|
.initUserProvider());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
label: 'Registrarme',
|
label: 'Registrarme',
|
||||||
@@ -680,10 +686,14 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
child: PrimaryButtom(
|
child: PrimaryButtom(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (_formKey.currentState!.validate()) {
|
if (_formKey.currentState!.validate()) {
|
||||||
RegisterController.instance.registerUser(
|
RegisterController.instance
|
||||||
controller.email.text.trim(),
|
.registerUser(
|
||||||
controller.password.text.trim(),
|
controller.email.text.trim(),
|
||||||
);
|
controller.password.text.trim(),
|
||||||
|
)
|
||||||
|
.then((value) =>
|
||||||
|
Provider.of<UserProvider>(context)
|
||||||
|
.initUserProvider());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
isEnabled: _isChecked,
|
isEnabled: _isChecked,
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import 'package:prosappco/src/components/drawer_menu.dart';
|
|||||||
import 'package:prosappco/src/models/event_model.dart';
|
import 'package:prosappco/src/models/event_model.dart';
|
||||||
import 'package:prosappco/src/models/setting_model.dart';
|
import 'package:prosappco/src/models/setting_model.dart';
|
||||||
import 'package:prosappco/src/models/user_model.dart';
|
import 'package:prosappco/src/models/user_model.dart';
|
||||||
|
import 'package:prosappco/src/providers/user_provider.dart';
|
||||||
import 'package:prosappco/src/screens/professional.dart';
|
import 'package:prosappco/src/screens/professional.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:prosappco/src/screens/profile.dart';
|
import 'package:prosappco/src/screens/profile.dart';
|
||||||
@@ -25,6 +26,7 @@ import 'package:prosappco/src/screens/ubicacion.dart';
|
|||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:prosappco/src/components/network_utility.dart';
|
import 'package:prosappco/src/components/network_utility.dart';
|
||||||
import 'package:package_info_plus/package_info_plus.dart';
|
import 'package:package_info_plus/package_info_plus.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
class ServiceScreen extends StatefulWidget {
|
class ServiceScreen extends StatefulWidget {
|
||||||
@@ -270,7 +272,6 @@ class _ServiceScreenState extends State<ServiceScreen> {
|
|||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
appVersion = version;
|
appVersion = version;
|
||||||
// print('Version de app $appVersion - version de firebase $settings');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (settings != null) {
|
if (settings != null) {
|
||||||
@@ -331,7 +332,7 @@ class _ServiceScreenState extends State<ServiceScreen> {
|
|||||||
SettingModel.getSettings().then(
|
SettingModel.getSettings().then(
|
||||||
(SettingModel value) => setState(() {
|
(SettingModel value) => setState(() {
|
||||||
settings = value.version;
|
settings = value.version;
|
||||||
_getAppVersion(); // Llama a _getAppVersion una vez que settings se haya cargado
|
_getAppVersion();
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user