This commit is contained in:
Juan Felipe Duarte
2023-05-04 16:07:32 -05:00
parent 1a0e33328e
commit bc1357b7a6
9 changed files with 505 additions and 114 deletions
+35 -13
View File
@@ -1,10 +1,10 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
import 'package:intl/intl.dart';
import 'package:prosappco/src/authentication/authentication_repository.dart';
import 'package:prosappco/src/components/photo_view.dart';
import 'package:prosappco/src/components/pop_appbar.dart';
import 'package:prosappco/src/models/event_model.dart';
@@ -23,6 +23,7 @@ class CitaScreen extends StatefulWidget {
}
class _CitaScreenState extends State<CitaScreen> {
final uid = AuthenticationRepository.instance.getCurrentUserUid();
UserModel? user;
@override
String nombre = '';
@@ -54,23 +55,40 @@ class _CitaScreenState extends State<CitaScreen> {
super.initState();
if (scoresModel == null) {
ScoresModel.scoreTo(widget.evento.userId.toString(), false, false).then(
(ScoresModel s) => setState(() {
scoresModel = s;
}),
);
if (uid != widget.evento.userId) {
ScoresModel.scoreTo(widget.evento.userId, false, false).then(
(ScoresModel s) => setState(() {
scoresModel = s;
}),
);
} else {
ScoresModel.scoreTo(widget.evento.professionalId, true, false).then(
(ScoresModel s) => setState(() {
scoresModel = s;
}),
);
}
}
}
@override
Widget build(BuildContext context) {
if (nombre == '') {
UserModel.getUser(widget.evento.userId).then((value) {
setState(() {
nombre = value.name;
ref_photo = value.photo;
if (uid != widget.evento.userId) {
UserModel.getUser(widget.evento.userId).then((value) {
setState(() {
nombre = value.name;
ref_photo = value.photo;
});
});
});
} else {
UserModel.getUser(widget.evento.professionalId).then((value) {
setState(() {
nombre = value.name;
ref_photo = value.photo;
});
});
}
}
return Scaffold(
@@ -221,13 +239,17 @@ class _CitaScreenState extends State<CitaScreen> {
await FirebaseFirestore.instance
.collection('chats')
.doc(widget.evento.id)
.set({});
.set({
'professional_id': widget.evento.professionalId,
'user_id': widget.evento.userId
}, SetOptions(merge: true)).catchError((error) =>
print('Error al crear el documento: $error'));
Navigator.push(
context,
CupertinoPageRoute(
builder: (BuildContext context) {
return ChatScreen(eventoId: widget.evento.id!);
return ChatScreen(evento: widget.evento);
},
),
);