import chalk from 'chalk';

export const logger = {
  info: (msg) => console.log(chalk.cyan(`  ${msg}`)),
  success: (msg) => console.log(chalk.green(`  ✓ ${msg}`)),
  warn: (msg) => console.log(chalk.yellow(`  ⚠ ${msg}`)),
  error: (msg) => console.log(chalk.red(`  ✗ ${msg}`)),
  dim: (msg) => console.log(chalk.gray(`    ${msg}`)),

  header: (msg) => {
    console.log('');
    console.log(chalk.cyan.bold(`  ${msg}`));
    console.log(chalk.cyan('  ' + '─'.repeat(msg.length)));
    console.log('');
  },

  step: (num, msg) => console.log(chalk.white(`  ${num}. ${msg}`)),

  blank: () => console.log(''),

  box: (lines) => {
    const maxLen = Math.max(...lines.map(l => l.length));
    const border = '─'.repeat(maxLen + 2);

    console.log(chalk.cyan(`  ┌${border}┐`));
    lines.forEach(line => {
      const padded = line.padEnd(maxLen);
      console.log(chalk.cyan(`  │ ${padded} │`));
    });
    console.log(chalk.cyan(`  └${border}┘`));
  }
};
