const fs = require('fs');
const path = require('path');

const projectRoot = path.resolve(__dirname, '..');
const dashboardFilePath = path.join(projectRoot, 'frontend-web', 'src', 'pages', 'Dashboard.jsx');

const oldString = `        <PageHeader 
          title="Welcome to KROW"`;

const newString = `        <PageHeader 
          title={
            <div className="flex items-center gap-2">
              <span>Welcome to KROW</span>
              {import.meta.env.VITE_APP_ENV === 'staging' && <span className="bg-yellow-100 text-yellow-800 text-xs font-semibold px-2.5 py-0.5 rounded-full">Staging</span>}
              {import.meta.env.VITE_APP_ENV === 'dev' && <span className="bg-slate-200 text-slate-800 text-xs font-semibold px-2.5 py-0.5 rounded-full">Dev</span>}
            </div>
          }`;

try {
  const content = fs.readFileSync(dashboardFilePath, 'utf8');

  if (content.includes(oldString)) {
    const newContent = content.replace(oldString, newString);
    fs.writeFileSync(dashboardFilePath, newContent, 'utf8');
    console.log('✅ Successfully patched Dashboard.jsx to include environment label.');
  } else if (content.includes('VITE_APP_ENV')) {
    console.log('ℹ️ Dashboard.jsx is already patched for environment labels. Skipping.');
  } else {
    console.error('❌ Patching Dashboard.jsx failed: Could not find the PageHeader title.');
    process.exit(1);
  }
} catch (error) {
  console.error('❌ An error occurred during patching Dashboard.jsx:', error);
  process.exit(1);
}
