addRouteToAppPages method
Implementation
void addRouteToAppPages(
String featureName, String className, String projectDir) {
final pagesFile = File(path.join(projectDir, 'lib/routes/app_pages.dart'));
if (!pagesFile.existsSync()) {
printWarning('app_pages.dart file not found. Skipping page addition.');
return;
}
final content = pagesFile.readAsStringSync();
final snakeCaseName = toSnakeCase(featureName);
final packageName = getPackageName(path.join(projectDir, 'lib'));
final importEntry =
"import 'package:$packageName/features/$featureName/presentation/pages/${snakeCaseName}_page.dart';\n";
final routeEntry = '''
GoRoute(
name: Names.$featureName,
path: Routes.$featureName,
builder: (context, state) => const $className(),
),
''';
String updatedContent;
if (content.contains('routes: [')) {
updatedContent = importEntry +
content.replaceFirst(
'routes: [',
'routes: [\n$routeEntry',
);
} else {
updatedContent = importEntry + content;
printWarning(
'Could not find "routes: [" in app_pages.dart. Route might need to be added manually.');
}
pagesFile.writeAsStringSync(updatedContent);
print('Updated routes in app_pages.dart');
}