[![Pub Version](https://img.shields.io/pub/v/sst_base.svg)](https://pub.dev/packages/sst_base)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

# SST Base

**SST Base** is a base template for all SSTeam Flutter/Dart packages.  
It provides a foundation of common utilities, UI helpers, and best practices to accelerate
Flutter/Dart development.

Clone this repository, rename the package, and start your new project instantly.

---

## Features

SST Base offers well-organized modules and high-performance patterns for rapid development:

### High Performance Initialization

- **Parallel Startup**: Splash screen initializes IAP and GDPR consent concurrently using `Future.wait` for faster boot times.
- **Safety Timeout**: Built-in 8-second timeout prevent app hangs during network-dependent service initialization.
- **Modular Entry Point**: Example `main_base` demonstrates a clean, modular initialization flow for better code reading.

### [Storage](doc/storages.md)

- `PrefStorage` — helper for shared preferences.
- `Storage` — generic storage helper for local data.

### Base UI Components (`base.dart`)

- `base_bloc.dart` — base BLoC class for state management.
- `base_event.dart` — base event definitions for BLoC.
- `base_screen.dart` — base screen widget for consistent UI structure.
- `base_state.dart` — base state definitions for BLoC.

### [Common UI Components](doc/commons.md)

- `adaptive_banner.dart` — anchored adaptive banner for maximized revenue.
- `interleaved_ad_widget.dart` — list ad supporting Small/Big alternating pattern.
- `app_bar.dart` — reusable app bar widget.
- `custom_button.dart` — styled button widget.
- `custom_check_box.dart` — custom checkbox widget.
- `custom_radio.dart` — styled radio button widget.
- `infinite_scroll_widget.dart` — infinite scroll helper widget.
- `search_view.dart` — reusable search input view.

### [Dialogs](doc/dialogs.md)

- `base_dialog.dart` — foundational dialog structure for reuse and customization.
- `custom_dialog.dart` — prebuilt customizable dialog widget.
- `dismissible_dialog.dart` — dialog supporting swipe/tap-to-dismiss.

### [Utility Classes](doc/utilities.md)

- `ad_utils.dart` — helpers for Adaptive, MREC, and App Open ads.
- `ad_list_helper.dart` — grid/list ad index and offset calculator.
- `base_settings.dart` — app-wide configuration management.
- `firebase_utils.dart` — Firebase helper functions.
- `in_app_purchase_utils.dart` — robust cross-platform IAP with restored check.
- `logger_utils.dart` — logging with optional Firebase Crashlytics integration.
- `navigator_utils.dart` — navigation helpers.
- `toast_utils.dart` — toast notification helpers.

### Localization Support

Tools to simplify multi-language support.

---