flutter_gen_ai_chat_ui 1.0.3 copy "flutter_gen_ai_chat_ui: ^1.0.3" to clipboard
flutter_gen_ai_chat_ui: ^1.0.3 copied to clipboard

A modern, customizable chat UI package for Flutter applications, optimized for AI interactions with support for dark mode, animations, and responsive design.

example/lib/main.dart

import 'package:dash_chat_2/dash_chat_2.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen_ai_chat_ui/flutter_gen_ai_chat_ui.dart';
import 'simple_chat_screen.dart';

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: SimpleChatScreen());
  }
}

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

  @override
  State<SimpleChatScreen> createState() => _SimpleChatScreenState();
}

class _SimpleChatScreenState extends State<SimpleChatScreen> {
  late final ChatMessagesController _controller;
  late final ChatUser _currentUser;
  late final ChatUser _aiUser;
  bool _isLoading = false;

  @override
  void initState() {
    super.initState();
    _controller = ChatMessagesController();
    _currentUser = ChatUser(id: '1', firstName: 'User');
    _aiUser = ChatUser(id: '2', firstName: 'AI Assistant');
  }

  Future<void> _handleSendMessage(ChatMessage message) async {
    setState(() => _isLoading = true);
    _controller.addMessage(message);

    try {
      // Simulate AI response
      await Future.delayed(const Duration(seconds: 1));
      final response = "This is a demo response to: ${message.text}";

      final aiMessage = ChatMessage(
        text: response,
        user: _aiUser,
        createdAt: DateTime.now(),
      );

      _controller.addMessage(aiMessage);
    } finally {
      if (mounted) {
        setState(() => _isLoading = false);
      }
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Simple AI Chat'),
        elevation: 0,
        surfaceTintColor: Colors.transparent,
      ),
      body: AiChatWidget(
        config: const AiChatConfig(
          hintText: 'Type a message...',
          enableAnimation: true,
        ),
        currentUser: _currentUser,
        aiUser: _aiUser,
        controller: _controller,
        onSendMessage: _handleSendMessage,
        isLoading: _isLoading,
      ),
    );
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }
}
54
likes
0
points
1.06k
downloads

Publisher

verified publisherdilacode.com

Weekly Downloads

A modern, customizable chat UI package for Flutter applications, optimized for AI interactions with support for dark mode, animations, and responsive design.

Homepage
Repository (GitHub)
View/report issues

Documentation

Documentation

License

unknown (license)

Dependencies

dash_chat_2, flutter, google_fonts, provider, shimmer

More

Packages that depend on flutter_gen_ai_chat_ui