builder_state 0.0.5 copy "builder_state: ^0.0.5" to clipboard
builder_state: ^0.0.5 copied to clipboard

A simple and customizable Flutter package to easily handle different states (loading, success, error, no data) when working with asynchronous operations like FutureBuilder. Includes ready-to-use widge [...]

example/main.dart

import 'package:flutter/material.dart';
import 'package:builder_state/builder_state.dart';
import 'package:state_msg_builder/state_msg_builder.dart';

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Builder State Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Builder State Example'),
      ),
      body: Center(
        child: FutureLoader<String>(
          future: fetchData(),
          onWaiting: (context, snapshot) => LoadingScreen(waitingTxt: 'Fetching data...'),
          onSuccessHasData: (context, snapshot) => Text('Data: ${snapshot.data}'),
          onError: (context, snapshot) => Text('Error: ${snapshot.error}'),
          onSuccessNoData: (context, snapshot) => const StateMsgScreen(),
        ),
      ),
    );
  }

  Future<String> fetchData() async {
    // Simulate network call with delay
    await Future.delayed(const Duration(seconds: 3));
    // Uncomment the next line to simulate an error
    // throw 'Failed to fetch data!';
    return 'Hello, World!';
  }
}
0
likes
130
points
99
downloads

Publisher

unverified uploader

Weekly Downloads

A simple and customizable Flutter package to easily handle different states (loading, success, error, no data) when working with asynchronous operations like FutureBuilder. Includes ready-to-use widgets for loading screens, error displays, and empty state views. Ideal for building clean and responsive UIs with minimal boilerplate.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

app_style, flutter, flutter_bloc, state_msg_builder

More

Packages that depend on builder_state