example static method

void example()

Implementation

static void example() {
  final controller = SmartController<int, List<String>>(listener: print);
  SmartFeatureBuilder.build<int, List<String>>(
    repository: MockSmartRepository(),
    controller: controller,
    initialAction: const ComponentInitialAction.call(1),
    builder: (context, state) {
      return state.when(
        initial: () => const Center(child: Text('Press the button to load data')),
        fail: (_) => const Center(child: Text('Failed to load')),
        loading: (_, __) => const CircularProgressIndicator.adaptive(),
        success: (data) => Column(
          children: [
            ElevatedButton(
              onPressed: () => controller.call(1),
              child: const Text('Fetch data'),
            ),
            ListView.builder(
              itemCount: data.length,
              itemBuilder: (context, index) => ListTile(title: Text(data[index])),
            ),
          ],
        ),
      );
    },
  );
}