import type { TerminalLine } from "$lib/components/tui/types"; import { user } from "$lib/config"; import { navigation } from "$lib/config"; import { themeOptions } from "$lib/stores/theme"; export const lines: TerminalLine[] = [ // neofetch style intro { type: 'command', content: 'bash ~/startup.sh', delay: 300 }, // Color palette (moved below the art/stats block) { type: 'blank', content: '' }, { type: 'output', content: '(&red)███(&)(&orange)███(&)(&yellow)███(&)(&green)███(&)(&cyan)███(&)(&blue)███(&)(&magenta)███(&)(&pink)███(&)', inline: true }, { type: 'output', content: '(&dim,red)███(&)(&dim,orange)███(&)(&dim,yellow)███(&)(&dim,green)███(&)(&dim,cyan)███(&)(&dim,blue)███(&)(&dim,magenta)███(&)(&dim,pink)███(&)', inline: true }, { type: 'blank', content: '' }, { type: 'header', content: `HI, I'm ${user.displayname}` }, { type: 'image', content: '', image: user.avatar, imageAlt: user.name, imageWidth: 120, inline: true }, { type: 'group', content: '', inline: true, groupDirection: 'column', children: [ { type: 'output', content: `(&text)${user.bio}(&)` }, { type: 'group', content: '', groupDirection: 'row', children: [ // Interactive navigation buttons ...navigation.map((nav, i) => ({ type: 'button' as const, content: nav.name + ` (&text, bold)[${i+1}](&)`, icon: nav.icon === '📁' ? 'mdi:folder' : nav.icon === '🎨' ? 'mdi:palette' : 'mdi:trophy', style: 'primary' as const, href: nav.path, inline: true })), ] } ] }, { type: 'divider', content: 'Website Keybinds' }, { type: 'output', content: '(&orange)Toggle Light/Dark Mode(&) (&text, bold)(Alt/Option+B)(&)' , inline: true }, { type: 'output', content: '(&muted)•(&) (&orange)Select Theme(&) (&text, bold)(Alt/Option+T + [#])(&)' , inline: true }, { type: 'output', content: '(&muted)•(&) (&orange)Skip typing animation(&) (&text, bold)(Y)(&)' , inline: true }, { type: 'output', content: '(&muted)•(&) (&orange)Navigate to page(&) (&text, bold)(Ctrl/Cmd+ [#])(&)' , inline: true }, { type: 'blank', content: '' }, // list the themes { type: 'output', content: '(&accent)Themes:(&)', inline: true }, ...themeOptions.map((theme, i) => ( { type: 'output' as const, content: `(&primary)${theme.label}(&) (&text, bold)[${i+1}](&)`, inline: true } )), { type: 'blank', content: '' }, ];