chat fixed

This commit is contained in:
Juan Felipe Duarte
2023-05-04 16:57:27 -05:00
parent bc1357b7a6
commit 4807041bcf
7 changed files with 141 additions and 56 deletions
+16 -21
View File
@@ -9,8 +9,8 @@ import 'package:prosappco/src/models/event_model.dart';
import 'package:prosappco/src/models/user_model.dart';
class ChatScreen extends StatefulWidget {
final Event evento;
const ChatScreen({super.key, required this.evento});
final String? eventoId;
const ChatScreen({super.key, this.eventoId});
@override
State<ChatScreen> createState() => _ChatScreenState();
@@ -20,23 +20,23 @@ class _ChatScreenState extends State<ChatScreen> {
final _textController = TextEditingController();
final uid = AuthenticationRepository.instance.getCurrentUserUid();
UserModel? user;
// ScoresModel? scoresModel;
@override
void initState() {
super.initState();
if (user == null) {
if (uid != widget.evento.userId) {
UserModel.getUser(widget.evento.userId).then(
(UserModel s) => setState(() => user = s),
);
} else {
UserModel.getUser(widget.evento.professionalId).then(
(UserModel s) => setState(() => user = s),
);
Event.getEventById(widget.eventoId!).then((event) {
if (user == null) {
if (uid != event.userId) {
UserModel.getUser(event.userId).then(
(UserModel s) => setState(() => user = s),
);
} else {
UserModel.getUser(event.professionalId).then(
(UserModel s) => setState(() => user = s),
);
}
}
}
});
// if (scoresModel == null) {
// ScoresModel.scoreTo(uid.toString(), false, false).then(
@@ -47,7 +47,6 @@ class _ChatScreenState extends State<ChatScreen> {
@override
Widget build(BuildContext context) {
String textoIngresado = _textController.text;
return Scaffold(
appBar: PopAppbar(
onPressed: () {
@@ -144,7 +143,7 @@ class _ChatScreenState extends State<ChatScreen> {
FirebaseFirestore.instance
.collection('chats')
.doc(widget.evento.id)
.doc(widget.eventoId)
.update({
'message': FieldValue.arrayUnion([nuevoMensajeMap])
});
@@ -179,7 +178,7 @@ class _ChatScreenState extends State<ChatScreen> {
return StreamBuilder(
stream: FirebaseFirestore.instance
.collection('chats')
.doc(widget.evento.id)
.doc(widget.eventoId)
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
@@ -262,10 +261,6 @@ class _ChatScreenState extends State<ChatScreen> {
),
)
]);
// ListTile(
// title: Text('${}'),
// );
},
);
}