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

A Flutter package that helps manage loading, success, and error states in your UI with customizable builders.

๐Ÿ“ฆ page_state_builder #

A simple and customizable Flutter widget to manage page states like loading, success, and error without boilerplate. Designed for clean and maintainable UI in apps where content is dynamically loaded.


โœจ Features #

  • โœ… Show loading, error, or success states using one widget
  • ๐ŸŽจ Fully customizable widgets for loading and error states
  • โ™ป๏ธ Supports retry callbacks for error state
  • ๐Ÿš€ Built with simplicity and clean UI in mind
  • โš™๏ธ Works well with state management libraries like GetX, Riverpod, Provider, etc.

๐Ÿ“ธ Preview #

Loading State Error State Success State
Loading Error Success

๐Ÿš€ Installation #

Add this to your pubspec.yaml:

dependencies:
  page_state_builder: ^1.0.0

Then run:

flutter pub get

๐Ÿ› ๏ธ Usage #

PageStateBuilder(
  state: PageState.loading, // or PageState.success / PageState.error
  errorMessage: 'Something went wrong!',
  onRetry: () => loadData(),
  successBuilder: (_) => Text("Content loaded successfully!"),
);

๐Ÿ’ก With state management (e.g., GetX): #

Obx(
  () => PageStateBuilder(
    state: controller.state.value,
    errorMessage: controller.errorMessage.value,
    onRetry: controller.loadData,
    successBuilder: (_) => MyContentWidget(),
  ),
);

๐Ÿงฉ Customizing #

You can pass your own loading and error widgets:

PageStateBuilder(
  state: myState,
  successBuilder: (_) => MySuccessWidget(),
  loadingBuilder: (_) => CircularProgressIndicator(),
  errorBuilder: (context) => MyCustomErrorWidget(),
);

๐Ÿ“˜ API Reference #

Parameter Type Description
state PageState Required. Current state of the widget.
successBuilder WidgetBuilder Required. Builder for success state UI.
loadingBuilder WidgetBuilder? Optional. Custom widget for loading state.
errorBuilder WidgetBuilder? Optional. Custom widget for error state.
onRetry VoidCallback? Optional. Retry callback for error state.
errorMessage String? Optional. Message to show when in error state.

๐Ÿ“ฆ PageState Enum #

enum PageState {
  loading,
  success,
  error,
}

Use this enum to manage your UI flow more cleanly.


๐Ÿงช Example #

final controller = Get.put(MyController());

PageStateBuilder(
  state: controller.pageState,
  errorMessage: controller.errorMessage,
  onRetry: controller.fetchData,
  successBuilder: (_) => MyDataView(),
);

๐Ÿ“„ License #

MIT License ยฉ 2025 [ KlevaCode ]


โค๏ธ Contributing #

Feel free to fork and improve this widget. PRs are welcome!



0
likes
0
points
5
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package that helps manage loading, success, and error states in your UI with customizable builders.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on page_state_builder