fl_firebase_chat 0.2.0 copy "fl_firebase_chat: ^0.2.0" to clipboard
fl_firebase_chat: ^0.2.0 copied to clipboard

A comprehensive Flutter chat package with Firebase backend support, featuring real-time messaging, group chats, media sharing, voice messages, push notifications, and customizable UI components.

example/lib/main.dart

import 'package:example/auth/login_screen.dart';
import 'package:example/screens/home_screen.dart';
import 'package:example/services/local_auth_service.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // Firebase Core is still needed for the chat package
  await Firebase.initializeApp();
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(title: 'FL Firebase Chat Example', theme: ThemeData(colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true), home: const AuthGate());
  }
}

class AuthGate extends StatefulWidget {
  const AuthGate({super.key});

  @override
  State<AuthGate> createState() => _AuthGateState();
}

class _AuthGateState extends State<AuthGate> {
  final _localAuth = LocalAuthService();

  @override
  Widget build(BuildContext context) {
    return FutureBuilder<bool>(
      future: _localAuth.isLoggedIn(),
      builder: (context, snapshot) {
        // Loading state
        if (snapshot.connectionState == ConnectionState.waiting) {
          return const Scaffold(body: Center(child: CircularProgressIndicator()));
        }

        // User is logged in locally
        if (snapshot.data == true) {
          return HomeScreen(key: ValueKey('home_${DateTime.now().millisecondsSinceEpoch}'));
        }

        // User is not logged in
        return LoginScreen(key: ValueKey('login_${DateTime.now().millisecondsSinceEpoch}'));
      },
    );
  }
}
0
likes
120
points
52
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter chat package with Firebase backend support, featuring real-time messaging, group chats, media sharing, voice messages, push notifications, and customizable UI components.

Topics

#chat #firebase #messaging #real-time #flutter-package

Documentation

API reference

License

MIT (license)

Dependencies

cloud_firestore, firebase_auth, firebase_storage, flutter, just_audio, path, path_provider, permission_handler, record

More

Packages that depend on fl_firebase_chat