steady_async_bloc 0.1.0 copy "steady_async_bloc: ^0.1.0" to clipboard
steady_async_bloc: ^0.1.0 copied to clipboard

BLoC and Cubit adapters for perception-aware async UX with steady_async.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:steady_async/steady_async.dart';
import 'package:steady_async_bloc/steady_async_bloc.dart';

class GreetingCubit extends Cubit<SteadyAsyncState<String>> {
  GreetingCubit() : super(const SteadyAsyncState.idle());

  Future<void> load() async {
    emit(const SteadyAsyncState.loading());
    await Future<void>.delayed(const Duration(milliseconds: 700));
    emit(const SteadyAsyncState.data('Cubit, with calmer UX'));
  }
}

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

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

  @override
  Widget build(BuildContext context) => BlocProvider(
        create: (_) => GreetingCubit()..load(),
        child: MaterialApp(
          home: Scaffold(
            body: Center(
              child: SteadyBlocView<GreetingCubit, SteadyAsyncState<String>,
                  String>(
                selector: (state) => state,
                onRetry: () => context.read<GreetingCubit>().load(),
                dataBuilder: (context, greeting) => Text(greeting),
              ),
            ),
          ),
        ),
      );
}
1
likes
0
points
14
downloads

Publisher

verified publishernexdark.com

Weekly Downloads

BLoC and Cubit adapters for perception-aware async UX with steady_async.

Homepage
Repository (GitHub)
View/report issues

Topics

#bloc #cubit #async #state-management

License

unknown (license)

Dependencies

flutter, flutter_bloc, steady_async

More

Packages that depend on steady_async_bloc