// ASCII art banner for Flynn TUI startup

/**
 * Flynn ASCII art banner using block characters.
 * Raw art lines without any color codes — callers apply their own styling.
 */
export const FLYNN_BANNER = `
  ███████╗██╗     ██╗   ██╗███╗   ██╗███╗   ██╗
  ██╔════╝██║     ╚██╗ ██╔╝████╗  ██║████╗  ██║
  █████╗  ██║      ╚████╔╝ ██╔██╗ ██║██╔██╗ ██║
  ██╔══╝  ██║       ╚██╔╝  ██║╚██╗██║██║╚██╗██║
  ██║     ███████╗   ██║   ██║ ╚████║██║ ╚████║
  ╚═╝     ╚══════╝   ╚═╝   ╚═╝  ╚═══╝╚═╝  ╚═══╝`;

/**
 * Returns the banner with ANSI color codes for terminal output.
 * Uses orange (208) for the art and dim for the box frame.
 */
export function getColoredBanner(): string {
  const orange = '\x1b[38;5;208m';
  const reset = '\x1b[0m';

  return `${orange}${FLYNN_BANNER}${reset}`;
}

/**
 * Returns plain banner lines for use in Ink/React components.
 * Each line is returned individually for flexible rendering.
 */
export function getBannerLines(): string[] {
  return FLYNN_BANNER.split('\n').filter((line) => line.length > 0);
}
