stream_chat 0.1.4 copy "stream_chat: ^0.1.4" to clipboard
stream_chat: ^0.1.4 copied to clipboard

outdated

The official Dart client for Stream Chat, a service for building chat applications.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:stream_chat/stream_chat.dart';
import 'chat.bloc.dart';
import 'components/channel_list_page.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  final client = Client(
    "qk4nn7rpcn75",
    logLevel: Level.INFO,
  );

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider<ChatBloc>(
      create: (_) => ChatBloc(client),
      child: MaterialApp(
        debugShowCheckedModeBanner: false,
        title: 'Stream Chat Example',
        home: ChatLoader(),
        theme: ThemeData(
          scaffoldBackgroundColor: Color(0xfff1f1f3),
          primaryColor: Color(0xfff1f1f3),
          accentColor: Color(0xff006bff),
          iconTheme: IconThemeData(
            color: Color(0xff006bff),
          ),
          floatingActionButtonTheme: FloatingActionButtonThemeData(
            foregroundColor: Color(0xff006bff),
          ),
          backgroundColor: Color(0xfff1f1f3),
          canvasColor: Color(0xfff1f1f3),
        ),
      ),
    );
  }
}

class ChatLoader extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Consumer<ChatBloc>(
      builder: (context, chatBloc, _) => StreamBuilder<User>(
        stream: chatBloc.userStream,
        builder: (context, snapshot) {
          if (snapshot.hasError) {
            return Scaffold(
              body: Center(
                child: Text('${snapshot.error}'),
              ),
            );
          } else if (!snapshot.hasData) {
            return Scaffold(
              body: Center(
                child: CircularProgressIndicator(),
              ),
            );
          } else {
            return ChannelListPage(
              filter: {
                'members': {
                  '\$in': [snapshot.data.id],
                }
              },
              sort: [SortOption("last_message_at")],
              pagination: PaginationParams(
                limit: 20,
              ),
            );
          }
        },
      ),
    );
  }
}
63
likes
0
pub points
88%
popularity

Publisher

verified publishergetstream.io

The official Dart client for Stream Chat, a service for building chat applications.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

async, dio, flutter, json_annotation, logging, stream_channel, uuid, web_socket_channel

More

Packages that depend on stream_chat