aidocs_flutter_view 1.0.6 copy "aidocs_flutter_view: ^1.0.6" to clipboard
aidocs_flutter_view: ^1.0.6 copied to clipboard

AI Docs Chatting package for Flutter

example/lib/main.dart

import 'package:aidocs_flutter_view/aidocs_flutter_view.dart';
import 'package:aidocs_flutter_view/pages/chat.page.dart';
import 'package:aidocs_flutter_view/providers/store/chatwoot.provider.dart';
import 'package:flutter/material.dart';

import 'secrets.dart';

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

class MainApp extends StatefulWidget {
  const MainApp({Key? key}) : super(key: key);

  @override
  State<MainApp> createState() => _MainAppState();
}

class _MainAppState extends State<MainApp> {
  late final ChatwootStoreProvider _chatwootProvider;
  late final ChatwootMessageProvider _messageProvider;
  late final ChatwootAuthenticationProvider _authenticationProvider;

  // run some logic at the beginning of the app
  @override
  void initState() {
    super.initState();
    const chatwootHttpEndpoint = 'https://chatwoot.kongshumapi.net';
    const chatwootWebsocketEndpoint = 'wss://chatwoot.kongshumapi.net/cable';

    _chatwootProvider = ChatwootStoreProvider(
      apiEndpoint: chatwootWebsocketEndpoint,
    );
    _messageProvider = ChatwootMessageProvider(
      url: chatwootHttpEndpoint,
      inboxIdentifier: inboxIdentifier,
    );

    _authenticationProvider = ChatwootAuthenticationProvider(
      apiEndpoint: chatwootHttpEndpoint,
      name: 'TestUser',
      userId: '21',
      inboxIdentifier: inboxIdentifier,
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.white,
          elevation: 0,
          title: const Text(
            'AIDocs Flutter',
            style: TextStyle(
              color: Colors.black,
            ),
          ),
        ),
        body: ChatPage(
          messageProvider: _messageProvider,
          authProvider: _authenticationProvider,
          storeProvider: _chatwootProvider,
          // ignore: prefer_const_literals_to_create_immutables
          configs: {},
        ),
      ),
    );
  }
}