+
}>
+
+
}
+ filterTitle="table.${fileName}"
+ />
+
+
+
+
+
+
+ );
+};
+
+export default TableHeader;
+
+`
+
+fs.writeFileSync('src/Pages/'+fileName+"/"+"Page.tsx",
+FileContainer
+);
+
+console.log(`File "${fileName}" generated successfully.`);
+
+
+function capitalizeFirstLetter(word) {
+ return (word).charAt(0).toUpperCase() + (word).slice(1);
+}
+
+function capitalizeAllWord(word) {
+ return (word).toUpperCase() ;
+}
\ No newline at end of file
diff --git a/src/Extensions/FileGenerator/generateParamsEnum.js b/src/Extensions/FileGenerator/generateParamsEnum.js
new file mode 100644
index 0000000..cb1dc3b
--- /dev/null
+++ b/src/Extensions/FileGenerator/generateParamsEnum.js
@@ -0,0 +1,39 @@
+const fs = require('fs');
+const path = require('path');
+
+// Function to capitalize and add "_ID"
+function capitalizeAllWord(word) {
+ return word.toUpperCase() + "_ID";
+}
+
+const fileName = process.argv[2];
+
+if (!fileName) {
+ console.error('Please provide a file name.');
+ process.exit(1);
+}
+
+// Define the enum entry to add
+const enumKey = capitalizeAllWord(fileName);
+const enumValue = `${fileName.toLowerCase()}_id`;
+const newEntry = ` ${enumKey} = "${enumValue}",\n`;
+
+// Path to the params.ts file in `src/enums/`
+const paramsPath = path.join(__dirname, '../../enums/params.ts');
+
+try {
+ // Read the current contents of params.ts
+ const fileContents = fs.readFileSync(paramsPath, 'utf-8');
+
+ // Insert the new entry before the closing brace of the enum
+ const updatedContents = fileContents.replace(
+ /(export enum ParamsEnum {\n)/,
+ `$1${newEntry}`
+ );
+
+ // Write the updated contents back to params.ts
+ fs.writeFileSync(paramsPath, updatedContents);
+ console.log(`Enum entry "${enumKey}" added successfully to params.ts.`);
+} catch (error) {
+ console.error(`Error updating params.ts: ${error}`);
+}
diff --git a/src/Extensions/FileGenerator/generateRoute.js b/src/Extensions/FileGenerator/generateRoute.js
new file mode 100644
index 0000000..d5514da
--- /dev/null
+++ b/src/Extensions/FileGenerator/generateRoute.js
@@ -0,0 +1,83 @@
+const fs = require("fs");
+const path = require("path");
+
+const ROUTES_FILE = "./src/Routes.tsx"; // Path to the file that contains the route definitions
+const PAGES_FOLDER = "./src/Pages"; // Folder containing the pages
+
+// Helper to convert a name to PascalCase
+const toPascalCase = (str) =>
+ str.replace(/(^\w|_\w)/g, (match) => match.replace("_", "").toUpperCase());
+
+// Helper to convert a name to lowercase snake_case
+const toSnakeCase = (str) =>
+ str.replace(/[A-Z]/g, (letter, idx) => (idx ? "_" : "") + letter.toLowerCase());
+
+// Helper to dynamically create imports and route items
+const generateRoutes = () => {
+ // Scan the pages folder for directories
+ const pageDirs = fs
+ .readdirSync(PAGES_FOLDER, { withFileTypes: true })
+ .filter((dirent) => dirent.isDirectory())
+ .map((dirent) => dirent.name.toLowerCase()); // Normalize to lowercase
+
+ // Use a Set to ensure no duplicates
+ const uniqueDirs = Array.from(new Set(pageDirs));
+
+ const imports = [];
+ const routes = [];
+
+ uniqueDirs.forEach((page) => {
+ const componentName = toPascalCase(page);
+ const importPath = `./Pages/${page}/Page`;
+ const abilityEnum = toSnakeCase(page).toUpperCase();
+
+ // Add to imports
+ imports.push(
+ `const ${componentName} = React.lazy(() => import("${importPath}"));`
+ );
+
+ // Add to routes
+ routes.push(`
+ {
+ header: "page_header.${toSnakeCase(page)}",
+ element: <${componentName} />,
+ icon: