flutter_batteries 0.0.6-dev copy "flutter_batteries: ^0.0.6-dev" to clipboard
flutter_batteries: ^0.0.6-dev copied to clipboard

A set of typical classes, extensions and utilities for dart and flutter that help in development.

example/lib/main.dart

import 'dart:async';
import 'dart:developer';

import 'package:flutter/material.dart';
import 'package:flutter_batteries/flutter_batteries.dart';

void main() => runZonedGuarded<Future<void>>(
      () async {
        runApp(const App());
      },
      (error, stackTrace) => log(
        'Top level exception',
        error: error,
        stackTrace: stackTrace,
        level: 1000,
        name: 'main',
      ),
    );

final AppModel appModel = AppModel();

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

  @override
  Widget build(BuildContext context) => ValueListenableBuilder<ThemeData>(
        valueListenable: appModel.select<ThemeData>(
          (controller) => controller.themeData,
          (prev, next) => prev.brightness != next.brightness,
        ),
        builder: (context, themeData, child) => MaterialApp(
          title: 'Material App',
          theme: themeData,
          home: Scaffold(
            body: SafeArea(
              child: Center(
                child: TextButton(
                  onPressed: appModel.switchTheme,
                  child: Text('Switch theme'),
                ),
              ),
            ),
          ),
        ),
      );
}

class AppModel with ChangeNotifier {
  ThemeData get themeData => _themeData;
  ThemeData _themeData = ThemeData.light();
  void switchTheme() {
    _themeData = _themeData.brightness == Brightness.light
        ? ThemeData.dark()
        : ThemeData.light();
    notifyListeners();
  }
}
2
likes
140
pub points
19%
popularity

Publisher

verified publisherplugfox.dev

A set of typical classes, extensions and utilities for dart and flutter that help in development.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

batteries, flutter, meta

More

Packages that depend on flutter_batteries