add channel added delete events

This commit is contained in:
Salvatore Giordano
2020-05-18 18:02:10 +02:00
parent 5a0e237a1f
commit d646dcb8c2
3 changed files with 35 additions and 5 deletions
+13
View File
@@ -78,6 +78,19 @@ void main() async {
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoic3VwZXItYmFuZC05In0.0L6lGoeLwkz0aZRUcpZKsvaXtNEDHBcezVTZ0oPq40A',
);
// final client = Client(
// 'qk4nn7rpcn75',
// logLevel: Level.INFO,
// showLocalNotification: Platform.isAndroid ? showLocalNotification : null,
// persistenceEnabled: true,
// baseURL: '127.0.0.1:3030',
// );
//
// await client.setUser(
// User(id: 'super-band-9'),
// 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoic3VwZXItdHJhbXAtOSJ9.BbcxsR3FsK9c1q1ijhbBWvlXRwRpZ1RoHMKscKWZklk',
// );
_initNotifications(client);
runApp(MyApp(client));
+14 -1
View File
@@ -125,7 +125,20 @@ class ChannelsBlocState extends State<ChannelsBloc>
_subscriptions.add(client.on(EventType.channelDeleted).listen((e) {
final channel = e.channel;
_channelsController
.add(channels..removeWhere((c) => c.cid == channel.cid));
.add(List.from(channels..removeWhere((c) => c.cid == channel.cid)));
}));
_subscriptions
.add(client.on(EventType.notificationAddedToChannel).listen((e) async {
final channelModel = e.channel;
final channel = Channel(
client,
channelModel.type,
channelModel.id,
channelModel.extraData,
);
await channel.watch();
_channelsController.add(List.from(channels..insert(0, channel)));
}));
}
+8 -4
View File
@@ -149,14 +149,18 @@ class StreamChannelState extends State<StreamChannel> {
initialData: widget.channel.state != null,
builder: (context, snapshot) {
if (!snapshot.hasData || !snapshot.data) {
return Scaffold(
body: Center(
return Container(
height: 30,
child: Center(
child: CircularProgressIndicator(),
),
);
} else if (snapshot.hasError) {
return Center(
child: Text(snapshot.error),
return Container(
height: 30,
child: Center(
child: Text(snapshot.error),
),
);
} else {
return widget.child;