featureWidgetTemplate top-level constant
String
const featureWidgetTemplate
Template for generating feature widget files.
Implementation
const featureWidgetTemplate = r'''
import 'package:flutter/material.dart';
import 'package:flutter_reacton/flutter_reacton.dart';
import '{{snakeName}}_reactons.dart';
class {{pascalName}}Page extends StatelessWidget {
const {{pascalName}}Page({super.key});
@override
Widget build(BuildContext context) {
final value = context.watch({{camelName}}Reacton);
final isLoading = context.watch({{camelName}}LoadingReacton);
final error = context.watch({{camelName}}ErrorReacton);
return Scaffold(
appBar: AppBar(title: const Text('{{pascalName}}')),
body: Builder(
builder: (context) {
if (isLoading) {
return const Center(child: CircularProgressIndicator());
}
if (error != null) {
return Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(error, style: const TextStyle(color: Colors.red)),
const SizedBox(height: 16),
ElevatedButton(
onPressed: () => context.set({{camelName}}ErrorReacton, null),
child: const Text('Retry'),
),
],
),
);
}
return Center(child: Text(value));
},
),
);
}
}
''';