Merge pull request #1057 from GetStream/v4-doc-fixes

docs(ui): fix names and update tutorials
This commit is contained in:
Salvatore Giordano
2022-04-07 10:50:10 +02:00
committed by GitHub
10 changed files with 74 additions and 52 deletions
@@ -1,4 +1,5 @@
// ignore_for_file: public_member_api_docs // ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -67,10 +68,8 @@ class MyApp extends StatelessWidget {
final Channel channel; final Channel channel;
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
// ignore: prefer_expression_function_bodies
builder: (context, widget) { builder: (context, widget) {
return StreamChat( return StreamChat(
client: client, client: client,
@@ -1,4 +1,6 @@
// ignore_for_file: public_member_api_docs // ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -14,7 +16,7 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart';
/// > Note: the SDK uses Flutters [Navigator] to move from one route to /// > Note: the SDK uses Flutters [Navigator] to move from one route to
/// another. This allows us to avoid any boiler-plate code. /// another. This allows us to avoid any boiler-plate code.
/// > Of course, you can take total control of how navigation works by /// > Of course, you can take total control of how navigation works by
/// customizing widgets like [Channel] and [ChannelList]. /// customizing widgets like [StreamChannel] and [StreamChannelListView].
/// ///
/// If you run the application, you will see that the first screen shows a /// If you run the application, you will see that the first screen shows a
/// list of conversations, you can open each by tapping and go back to the list. /// list of conversations, you can open each by tapping and go back to the list.
@@ -56,7 +58,6 @@ class MyApp extends StatelessWidget {
final StreamChatClient client; final StreamChatClient client;
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
builder: (context, child) => StreamChat( builder: (context, child) => StreamChat(
@@ -92,6 +93,12 @@ class _ChannelListPageState extends State<ChannelListPage> {
sort: const [SortOption('last_message_at')], sort: const [SortOption('last_message_at')],
); );
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override @override
Widget build(BuildContext context) => Scaffold( Widget build(BuildContext context) => Scaffold(
body: RefreshIndicator( body: RefreshIndicator(
@@ -1,4 +1,5 @@
// ignore_for_file: public_member_api_docs // ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:collection/collection.dart' show IterableExtension; import 'package:collection/collection.dart' show IterableExtension;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -16,8 +17,8 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart';
/// and include the number of unread messages for each. /// and include the number of unread messages for each.
/// ///
/// We're passing a custom widget /// We're passing a custom widget
/// to [StreamChannelListView.channelPreviewBuilder]; /// to [StreamChannelListView.itemBuilder];
/// this will override the default [StreamChannelPreview] and allows you /// this will override the default [StreamChannelListTile] and allows you
/// to create one yourself. /// to create one yourself.
/// ///
/// There are a couple interesting things we do in this widget: /// There are a couple interesting things we do in this widget:
@@ -57,7 +58,6 @@ class MyApp extends StatelessWidget {
final StreamChatClient client; final StreamChatClient client;
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
builder: (context, child) => StreamChat( builder: (context, child) => StreamChat(
@@ -89,6 +89,12 @@ class _ChannelListPageState extends State<ChannelListPage> {
limit: 20, limit: 20,
); );
@override
void dispose() {
_listController.dispose();
super.dispose();
}
@override @override
Widget build(BuildContext context) => Scaffold( Widget build(BuildContext context) => Scaffold(
body: StreamChannelListView( body: StreamChannelListView(
@@ -160,7 +166,6 @@ class ChannelPage extends StatelessWidget {
}) : super(key: key); }) : super(key: key);
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const StreamChannelHeader(), appBar: const StreamChannelHeader(),
@@ -1,4 +1,6 @@
// ignore_for_file: public_member_api_docs // ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -43,7 +45,6 @@ class MyApp extends StatelessWidget {
final StreamChatClient client; final StreamChatClient client;
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
builder: (context, child) => StreamChat( builder: (context, child) => StreamChat(
@@ -75,6 +76,12 @@ class _ChannelListPageState extends State<ChannelListPage> {
limit: 20, limit: 20,
); );
@override
void dispose() {
_listController.dispose();
super.dispose();
}
@override @override
Widget build(BuildContext context) => Scaffold( Widget build(BuildContext context) => Scaffold(
body: StreamChannelListView( body: StreamChannelListView(
@@ -125,7 +132,6 @@ class ThreadPage extends StatelessWidget {
final Message? parent; final Message? parent;
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: StreamThreadHeader( appBar: StreamThreadHeader(
@@ -1,4 +1,5 @@
// ignore_for_file: public_member_api_docs // ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -47,7 +48,6 @@ class MyApp extends StatelessWidget {
final StreamChatClient client; final StreamChatClient client;
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
builder: (context, child) => StreamChat( builder: (context, child) => StreamChat(
@@ -79,6 +79,12 @@ class _ChannelListPageState extends State<ChannelListPage> {
limit: 20, limit: 20,
); );
@override
void dispose() {
_listController.dispose();
super.dispose();
}
@override @override
Widget build(BuildContext context) => Scaffold( Widget build(BuildContext context) => Scaffold(
body: StreamChannelListView( body: StreamChannelListView(
@@ -103,7 +109,6 @@ class ChannelPage extends StatelessWidget {
}) : super(key: key); }) : super(key: key);
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const StreamChannelHeader(), appBar: const StreamChannelHeader(),
@@ -1,4 +1,6 @@
// ignore_for_file: public_member_api_docs // ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -112,6 +114,13 @@ class _ChannelListPageState extends State<ChannelListPage> {
sort: const [SortOption('last_message_at')], sort: const [SortOption('last_message_at')],
limit: 20, limit: 20,
); );
@override
void dispose() {
_listController.dispose();
super.dispose();
}
@override @override
Widget build(BuildContext context) => Scaffold( Widget build(BuildContext context) => Scaffold(
body: StreamChannelListView( body: StreamChannelListView(
@@ -162,7 +171,6 @@ class ThreadPage extends StatelessWidget {
final Message? parent; final Message? parent;
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: StreamThreadHeader( appBar: StreamThreadHeader(
@@ -24,7 +24,7 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart';
/// child: StreamChannel( /// child: StreamChannel(
/// channel: channel, /// channel: channel,
/// child: Center( /// child: Center(
/// child: ChannelImage( /// child: ChannelAvatar(
/// channel: channel, /// channel: channel,
/// ), /// ),
/// ), /// ),
@@ -136,29 +136,25 @@ typedef MessageListView = StreamMessageListView;
/// ```dart /// ```dart
/// class ChannelPage extends StatelessWidget { /// class ChannelPage extends StatelessWidget {
/// const ChannelPage({ /// const ChannelPage({
/// Key key, /// Key? key,
/// }) : super(key: key); /// }) : super(key: key);
/// ///
/// @override /// @override
/// Widget build(BuildContext context) { /// Widget build(BuildContext context) => Scaffold(
/// return Scaffold( /// appBar: const StreamChannelHeader(),
/// appBar: ChannelHeader(), /// body: Column(
/// body: Column( /// children: <Widget>[
/// children: <Widget>[ /// Expanded(
/// Expanded( /// child: StreamMessageListView(
/// child: MessageListView( /// threadBuilder: (_, parentMessage) => ThreadPage(
/// threadBuilder: (_, parentMessage) {
/// return ThreadPage(
/// parent: parentMessage, /// parent: parentMessage,
/// ); /// ),
/// }, /// ),
/// ), /// ),
/// ), /// const StreamMessageInput(),
/// MessageInput(), /// ],
/// ], /// ),
/// ), /// );
/// );
/// }
/// } /// }
/// ``` /// ```
/// ///
@@ -172,7 +168,7 @@ typedef MessageListView = StreamMessageListView;
/// Modify it to change the widget appearance. /// Modify it to change the widget appearance.
/// {@endtemplate} /// {@endtemplate}
class StreamMessageListView extends StatefulWidget { class StreamMessageListView extends StatefulWidget {
/// Instantiate a new MessageListView /// Instantiate a new StreamMessageListView.
const StreamMessageListView({ const StreamMessageListView({
Key? key, Key? key,
this.showScrollToBottom = true, this.showScrollToBottom = true,
@@ -144,29 +144,25 @@ const _kDefaultMaxAttachmentSize = 20971520; // 20MB in Bytes
/// ```dart /// ```dart
/// class ChannelPage extends StatelessWidget { /// class ChannelPage extends StatelessWidget {
/// const ChannelPage({ /// const ChannelPage({
/// Key key, /// Key? key,
/// }) : super(key: key); /// }) : super(key: key);
/// ///
/// @override /// @override
/// Widget build(BuildContext context) { /// Widget build(BuildContext context) => Scaffold(
/// return Scaffold( /// appBar: const StreamChannelHeader(),
/// appBar: ChannelHeader(), /// body: Column(
/// body: Column( /// children: <Widget>[
/// children: <Widget>[ /// Expanded(
/// Expanded( /// child: StreamMessageListView(
/// child: MessageListView( /// threadBuilder: (_, parentMessage) => ThreadPage(
/// threadBuilder: (_, parentMessage) {
/// return ThreadPage(
/// parent: parentMessage, /// parent: parentMessage,
/// ); /// ),
/// }, /// ),
/// ), /// ),
/// ), /// const StreamMessageInput(),
/// MessageInput(), /// ],
/// ], /// ),
/// ), /// );
/// );
/// }
/// } /// }
/// ``` /// ```
/// ///
@@ -24,7 +24,7 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart';
/// child: StreamChannel( /// child: StreamChannel(
/// channel: channel, /// channel: channel,
/// child: Center( /// child: Center(
/// child: ChannelImage( /// child: StreamChannelAvatar(
/// channel: channel, /// channel: channel,
/// ), /// ),
/// ), /// ),