Files
flynn/src/frontends/tui/banner.ts
T
2026-02-10 13:11:32 -08:00

33 lines
1.4 KiB
TypeScript

// 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);
}