createPageFolderStructure function

void createPageFolderStructure(
  1. String folderName
)

Implementation

void createPageFolderStructure(String folderName) {
  final pagesDir = Directory('lib/pages');
  if (!pagesDir.existsSync()) {
    try {
      pagesDir.createSync(recursive: true);
      print('Created folder: ${pagesDir.path}');
    } catch (e) {
      print('Error creating pages directory: $e');
      return;
    }
  }

  final baseDir = Directory('${pagesDir.path}/$folderName');
  if (!baseDir.existsSync()) {
    try {
      baseDir.createSync();
      print('Created folder: ${baseDir.path}');
    } catch (e) {
      print('Error creating folder $folderName: $e');
      return;
    }
  }

  // Subfolders and their corresponding file contents
  SubFoldersWithContentClass.folderName = folderName;
  SubFoldersWithContentClass.subFoldersWithContent.forEach((folder, content) {
    final dir = Directory('${baseDir.path}/$folder');
    final File file;
    try {
      dir.createSync();
      print('Created folder: ${dir.path}');
      if (folder == 'view') {
        file = File('${dir.path}/${folderName}_page.dart');
      } else {
        file = File('${dir.path}/${folderName}_$folder.dart');
      }
      file.writeAsStringSync(content);
      print('Created file: ${file.path}');
    } catch (e) {
      print('Error creating folder or file in $folder: $e');
    }
  });
}