docs(ui): update code documentation and tutorials

This commit is contained in:
Gordon Hayes
2022-04-04 16:54:01 +02:00
parent 9dd42f1a1c
commit 44f17f0d95
10 changed files with 74 additions and 52 deletions
@@ -1,4 +1,5 @@
// ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -67,10 +68,8 @@ class MyApp extends StatelessWidget {
final Channel channel;
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return MaterialApp(
// ignore: prefer_expression_function_bodies
builder: (context, widget) {
return StreamChat(
client: client,
@@ -1,4 +1,6 @@
// ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.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
/// another. This allows us to avoid any boiler-plate code.
/// > 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
/// 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;
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return MaterialApp(
builder: (context, child) => StreamChat(
@@ -92,6 +93,12 @@ class _ChannelListPageState extends State<ChannelListPage> {
sort: const [SortOption('last_message_at')],
);
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) => Scaffold(
body: RefreshIndicator(
@@ -1,4 +1,5 @@
// ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:collection/collection.dart' show IterableExtension;
import 'package:flutter/material.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.
///
/// We're passing a custom widget
/// to [StreamChannelListView.channelPreviewBuilder];
/// this will override the default [StreamChannelPreview] and allows you
/// to [StreamChannelListView.itemBuilder];
/// this will override the default [StreamChannelListTile] and allows you
/// to create one yourself.
///
/// There are a couple interesting things we do in this widget:
@@ -57,7 +58,6 @@ class MyApp extends StatelessWidget {
final StreamChatClient client;
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return MaterialApp(
builder: (context, child) => StreamChat(
@@ -89,6 +89,12 @@ class _ChannelListPageState extends State<ChannelListPage> {
limit: 20,
);
@override
void dispose() {
_listController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) => Scaffold(
body: StreamChannelListView(
@@ -160,7 +166,6 @@ class ChannelPage extends StatelessWidget {
}) : super(key: key);
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return Scaffold(
appBar: const StreamChannelHeader(),
@@ -1,4 +1,6 @@
// ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -43,7 +45,6 @@ class MyApp extends StatelessWidget {
final StreamChatClient client;
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return MaterialApp(
builder: (context, child) => StreamChat(
@@ -75,6 +76,12 @@ class _ChannelListPageState extends State<ChannelListPage> {
limit: 20,
);
@override
void dispose() {
_listController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) => Scaffold(
body: StreamChannelListView(
@@ -125,7 +132,6 @@ class ThreadPage extends StatelessWidget {
final Message? parent;
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return Scaffold(
appBar: StreamThreadHeader(
@@ -1,4 +1,5 @@
// ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
@@ -47,7 +48,6 @@ class MyApp extends StatelessWidget {
final StreamChatClient client;
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return MaterialApp(
builder: (context, child) => StreamChat(
@@ -79,6 +79,12 @@ class _ChannelListPageState extends State<ChannelListPage> {
limit: 20,
);
@override
void dispose() {
_listController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) => Scaffold(
body: StreamChannelListView(
@@ -103,7 +109,6 @@ class ChannelPage extends StatelessWidget {
}) : super(key: key);
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return Scaffold(
appBar: const StreamChannelHeader(),
@@ -1,4 +1,6 @@
// ignore_for_file: public_member_api_docs
// ignore_for_file: prefer_expression_function_bodies
import 'package:flutter/material.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')],
limit: 20,
);
@override
void dispose() {
_listController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) => Scaffold(
body: StreamChannelListView(
@@ -162,7 +171,6 @@ class ThreadPage extends StatelessWidget {
final Message? parent;
@override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) {
return Scaffold(
appBar: StreamThreadHeader(
@@ -24,7 +24,7 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart';
/// child: StreamChannel(
/// channel: channel,
/// child: Center(
/// child: ChannelImage(
/// child: ChannelAvatar(
/// channel: channel,
/// ),
/// ),
@@ -136,29 +136,25 @@ typedef MessageListView = StreamMessageListView;
/// ```dart
/// class ChannelPage extends StatelessWidget {
/// const ChannelPage({
/// Key key,
/// Key? key,
/// }) : super(key: key);
///
/// @override
/// Widget build(BuildContext context) {
/// return Scaffold(
/// appBar: ChannelHeader(),
/// body: Column(
/// children: <Widget>[
/// Expanded(
/// child: MessageListView(
/// threadBuilder: (_, parentMessage) {
/// return ThreadPage(
/// Widget build(BuildContext context) => Scaffold(
/// appBar: const StreamChannelHeader(),
/// body: Column(
/// children: <Widget>[
/// Expanded(
/// child: StreamMessageListView(
/// threadBuilder: (_, parentMessage) => ThreadPage(
/// parent: parentMessage,
/// );
/// },
/// ),
/// ),
/// ),
/// ),
/// MessageInput(),
/// ],
/// ),
/// );
/// }
/// const StreamMessageInput(),
/// ],
/// ),
/// );
/// }
/// ```
///
@@ -172,7 +168,7 @@ typedef MessageListView = StreamMessageListView;
/// Modify it to change the widget appearance.
/// {@endtemplate}
class StreamMessageListView extends StatefulWidget {
/// Instantiate a new MessageListView
/// Instantiate a new StreamMessageListView.
const StreamMessageListView({
Key? key,
this.showScrollToBottom = true,
@@ -144,29 +144,25 @@ const _kDefaultMaxAttachmentSize = 20971520; // 20MB in Bytes
/// ```dart
/// class ChannelPage extends StatelessWidget {
/// const ChannelPage({
/// Key key,
/// Key? key,
/// }) : super(key: key);
///
/// @override
/// Widget build(BuildContext context) {
/// return Scaffold(
/// appBar: ChannelHeader(),
/// body: Column(
/// children: <Widget>[
/// Expanded(
/// child: MessageListView(
/// threadBuilder: (_, parentMessage) {
/// return ThreadPage(
/// Widget build(BuildContext context) => Scaffold(
/// appBar: const StreamChannelHeader(),
/// body: Column(
/// children: <Widget>[
/// Expanded(
/// child: StreamMessageListView(
/// threadBuilder: (_, parentMessage) => ThreadPage(
/// parent: parentMessage,
/// );
/// },
/// ),
/// ),
/// ),
/// ),
/// MessageInput(),
/// ],
/// ),
/// );
/// }
/// const StreamMessageInput(),
/// ],
/// ),
/// );
/// }
/// ```
///
@@ -24,7 +24,7 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart';
/// child: StreamChannel(
/// channel: channel,
/// child: Center(
/// child: ChannelImage(
/// child: StreamChannelAvatar(
/// channel: channel,
/// ),
/// ),