const fs = require('fs'); let content = fs.readFileSync('frontend/src/pages/dashboard.tsx', 'utf8'); const replacement = ` const isAdmin = hasPermission(currentUser, 'UPDATE_USERS'); async function loadData() { if (!currentUser) return; if (!isAdmin) { // For regular employees, we just want to load their own logs axios.get('/job_logs/count?employee=' + currentUser.id).then((res) => setJob_logs(res.data.count)).catch(() => setJob_logs(0)); return; } const entities = ['users','roles','permissions','customers','vehicles','pay_types','employee_pay_types','chemical_products','job_logs','job_chemical_usages','payroll_runs','payroll_line_items',]; `; content = content.replace(/async function loadData\(\)\{\n\s*const entities = \['users','roles',/g, replacement); const replacement2 = ` {!!rolesWidgets.length &&
} {isAdmin ? (
`; content = content.replace(/\{\!\!rolesWidgets\.length &&
\}\n\s*
/g, replacement2); const replacement3 = ` }
) : (
My Logs
{job_logs}
)} `; content = content.replace(/<\/Link>\}\n\s*<\/div>\n\s*<\/SectionMain>/g, replacement3); fs.writeFileSync('frontend/src/pages/dashboard.tsx', content); console.log("Patched dashboard.tsx");