bobs_bloc 0.1.0 copy "bobs_bloc: ^0.1.0" to clipboard
bobs_bloc: ^0.1.0 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 => Text(
                  switch (state.failure!) {
                    .unknown => 'Unknown error occurred.',
                    .overflow => 'Error: Overflowed',
                  },
                ),
              },
            ),
          ),
          floatingActionButton: FloatingActionButton(
            onPressed: () => onShufflePressed(context),
            child: const Icon(Icons.shuffle),
          ),
        ),
      ),
    );
  }
}
1
likes
160
points
33
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