updateRoutes method

void updateRoutes(
  1. String name
)

Implementation

void updateRoutes(String name) {
  final routesFile = File('lib/routes/app_routes.dart');

  if (!routesFile.existsSync()) {
    // Create a new routes file with a template
    final templateContent = '''
import 'package:get/get.dart';
/// Add Next import

class AppRoutes {
/// Auto Create By
/// Flutter helper package
/// www.webspec.in

   /// Add Next String

   static List<GetPage> pages = [
      /// Add Next Route
    ];
   }
   ''';
    routesFile.writeAsStringSync(templateContent);
    print('Routes file created: ${routesFile.path}');
  }

  final routeName = '${_camelCase(name)}Screen';
  final routePath = '/${_camelCase(name)}Screen';    final bindingClass = '${_capitalize(name)}Binding()';
  final pageClass = '${_capitalize(name)}Screen()';

  final importStatements = '''
import '../presentation/${name}/screen/${name}Screen.dart';
import '../presentation/${name}/binding/${name}Binding.dart';
/// Add Next import
''';

  final routeStringDefinition = '''
static const String $routeName = '$routePath';
/// Add Next String
''';    final routeDefinition = '''
  GetPage(
      name: '${routePath}',
      page: () => ${pageClass},
      binding: ${bindingClass},
  ),
  /// Add Next Route
''';

  var content = routesFile.readAsStringSync();

  // Check if the route already exists
  if (content.contains("name: $routePath")) {
    print('Route already exists.');
    return;
  }

  // Update imports
  if (content.contains('/// Add Next import')) {
    content = content.replaceFirst('/// Add Next import', importStatements);
  } else {
    print('Import placeholder not found.');
  }

  // Update route strings
  if (content.contains('/// Add Next String')) {
    content =
        content.replaceFirst('/// Add Next String', routeStringDefinition);
  } else {
    print('Route string placeholder not found.');
  }

  // Update routes list
  if (content.contains('/// Add Next Route')) {
    content = content.replaceFirst('/// Add Next Route', routeDefinition);
  } else {
    print('Routes definition not found in the file.');
  }

  routesFile.writeAsStringSync(content);
  print('Routes updated: ${routesFile.path}');
}