chatbuss_chat 1.0.0 copy "chatbuss_chat: ^1.0.0" to clipboard
chatbuss_chat: ^1.0.0 copied to clipboard

Support client in-app pour applications Flutter — messagerie temps réel, pièces jointes et enquête de satisfaction, adossés à la plateforme ChatBuss.

example/lib/main.dart

// App d'exemple : simule "KoolPay" qui integre le support ChatBuss.
//
// Remplace kServerUrl et kChannelId par les tiens (canal livechat cree dans ChatBuss),
// puis : flutter run
import 'package:flutter/material.dart';
import 'package:chatbuss_chat/chatbuss_chat.dart';

// ⚠️ A CONFIGURER — surchargeable sans toucher au code, pour pointer un serveur
// local pendant les essais :
//
//   flutter run \
//     --dart-define=CHATBUSS_SERVER=http://10.0.2.2:8000 \
//     --dart-define=CHATBUSS_CHANNEL=<uuid-du-canal>
//
// 10.0.2.2 est l'adresse par laquelle un EMULATEUR Android joint la machine
// hote : "localhost" designerait l'emulateur lui-meme. Sur un telephone reel
// branche en USB, utiliser l'IP LAN de la machine.
const String kServerUrl = String.fromEnvironment(
  'CHATBUSS_SERVER',
  defaultValue: 'https://chatbuss-server.h.gandyam.com',
);
const String kChannelId = String.fromEnvironment(
  'CHATBUSS_CHANNEL',
  defaultValue: '154f052a-63a8-4e3c-9927-d93a87fffc12',
);

void main() => runApp(const DemoApp());

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'KoolPay (demo)',
      theme: ThemeData(colorSchemeSeed: const Color(0xFF0CA678), useMaterial3: true),
      home: const HomeScreen(),
    );
  }
}

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

  void _openSupport(BuildContext context) {
    Navigator.of(context).push(
      MaterialPageRoute(
        builder: (_) => const ChatbussChatScreen(
          serverUrl: kServerUrl,
          channelId: kChannelId,
          // L'app connait deja son utilisateur -> pas de formulaire.
          user: ChatUser(name: 'Awa Diop', email: 'awa@exemple.com', phone: '+221770000000'),
        ),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('KoolPay')),
      body: const Center(
        child: Padding(
          padding: EdgeInsets.all(24),
          child: Text(
            'Ceci est une app cliente (ex: paiement mobile).\n\n'
            'Appuyez sur le bouton "Aide" en bas a droite pour contacter le support '
            'via ChatBuss, sans quitter l\'application.',
            textAlign: TextAlign.center,
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton.extended(
        onPressed: () => _openSupport(context),
        icon: const Icon(Icons.support_agent),
        label: const Text('Aide'),
      ),
    );
  }
}
0
likes
140
points
64
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

Support client in-app pour applications Flutter — messagerie temps réel, pièces jointes et enquête de satisfaction, adossés à la plateforme ChatBuss.

Homepage

Topics

#chat #support #messaging #livechat

License

MIT (license)

Dependencies

file_picker, flutter, http, http_parser, shared_preferences, web_socket_channel

More

Packages that depend on chatbuss_chat