52 lines
2.7 KiB
TypeScript
52 lines
2.7 KiB
TypeScript
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: '' },
|
|
]; |