addNavigation function
void
addNavigation(
Implementation
void addNavigation(String name) {
var navigationFile = File(Structure.replaceAsExpected(
path: 'lib/infrastructure/navigation/navigation.dart'));
List<String> lines;
if (!navigationFile.existsSync()) {
createNavigation();
lines = navigationFile.readAsLinesSync();
} else {
var content = formatterDartFile(navigationFile.readAsStringSync());
lines = LineSplitter.split(content).toList();
}
navigationFile.readAsLinesSync();
while (lines.last.isEmpty) {
lines.removeLast();
}
var indexStartNavClass = lines.indexWhere(
(line) => line.contains('class Nav'),
);
var index =
lines.indexWhere((element) => element.contains('];'), indexStartNavClass);
lines.insert(index, ''' GetPage(
name: Routes.${name.snakeCase.toUpperCase()},
page: () => const ${name.pascalCase}Screen(),
binding: ${name.pascalCase}ControllerBinding(),
), ''');
writeFile(navigationFile.path, lines.join('\n'),
overwrite: true, logger: false);
LogService.success(Translation(
LocaleKeys.sucess_navigation_added.trArgs([name.pascalCase])));
}