From dc1e6e54e8201f2cc984ba273c64e1f7cc1f2c5e Mon Sep 17 00:00:00 2001 From: kanat <> Date: Thu, 8 Jun 2023 20:20:28 -0700 Subject: [PATCH 1/3] [1266] add debug page to check the mute flow --- .../example/lib/debug/actions/ban_user.dart | 39 ++++++ .../example/lib/debug/actions/mute_user.dart | 39 ++++++ .../lib/debug/actions/remove_shadow_ban.dart | 39 ++++++ .../example/lib/debug/actions/shadow_ban.dart | 39 ++++++ .../example/lib/debug/actions/unban_user.dart | 39 ++++++ .../lib/debug/actions/unmute_user.dart | 39 ++++++ .../example/lib/debug/channel_page.dart | 127 ++++++++++++++++++ .../example/lib/debug/error_dialog.dart | 26 ++++ .../example/lib/debug/members.dart | 55 ++++++++ .../example/lib/debug/mutes.dart | 53 ++++++++ .../stream_chat_flutter/example/lib/main.dart | 17 +++ 11 files changed, 512 insertions(+) create mode 100644 packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/channel_page.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/error_dialog.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/members.dart create mode 100644 packages/stream_chat_flutter/example/lib/debug/mutes.dart diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart new file mode 100644 index 00000000..f0701548 --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +import '../error_dialog.dart'; + +class DebugBanUser extends StatelessWidget { + const DebugBanUser({ + super.key, + required this.client, + }); + + final StreamChatClient client; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.all(8), + child: TextField( + decoration: const InputDecoration( + labelText: 'Ban User', + hintText: 'User Id', + isDense: true, + border: OutlineInputBorder(), + ), + onSubmitted: (value) async { + final userId = value.trim(); + try { + debugPrint('[banUser] userId: $userId'); + final result = await client.banUser(userId); + debugPrint('[banUser] completed: $result'); + } catch (e) { + debugPrint('[banUser] failed: $e'); + showErrorDialog(context, e, 'Ban User'); + } + }, + ), + ); + } +} \ No newline at end of file diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart new file mode 100644 index 00000000..8e0fb8f2 --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +import '../error_dialog.dart'; + +class DebugMuteUser extends StatelessWidget { + const DebugMuteUser({ + super.key, + required this.client, + }); + + final StreamChatClient client; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.all(8), + child: TextField( + decoration: const InputDecoration( + labelText: 'Mute User', + hintText: 'User Id', + isDense: true, + border: OutlineInputBorder(), + ), + onSubmitted: (value) async { + final userId = value.trim(); + try { + debugPrint('[muteUser] userId: $userId'); + final result = await client.muteUser(userId); + debugPrint('[muteUser] completed: $result'); + } catch (e) { + debugPrint('[muteUser] failed: $e'); + showErrorDialog(context, e, 'Mute User'); + } + }, + ), + ); + } +} diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart b/packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart new file mode 100644 index 00000000..b15c447b --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +import '../error_dialog.dart'; + +class DebugRemoveShadowBan extends StatelessWidget { + const DebugRemoveShadowBan({ + super.key, + required this.client, + }); + + final StreamChatClient client; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.all(8), + child: TextField( + decoration: const InputDecoration( + labelText: 'Remove Shadow Ban', + hintText: 'User Id', + isDense: true, + border: OutlineInputBorder(), + ), + onSubmitted: (value) async { + final userId = value.trim(); + try { + debugPrint('[removeShadowBan] userId: $userId'); + final result = await client.removeShadowBan(userId); + debugPrint('[removeShadowBan] result: $result'); + } catch (e) { + debugPrint('[removeShadowBan] failed: $e'); + showErrorDialog(context, e, 'Remove Shadow Ban'); + } + }, + ), + ); + } +} diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart b/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart new file mode 100644 index 00000000..51c9762c --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +import '../error_dialog.dart'; + +class DebugShadowBan extends StatelessWidget { + const DebugShadowBan({ + super.key, + required this.client, + }); + + final StreamChatClient client; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.all(8), + child: TextField( + decoration: const InputDecoration( + labelText: 'Shadow Ban', + hintText: 'User Id', + isDense: true, + border: OutlineInputBorder(), + ), + onSubmitted: (value) async { + final userId = value.trim(); + try { + debugPrint('[shadowBan] userId: $userId'); + final result = await client.shadowBan(userId); + debugPrint('[shadowBan] completed: $result'); + } catch (e) { + debugPrint('[shadowBan] failed: $e'); + showErrorDialog(context, e, 'Shadow Ban'); + } + }, + ), + ); + } +} \ No newline at end of file diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart new file mode 100644 index 00000000..65f190db --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +import '../error_dialog.dart'; + +class DebugUnbanUser extends StatelessWidget { + const DebugUnbanUser({ + super.key, + required this.client, + }); + + final StreamChatClient client; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.all(8), + child: TextField( + decoration: const InputDecoration( + labelText: 'Unban User', + hintText: 'User Id', + isDense: true, + border: OutlineInputBorder(), + ), + onSubmitted: (value) async { + final userId = value.trim(); + try { + debugPrint('[unbanUser] userId: $userId'); + final result = await client.unbanUser(userId); + debugPrint('[unbanUser] completed: $result'); + } catch (e) { + debugPrint('[unbanUser] failed: $e'); + showErrorDialog(context, e, 'Unban User'); + } + }, + ), + ); + } +} \ No newline at end of file diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart new file mode 100644 index 00000000..d7cc5931 --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +import '../error_dialog.dart'; + +class DebugUnmuteUser extends StatelessWidget { + const DebugUnmuteUser({ + super.key, + required this.client, + }); + + final StreamChatClient client; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.all(8), + child: TextField( + decoration: const InputDecoration( + labelText: 'Unmute User', + hintText: 'User Id', + isDense: true, + border: OutlineInputBorder(), + ), + onSubmitted: (value) async { + final userId = value.trim(); + try { + debugPrint('[unmuteUser] userId: $userId'); + final result = await client.unmuteUser(userId); + debugPrint('[unmuteUser] completed: $result'); + } catch (e) { + debugPrint('[unmuteUser] failed: $e'); + showErrorDialog(context, e, 'Unmute User'); + } + }, + ), + ); + } +} diff --git a/packages/stream_chat_flutter/example/lib/debug/channel_page.dart b/packages/stream_chat_flutter/example/lib/debug/channel_page.dart new file mode 100644 index 00000000..2c805c45 --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/channel_page.dart @@ -0,0 +1,127 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; +import 'package:stream_chat_flutter_example/debug/actions/remove_shadow_ban.dart'; +import 'package:stream_chat_flutter_example/debug/actions/shadow_ban.dart'; + +import 'actions/ban_user.dart'; +import 'actions/mute_user.dart'; +import 'actions/unban_user.dart'; +import 'actions/unmute_user.dart'; +import 'members.dart'; +import 'mutes.dart'; + +class DebugChannelPage extends StatefulWidget { + const DebugChannelPage({super.key}); + + @override + State createState() { + return _DebugChannelPageState(); + } +} + +class _DebugChannelPageState extends State { + late final Channel _channel = StreamChannel.of(context).channel; + + StreamSubscription? _channelSubscription; + StreamSubscription? _ownUserSubscription; + + ChannelState? _channelState; + OwnUser? _ownUser; + + @override + void initState() { + super.initState(); + _channelSubscription = _channel.state!.channelStateStream.listen((state) { + _channelState = state; + setState(() {}); + }); + _ownUserSubscription = + _channel.client.state.currentUserStream.listen((ownUser) { + _ownUser = ownUser; + setState(() {}); + }); + } + + @override + void dispose() { + super.dispose(); + _channelSubscription?.cancel(); + _ownUserSubscription?.cancel(); + } + + @override + Widget build(BuildContext context) { + final members = + _channelState?.members ?? _channel.state?.members ?? const []; + final mutes = + _ownUser?.mutes ?? _channel.client.state.currentUser?.mutes ?? const []; + //SingleChildScrollView + return Scaffold( + appBar: AppBar( + title: Text(_channel.name ?? _channel.cid ?? '?'), + ), + body: SingleChildScrollView( + padding: const EdgeInsets.only(bottom: 16), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + DebugMe(client: _channel.client), + DebugMembers(members: members), + const SizedBox(height: 8), + DebugMutes(mutes: mutes), + const SizedBox(height: 16), + DebugMuteUser(client: _channel.client), + const SizedBox(height: 8), + DebugUnmuteUser(client: _channel.client), + const SizedBox(height: 8), + DebugBanUser(client: _channel.client), + const SizedBox(height: 8), + DebugUnbanUser(client: _channel.client), + const SizedBox(height: 8), + DebugShadowBan(client: _channel.client), + const SizedBox(height: 8), + DebugRemoveShadowBan(client: _channel.client), + ], + ), + ), + ); + } +} + +class DebugMe extends StatelessWidget { + const DebugMe({ + super.key, + required this.client, + }); + + final StreamChatClient client; + + @override + Widget build(BuildContext context) { + return Container( + alignment: Alignment.centerLeft, + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 12), + child: Row( + children: [ + const Text( + 'Me: ', + style: TextStyle( + color: Colors.red, + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + Text( + client.state.currentUser?.id ?? '?', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ); + } +} diff --git a/packages/stream_chat_flutter/example/lib/debug/error_dialog.dart b/packages/stream_chat_flutter/example/lib/debug/error_dialog.dart new file mode 100644 index 00000000..93b3e294 --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/error_dialog.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; + +Future showErrorDialog( + BuildContext context, + Object e, + String operation, +) async { + return showDialog( + context: context, + barrierDismissible: false, // user must tap button! + builder: (BuildContext context) { + return AlertDialog( + title: Text('$operation Failed'), + content: SingleChildScrollView(child: Text('$e')), + actions: [ + TextButton( + child: const Text('Close'), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + ); + }, + ); +} diff --git a/packages/stream_chat_flutter/example/lib/debug/members.dart b/packages/stream_chat_flutter/example/lib/debug/members.dart new file mode 100644 index 00000000..77018d19 --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/members.dart @@ -0,0 +1,55 @@ +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +class DebugMembers extends StatelessWidget { + const DebugMembers({ + super.key, + required this.members, + }); + + final List members; + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + color: Colors.orange, + padding: const EdgeInsets.all(8), + child: const Text('Members'), + ), + Container( + color: Colors.orange, + height: 100, + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: members.length, + itemBuilder: (BuildContext context, int index) { + final member = members[index]; + return Padding( + padding: const EdgeInsets.all(8), + child: Container( + color: Colors.yellow, + child: Padding( + padding: const EdgeInsets.all(8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text(member.user?.name ?? '?'), + Text('ID: ${member.user?.id ?? '?'}'), + Text('Ban: ${member.banned ? 'T' : 'F'}'), + Text('ShBan: ${member.shadowBanned ? 'T' : 'F'}'), + ], + ), + ), + ), + ); + }, + ), + ), + ], + ); + } +} diff --git a/packages/stream_chat_flutter/example/lib/debug/mutes.dart b/packages/stream_chat_flutter/example/lib/debug/mutes.dart new file mode 100644 index 00000000..78a69399 --- /dev/null +++ b/packages/stream_chat_flutter/example/lib/debug/mutes.dart @@ -0,0 +1,53 @@ +import 'package:flutter/material.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +class DebugMutes extends StatelessWidget { + const DebugMutes({super.key, required this.mutes}); + + final List mutes; + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + color: Colors.lightBlueAccent, + padding: const EdgeInsets.all(8), + child: const Text('Mutes'), + ), + Container( + color: Colors.lightBlueAccent, + height: 80, + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: mutes.length, + itemBuilder: (BuildContext context, int index) { + final mute = mutes[index]; + return Padding( + padding: const EdgeInsets.all(8), + child: Container( + color: Colors.yellow, + child: Padding( + padding: const EdgeInsets.all(8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text('By: ${mute.user.name} (${mute.user.id})'), + Text( + 'Who: ${mute.target.name} (${mute.target.id})', + ), + Text('Exp: ${mute.expires}'), + ], + ), + ), + ), + ); + }, + ), + ), + ], + ); + } +} diff --git a/packages/stream_chat_flutter/example/lib/main.dart b/packages/stream_chat_flutter/example/lib/main.dart index e4f291fe..5ef27ced 100644 --- a/packages/stream_chat_flutter/example/lib/main.dart +++ b/packages/stream_chat_flutter/example/lib/main.dart @@ -1,10 +1,14 @@ // ignore_for_file: public_member_api_docs +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:responsive_builder/responsive_builder.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_localizations/stream_chat_localizations.dart'; +import 'debug/channel_page.dart'; + Future main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -255,6 +259,19 @@ class _ChannelPageState extends State { widget.onBackPressed!(context); } : null, + onImageTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) { + return StreamChannel( + channel: StreamChannel.of(context).channel, + child: const DebugChannelPage(), + ); + }, + ), + ); + }, showBackButton: widget.showBackButton, ), body: Column( From 68408354c8c13f75608da71a4f907f43950b807e Mon Sep 17 00:00:00 2001 From: kanat <> Date: Thu, 8 Jun 2023 20:22:19 -0700 Subject: [PATCH 2/3] [1266] fix formatting --- .../stream_chat_flutter/example/lib/debug/actions/ban_user.dart | 2 +- .../example/lib/debug/actions/shadow_ban.dart | 2 +- .../example/lib/debug/actions/unban_user.dart | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart index f0701548..9d3e411f 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart @@ -36,4 +36,4 @@ class DebugBanUser extends StatelessWidget { ), ); } -} \ No newline at end of file +} diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart b/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart index 51c9762c..b332cc36 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart @@ -36,4 +36,4 @@ class DebugShadowBan extends StatelessWidget { ), ); } -} \ No newline at end of file +} diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart index 65f190db..36361797 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart @@ -36,4 +36,4 @@ class DebugUnbanUser extends StatelessWidget { ), ); } -} \ No newline at end of file +} From 0d367d9bb1ce372a1e1dc49dab111493c4e4772a Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Fri, 9 Jun 2023 15:26:02 +0530 Subject: [PATCH 3/3] chore: fix analysis. Signed-off-by: xsahil03x --- .../example/lib/debug/actions/ban_user.dart | 4 +++- .../example/lib/debug/actions/mute_user.dart | 4 +++- .../lib/debug/actions/remove_shadow_ban.dart | 4 +++- .../example/lib/debug/actions/shadow_ban.dart | 4 +++- .../example/lib/debug/actions/unban_user.dart | 4 +++- .../lib/debug/actions/unmute_user.dart | 4 +++- .../example/lib/debug/channel_page.dart | 21 +++++++++---------- .../example/lib/debug/error_dialog.dart | 2 ++ .../example/lib/debug/members.dart | 4 +++- .../example/lib/debug/mutes.dart | 4 +++- .../stream_chat_flutter/example/lib/main.dart | 3 +-- 11 files changed, 37 insertions(+), 21 deletions(-) diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart index 9d3e411f..62cec6dc 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart @@ -1,7 +1,9 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; -import '../error_dialog.dart'; +import 'package:stream_chat_flutter_example/debug/error_dialog.dart'; class DebugBanUser extends StatelessWidget { const DebugBanUser({ diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart index 8e0fb8f2..5253669e 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart @@ -1,7 +1,9 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; -import '../error_dialog.dart'; +import 'package:stream_chat_flutter_example/debug/error_dialog.dart'; class DebugMuteUser extends StatelessWidget { const DebugMuteUser({ diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart b/packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart index b15c447b..5ab29797 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart @@ -1,7 +1,9 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; -import '../error_dialog.dart'; +import 'package:stream_chat_flutter_example/debug/error_dialog.dart'; class DebugRemoveShadowBan extends StatelessWidget { const DebugRemoveShadowBan({ diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart b/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart index b332cc36..9e5c5553 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart @@ -1,7 +1,9 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; -import '../error_dialog.dart'; +import 'package:stream_chat_flutter_example/debug/error_dialog.dart'; class DebugShadowBan extends StatelessWidget { const DebugShadowBan({ diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart index 36361797..5a9ac755 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart @@ -1,7 +1,9 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; -import '../error_dialog.dart'; +import 'package:stream_chat_flutter_example/debug/error_dialog.dart'; class DebugUnbanUser extends StatelessWidget { const DebugUnbanUser({ diff --git a/packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart b/packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart index d7cc5931..359ae341 100644 --- a/packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart +++ b/packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart @@ -1,7 +1,9 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; -import '../error_dialog.dart'; +import 'package:stream_chat_flutter_example/debug/error_dialog.dart'; class DebugUnmuteUser extends StatelessWidget { const DebugUnmuteUser({ diff --git a/packages/stream_chat_flutter/example/lib/debug/channel_page.dart b/packages/stream_chat_flutter/example/lib/debug/channel_page.dart index 2c805c45..b5e93cf5 100644 --- a/packages/stream_chat_flutter/example/lib/debug/channel_page.dart +++ b/packages/stream_chat_flutter/example/lib/debug/channel_page.dart @@ -1,16 +1,17 @@ +// ignore_for_file: public_member_api_docs + import 'dart:async'; import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; +import 'package:stream_chat_flutter_example/debug/actions/ban_user.dart'; +import 'package:stream_chat_flutter_example/debug/actions/mute_user.dart'; import 'package:stream_chat_flutter_example/debug/actions/remove_shadow_ban.dart'; import 'package:stream_chat_flutter_example/debug/actions/shadow_ban.dart'; - -import 'actions/ban_user.dart'; -import 'actions/mute_user.dart'; -import 'actions/unban_user.dart'; -import 'actions/unmute_user.dart'; -import 'members.dart'; -import 'mutes.dart'; +import 'package:stream_chat_flutter_example/debug/actions/unban_user.dart'; +import 'package:stream_chat_flutter_example/debug/actions/unmute_user.dart'; +import 'package:stream_chat_flutter_example/debug/members.dart'; +import 'package:stream_chat_flutter_example/debug/mutes.dart'; class DebugChannelPage extends StatefulWidget { const DebugChannelPage({super.key}); @@ -34,13 +35,11 @@ class _DebugChannelPageState extends State { void initState() { super.initState(); _channelSubscription = _channel.state!.channelStateStream.listen((state) { - _channelState = state; - setState(() {}); + setState(() => _channelState = state); }); _ownUserSubscription = _channel.client.state.currentUserStream.listen((ownUser) { - _ownUser = ownUser; - setState(() {}); + setState(() => _ownUser = ownUser); }); } diff --git a/packages/stream_chat_flutter/example/lib/debug/error_dialog.dart b/packages/stream_chat_flutter/example/lib/debug/error_dialog.dart index 93b3e294..6e7fb750 100644 --- a/packages/stream_chat_flutter/example/lib/debug/error_dialog.dart +++ b/packages/stream_chat_flutter/example/lib/debug/error_dialog.dart @@ -1,3 +1,5 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; Future showErrorDialog( diff --git a/packages/stream_chat_flutter/example/lib/debug/members.dart b/packages/stream_chat_flutter/example/lib/debug/members.dart index 77018d19..d0214e00 100644 --- a/packages/stream_chat_flutter/example/lib/debug/members.dart +++ b/packages/stream_chat_flutter/example/lib/debug/members.dart @@ -1,3 +1,5 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; @@ -29,7 +31,7 @@ class DebugMembers extends StatelessWidget { final member = members[index]; return Padding( padding: const EdgeInsets.all(8), - child: Container( + child: ColoredBox( color: Colors.yellow, child: Padding( padding: const EdgeInsets.all(8), diff --git a/packages/stream_chat_flutter/example/lib/debug/mutes.dart b/packages/stream_chat_flutter/example/lib/debug/mutes.dart index 78a69399..fe54b06e 100644 --- a/packages/stream_chat_flutter/example/lib/debug/mutes.dart +++ b/packages/stream_chat_flutter/example/lib/debug/mutes.dart @@ -1,3 +1,5 @@ +// ignore_for_file: public_member_api_docs + import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; @@ -26,7 +28,7 @@ class DebugMutes extends StatelessWidget { final mute = mutes[index]; return Padding( padding: const EdgeInsets.all(8), - child: Container( + child: ColoredBox( color: Colors.yellow, child: Padding( padding: const EdgeInsets.all(8), diff --git a/packages/stream_chat_flutter/example/lib/main.dart b/packages/stream_chat_flutter/example/lib/main.dart index 5ef27ced..f0acc0fa 100644 --- a/packages/stream_chat_flutter/example/lib/main.dart +++ b/packages/stream_chat_flutter/example/lib/main.dart @@ -5,10 +5,9 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:responsive_builder/responsive_builder.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; +import 'package:stream_chat_flutter_example/debug/channel_page.dart'; import 'package:stream_chat_localizations/stream_chat_localizations.dart'; -import 'debug/channel_page.dart'; - Future main() async { WidgetsFlutterBinding.ensureInitialized();