bobs_bloc 0.0.1 copy "bobs_bloc: ^0.0.1" to clipboard
bobs_bloc: ^0.0.1 copied to clipboard

A package that takes advantage of BobsJobs to radically simplify bloc applications.

example/lib/main.dart

import 'package:example/random_number_fetch_cubit.dart';
import 'package:example/random_repository.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return RepositoryProvider(
      create: (context) => RandomRepository(),
      child: const MaterialApp(
        title: "Bob's Bloc Example",
        home: HomePage(),
      ),
    );
  }
}

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

  void onShufflePressed(BuildContext context) =>
      context.read<RandomNumberFetchCubit>().fetchRandomNumber();

  @override
  Widget build(BuildContext context) {
    return BlocProvider(
      create: (context) => RandomNumberFetchCubit(
        randomRepository: context.read(),
      ),
      child: Builder(
        builder: (context) => Scaffold(
          appBar: AppBar(title: const Text("Bob's Bloc Example")),
          body: Center(
            child: BlocBuilder<RandomNumberFetchCubit, RandomNumberFetchState>(
              builder: (context, state) => switch (state.status) {
                .initial => const Text('Generate a random number!'),
                .inProgress => const CircularProgressIndicator(),
                .succeeded => Text('${state.success}'),
                .failed => switch (state.failure!) {
                  .unknown => const Text('Unknown error occurred.'),
                  .overflow => const Text('Error: Overflowed'),
                },
              },
            ),
          ),
          floatingActionButton: FloatingActionButton(
            onPressed: () => onShufflePressed(context),
            child: const Icon(Icons.shuffle),
          ),
        ),
      ),
    );
  }
}
1
likes
160
points
240
downloads

Publisher

unverified uploader

Weekly Downloads

A package that takes advantage of BobsJobs to radically simplify bloc applications.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

bloc, bobs_jobs

More

Packages that depend on bobs_bloc