flutter_blackbox 0.1.1 copy "flutter_blackbox: ^0.1.1" to clipboard
flutter_blackbox: ^0.1.1 copied to clipboard

In-app debug overlay for Flutter — network inspector, mock engine, live logs, FPS monitor, feature flags, and QA report. Includes built-in adapters for Dio and dart:http. Zero required third-party dep [...]

example/lib/main.dart

// Single import — everything comes from one package now
import 'package:flutter_blackbox/flutter_blackbox.dart';
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

final dio = Dio(BaseOptions(baseUrl: 'https://api.example.com'));

void main() {
  DevKit.setup(
    httpAdapters: [DioDevKitAdapter(dio)], // Option A — Dio
    // httpAdapters: [HttpDevKitAdapter()],        // Option B — http package
    logAdapter: PrintLogAdapter(),
    flagAdapter: LocalFlagAdapter(flags: {
      'new_checkout': const FlagConfig(defaultValue: false, group: 'Checkout'),
      'show_banner': const FlagConfig(defaultValue: true, group: 'Marketing'),
    }),
    trigger: const DevKitTrigger.floatingButton(),
    enabled: kDebugMode,
  );

  DevKit.mock(
    pattern: '/api/orders',
    method: 'GET',
    response:
        const MockResponse(statusCode: 200, body: {'orders': <dynamic>[]}),
  );

  runApp(const DevKitOverlay(child: MyApp()));
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) => MaterialApp(
        title: 'devkit example',
        theme: ThemeData.dark(useMaterial3: true),
        home: const HomeScreen(),
      );
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('devkit example')),
      body: ListView(
        padding: const EdgeInsets.all(16),
        children: [
          _Tile('Log info',
              () => DevKit.log('hello', level: LogLevel.info, tag: 'Home')),
          _Tile('Log error',
              () => DevKit.log('failed', level: LogLevel.error, tag: 'Pay')),
          _Tile('debugPrint', () => debugPrint('[Auth] token refreshed')),
          const _Tile('Open DevKit', DevKit.open),
          _Tile('GET /api/orders (mock)', () async {
            try {
              await dio.get<dynamic>('/api/orders');
            } catch (_) {}
          }),
        ],
      ),
    );
  }
}

class _Tile extends StatelessWidget {
  const _Tile(this.title, this.onTap);
  final String title;
  final VoidCallback onTap;
  @override
  Widget build(BuildContext context) => Card(
        margin: const EdgeInsets.only(bottom: 8),
        child: ListTile(
          title: Text(title),
          trailing: const Icon(Icons.chevron_right),
          onTap: onTap,
        ),
      );
}
11
likes
0
points
522
downloads

Publisher

unverified uploader

Weekly Downloads

In-app debug overlay for Flutter — network inspector, mock engine, live logs, FPS monitor, feature flags, and QA report. Includes built-in adapters for Dio and dart:http. Zero required third-party dependencies — Dio and http are optional.

Topics

#debug #developer-tools #overlay #network #logging

License

unknown (license)

Dependencies

connectivity_plus, device_info_plus, dio, flutter, http, package_info_plus

More

Packages that depend on flutter_blackbox