viewTemplate function

String viewTemplate(
  1. String feature,
  2. String pascal,
  3. String camel
)

Implementation

String viewTemplate(String feature, String pascal, String camel) => '''
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../controller/${feature}_controller.dart';

class ${pascal}View extends StatefulWidget {
  const ${pascal}View({super.key});

  @override
  State<${pascal}View> createState() => _${pascal}ViewState();
}

class _${pascal}ViewState extends State<${pascal}View> {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) {
      context.read<${pascal}Controller>().loadAll();
    });
  }

  @override
  Widget build(BuildContext context) {
    final controller = context.watch<${pascal}Controller>();

    if (controller.isLoading) return const Scaffold(body: Center(child: CircularProgressIndicator()));
    if (controller.hasError) {
      return Scaffold(body: Center(child: Text('Error: \\\${controller.errorMessage}')));
    }

    return Scaffold(
      appBar: AppBar(title: const Text('$pascal')),
      body: const Center(child: Text('$pascal View')),
    );
  }
}
''';