createGoRouterTemplates method
Future<void>
createGoRouterTemplates(
- String projectName
)
override
Implementation
@override
Future<void> createGoRouterTemplates(String projectName) async {
// Create app_router.dart
final routerFile = File(path.join(projectName, 'lib/routes/app_router.dart'));
routerFile.writeAsStringSync(_generateAppRouterContent());
// Check if Clean Architecture structure exists to determine page location
final cleanArchPagesDir = Directory(path.join(projectName, 'lib/presentation/pages'));
String pagesPath;
if (cleanArchPagesDir.existsSync()) {
// Clean Architecture structure exists, use presentation/pages
pagesPath = 'lib/presentation/pages';
} else {
// Regular structure, use pages
pagesPath = 'lib/pages';
}
// Create sample pages with Go Router navigation
final homePageFile = File(path.join(projectName, '$pagesPath/home_page.dart'));
homePageFile.writeAsStringSync(_generateHomePageContent());
final aboutPageFile = File(path.join(projectName, '$pagesPath/about_page.dart'));
aboutPageFile.writeAsStringSync(_generateAboutPageContent());
final settingsPageFile = File(path.join(projectName, '$pagesPath/settings_page.dart'));
settingsPageFile.writeAsStringSync(_generateSettingsPageContent());
}