add channel added delete events
This commit is contained in:
@@ -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)));
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user