Merge pull request #1108 from GetStream/docs/v4

docs(repo): update docs for v4
This commit is contained in:
Salvatore Giordano
2022-05-02 17:55:08 +02:00
committed by GitHub
122 changed files with 5776 additions and 136 deletions
@@ -21,6 +21,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>8.0</string>
<string>9.0</string>
</dict>
</plist>
@@ -139,6 +139,7 @@
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
EDC4CAB19281E65D2B18E888 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -155,7 +156,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -247,6 +248,23 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
EDC4CAB19281E65D2B18E888 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -2,6 +2,6 @@
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
location = "self:">
</FileRef>
</Workspace>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
LastUpgradeVersion = "1300"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -117,8 +117,26 @@ class _HomeScreenState extends State<HomeScreen> {
}
},
child: ListView.builder(
itemCount: channels.length,
/// We're using the channels length when there are no more
/// pages to load and there are no errors with pagination.
/// In case we need to show a loading indicator or and error
/// tile we're increasing the count by 1.
itemCount: (nextPageKey != null || error != null)
? channels.length + 1
: channels.length,
itemBuilder: (BuildContext context, int index) {
if (index == channels.length) {
if (error != null) {
return TextButton(
onPressed: () {
channelListController.retry();
},
child: Text(error.message),
);
}
return CircularProgressIndicator();
}
final _item = channels[index];
return ListTile(
title: Text(_item.name ?? ''),
@@ -187,20 +205,20 @@ class MessageScreen extends StatefulWidget {
}
class _MessageScreenState extends State<MessageScreen> {
late final TextEditingController _controller;
final StreamMessageInputController messageInputController =
StreamMessageInputController();
late final ScrollController _scrollController;
final messageListController = MessageListController();
@override
void initState() {
super.initState();
_controller = TextEditingController();
_scrollController = ScrollController();
}
@override
void dispose() {
_controller.dispose();
messageInputController.dispose();
_scrollController.dispose();
super.dispose();
}
@@ -301,7 +319,8 @@ class _MessageScreenState extends State<MessageScreen> {
children: [
Expanded(
child: TextField(
controller: _controller,
controller: messageInputController.textEditingController,
onChanged: (s) => messageInputController.text = s,
decoration: const InputDecoration(
hintText: 'Enter your message',
),
@@ -313,12 +332,13 @@ class _MessageScreenState extends State<MessageScreen> {
clipBehavior: Clip.hardEdge,
child: InkWell(
onTap: () async {
if (_controller.value.text.isNotEmpty) {
if (messageInputController.message.text?.isNotEmpty ==
true) {
await channel.sendMessage(
Message(text: _controller.value.text),
messageInputController.message,
);
messageInputController.clear();
if (mounted) {
_controller.clear();
_updateList();
}
}
@@ -12,7 +12,7 @@ export 'src/message_search_bloc.dart';
export 'src/message_search_list_core.dart' hide MessageSearchListCoreState;
export 'src/message_text_field_controller.dart';
export 'src/paged_value_notifier.dart'
show PagedValueListenableBuilder, PagedValue;
show PagedValueListenableBuilder, PagedValue, PagedValueNotifier;
export 'src/paged_value_scroll_view.dart';
export 'src/stream_channel.dart';
export 'src/stream_channel_list_controller.dart';