createPageFile method

void createPageFile(
  1. String featureName,
  2. String basePath
)

Implementation

void createPageFile(String featureName, String basePath) {
  final snakeCaseName = toSnakeCase(featureName);
  getPackageName(basePath);
  final pageFile =
      File('$basePath/presentation/pages/${snakeCaseName}_page.dart');

  if (!pageFile.existsSync()) {
    pageFile.writeAsStringSync('''
import 'package:flutter/material.dart';

class ${featureName[0].toUpperCase()}${featureName.substring(1)}Page extends StatelessWidget {
const ${featureName[0].toUpperCase()}${featureName.substring(1)}Page({super.key});

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: const Text('${featureName[0].toUpperCase()}${featureName.substring(1)}'),
    ),
    body: Center(
      child: Text('Welcome to $featureName page!'),
    ),
  );
}
}
''');
    print('Created page file: ${snakeCaseName}_page.dart');
  }
}