feat(tui): add ASCII art banner on startup

This commit is contained in:
William Valentin
2026-02-10 13:11:32 -08:00
parent f204ff1dd7
commit f892bbe6ca
4 changed files with 43 additions and 2 deletions
+32
View File
@@ -0,0 +1,32 @@
// 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);
}