+ChangeNotifier Fixes

+Signout Fixes
+
This commit is contained in:
2025-04-06 18:23:35 +01:00
parent 13042f8133
commit d4fc16e412
18 changed files with 375 additions and 597 deletions
+12 -42
View File
@@ -1,5 +1,3 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:messaging_app/components/messaging_provider.dart';
@@ -25,38 +23,8 @@ class RecentConverstationsPage extends StatefulWidget {
}
class _RecentConverstationsPageState extends State<RecentConverstationsPage> {
late MessagingProviders _auth;
List<Conversations> streamData = [];
// To listen to the conversations stream
@override
void dispose() {
super.dispose();
loadStream();
}
loadStream() async {
streamData =
await MessagingProviders.instance.getUserConversations(_auth.user!.$id);
}
subscribe() {
MessagingProviders.instance.subscription!.stream.listen((data) {
final event = data.events.first;
if (event.endsWith('.create')) {
streamData.add(data.payload['']);
} else if (event.endsWith('.update')) {}
});
}
@override
void initState() {
super.initState();
MessagingProviders.instance.subscription!.stream.listen((data) {
final event = data.events.first;
;
});
}
//
MessagingProviders _auth = MessagingProviders.instance;
@override
Widget build(BuildContext context) {
@@ -64,7 +32,7 @@ class _RecentConverstationsPageState extends State<RecentConverstationsPage> {
height: widget._deviceHeight,
width: widget._deviceWidth,
child: ChangeNotifierProvider<MessagingProviders>.value(
value: MessagingProviders.instance,
value: _auth,
child: _conversationView(context),
),
);
@@ -78,8 +46,7 @@ class _RecentConverstationsPageState extends State<RecentConverstationsPage> {
height: widget._deviceHeight,
width: widget._deviceWidth,
child: StreamBuilder<List<Conversations>>(
stream: MessagingProviders.instance
.getUserConversation(_auth.user!.$id),
stream: _auth.getUserConversation(_auth.user!.$id),
builder: (_context, _snapshot) {
if (_snapshot.hasData) {
return ListView.builder(
@@ -95,8 +62,9 @@ class _RecentConverstationsPageState extends State<RecentConverstationsPage> {
builder: (BuildContext _context) {
return ConversationsPage(
chatId: _chatId,
chatName: _details.name,
chatImage: _details.image,
userName: _details.name,
userImage : _details.image,
userEmail: _details.email,
);
},
),
@@ -104,9 +72,11 @@ class _RecentConverstationsPageState extends State<RecentConverstationsPage> {
},
title: Text(_details.name),
subtitle: Text(
_details.type == 'text'
? _details.lastMessage!
: 'attachment: image',
_details.type == ''
? 'start chatting...'
: _details.type == 'text'
? _details.lastMessage!
: 'attachment: image',
),
leading: Container(
width: 50,