import { existsSync, readFileSync, writeFileSync } from 'node:fs';
import { resolve } from 'node:path';

const root = resolve(__dirname, '../..');

export function generateMobileTemplate(distDir: string) {
  const htmlPath = resolve(distDir, 'index.mobile.html');
  const htmlFallback = resolve(distDir, 'index.html');

  const sourcePath = existsSync(htmlPath) ? htmlPath : htmlFallback;
  const html = readFileSync(sourcePath, 'utf8');

  const output = `// Auto-generated by scripts/mobileSpaWorkflow
// Do not edit manually

export const mobileHtmlTemplate = ${JSON.stringify(html)};
`;

  const outputPath = resolve(
    root,
    'src/app/spa/[variants]/[[...path]]/mobileHtmlTemplate.source.ts',
  );

  writeFileSync(outputPath, output, 'utf8');
  console.log(`Generated mobileHtmlTemplate.source.ts`);
  return outputPath;
}
