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

outdated

Official UI kit for Spect8 chat services.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:spect8_ui/spect8_ui.dart';
import 'package:spect8_ui/ui_components/spect8_chat.dart';
import 'package:username_gen/username_gen.dart';

String adminTenantId = "some-admin-tenant-id";
final userId = UsernameGen().generate();

/// client configuration

final spect8Client = Spect8Client(
    config: ClientConfig(
  authURL: 'some-auth-url',
  coreURL: 'some-core-url',
  webSocketURL: 'some-websockets-url',
));

late TenantManager tenantManager;

/// Authenticates a demo user

Future<void> main() async {
  tenantManager = await spect8Client.connectDemoUser(
    demoUserId: 'some-user-id',
    tenantId: 'some-tenant-id',
  );

  runApp(
    Spect8UiExample(),
  );
}

class Spect8UiExample extends StatefulWidget {
  Spect8UiExample();

  @override
  State<Spect8UiExample> createState() => _Spect8UiExampleState();
}

class _Spect8UiExampleState extends State<Spect8UiExample> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(brightness: Brightness.light),
      home: Scaffold(
        body: Spect8Chat(
          currentUserManager: tenantManager.getCurrentUserManager(),
          broadcastManager: tenantManager.getBroadcastManager(
              broadcastId: 'some-broadcast-id'),
        ),
      ),
    );
  }
}