files static method

Implementation

static Map<String, String> files(ProjectConfig c) {
  final name = c.projectName;
  final title = StringUtils.toTitleCase(name);

  return {
    'lib/main.dart': Snippets.mainDart(name),
    'lib/app.dart': Snippets.appWidget(
      name: name,
      title: title,
      themeImport: 'shared/theme/app_theme.dart',
      routerImport: 'shared/router/app_router.dart',
    ),
    'lib/shared/network/dio_client.dart': Snippets.dioClient(),
    'lib/shared/router/app_router.dart': Snippets.appRouter(
      name: name,
      homeImport: 'features/home/home_screen.dart',
      homeWidget: 'HomeScreen',
    ),
    'lib/features/home/home_screen.dart': Snippets.homeScreen(
      name: name,
      title: title,
      designDir: designDir,
      className: 'HomeScreen',
      providerName: 'homeControllerProvider',
      providerImports: const ['features/home/home_controller.dart'],
    ),
    'lib/features/home/home_model.dart': Snippets.welcomeModel('HomeModel'),
    'lib/features/home/home_service.dart': '''
import 'package:$name/features/home/home_model.dart';

class HomeService {
// TODO: replace this stub with a real data source.
Future<HomeModel> fetchWelcome() async {
  return const HomeModel(
    title: 'Welcome',
    subtitle: 'Your feature-first app is ready. Start building!',
  );
}
}
''',
    'lib/features/home/home_controller.dart': '''
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:$name/features/home/home_model.dart';
import 'package:$name/features/home/home_service.dart';

final homeServiceProvider = Provider<HomeService>((ref) => HomeService());

final homeControllerProvider = FutureProvider<HomeModel>((ref) async {
final service = ref.watch(homeServiceProvider);
return service.fetchWelcome();
});
''',
  };
}