diff --git a/src/lib/assets/css/navbar.css b/src/lib/assets/css/navbar.css index 09e3bb2..f1cb5b5 100644 --- a/src/lib/assets/css/navbar.css +++ b/src/lib/assets/css/navbar.css @@ -52,12 +52,13 @@ } .cursor { - width: 8px; - height: 1em; + width: 0.5em; + height: 1.1em; background: var(--nav-primary); animation: blink 1s step-end infinite; margin-left: 0.25rem; - vertical-align: text-bottom; + vertical-align: baseline; + transform: translateY(0.15em); } @keyframes blink { diff --git a/src/lib/assets/css/terminal-page.css b/src/lib/assets/css/terminal-page.css index badfba1..81b253e 100644 --- a/src/lib/assets/css/terminal-page.css +++ b/src/lib/assets/css/terminal-page.css @@ -191,12 +191,13 @@ .cursor { display: inline-block; - width: 8px; - height: 1em; + width: 0.5em; + height: 1.1em; background: var(--terminal-primary); animation: cursorBlink 1s step-end infinite; margin-left: 2px; - vertical-align: text-bottom; + vertical-align: baseline; + transform: translateY(0.15em); } @keyframes cursorBlink { diff --git a/src/lib/assets/css/terminal.css b/src/lib/assets/css/terminal.css index 4417fd9..54c78e6 100644 --- a/src/lib/assets/css/terminal.css +++ b/src/lib/assets/css/terminal.css @@ -151,12 +151,13 @@ .cursor { display: inline-block; - width: 8px; - height: 1em; + width: 0.5em; + height: 1.1em; background: var(--terminal-primary); animation: cursorBlink 1s step-end infinite; margin-left: 2px; - vertical-align: text-bottom; + vertical-align: baseline; + transform: translateY(0.15em); } @keyframes cursorBlink { diff --git a/src/lib/assets/css/tui-body.css b/src/lib/assets/css/tui-body.css index 21523a3..4ad4e24 100644 --- a/src/lib/assets/css/tui-body.css +++ b/src/lib/assets/css/tui-body.css @@ -195,12 +195,13 @@ /* Cursor */ .cursor { display: inline-block; - width: 8px; - height: 1em; + width: 0.5em; + height: 1.1em; background: var(--terminal-primary); animation: cursorBlink 1s step-end infinite; margin-left: 2px; - vertical-align: text-bottom; + vertical-align: baseline; + transform: translateY(0.15em); } @keyframes cursorBlink { diff --git a/src/lib/assets/themes/arch.theme.json b/src/lib/assets/themes/arch.theme.json index db1347f..a8db146 100644 --- a/src/lib/assets/themes/arch.theme.json +++ b/src/lib/assets/themes/arch.theme.json @@ -38,9 +38,6 @@ "mauve": "#cea5fb", "flamingo": "#e06c75", "rosewater": "#e8b4b8", - "primary": "var(--terminal-primary)", - "accent": "var(--terminal-accent)", - "muted": "var(--terminal-muted)", "error": "#fa7970", "success": "#23d18b", "warning": "#faa356", @@ -84,9 +81,6 @@ "mauve": "#602090", "flamingo": "#901040", "rosewater": "#a05040", - "primary": "var(--terminal-primary)", - "accent": "var(--terminal-accent)", - "muted": "var(--terminal-muted)", "error": "#a6101d", "success": "#005a2b", "warning": "#945b00", diff --git a/src/lib/assets/themes/catppuccin.theme.json b/src/lib/assets/themes/catppuccin.theme.json index e799121..68b59ad 100644 --- a/src/lib/assets/themes/catppuccin.theme.json +++ b/src/lib/assets/themes/catppuccin.theme.json @@ -38,9 +38,6 @@ "mauve": "#cba6f7", "flamingo": "#f2cdcd", "rosewater": "#f5e0dc", - "primary": "var(--terminal-primary)", - "accent": "var(--terminal-accent)", - "muted": "var(--terminal-muted)", "error": "#f38ba8", "success": "#a6e3a1", "warning": "#f9e2af", @@ -84,9 +81,6 @@ "mauve": "#8839ef", "flamingo": "#dd7878", "rosewater": "#dc8a78", - "primary": "var(--terminal-primary)", - "accent": "var(--terminal-accent)", - "muted": "var(--terminal-muted)", "error": "#d20f39", "success": "#40a02b", "warning": "#df8e1d", diff --git a/src/lib/components/NavbarWaybar.svelte b/src/lib/components/NavbarWaybar.svelte index 2366966..71a160b 100644 --- a/src/lib/components/NavbarWaybar.svelte +++ b/src/lib/components/NavbarWaybar.svelte @@ -2,7 +2,7 @@ import { mode, colorTheme, toggleMode, setColorTheme, themeOptions, themeColors, type ColorTheme } from '$lib/stores/theme'; import { page } from '$app/stores'; import { fly, fade, slide } from 'svelte/transition'; - import { user, navigation, colorPalette } from '$lib/config'; + import { user, navigation } from '$lib/config'; import Icon from '@iconify/svelte'; import { onMount, onDestroy } from 'svelte'; import '$lib/assets/css/navbar-waybar.css'; @@ -100,9 +100,9 @@ --bar-primary: {$themeColors.primary}; --bar-accent: {$themeColors.accent}; --bar-muted: {$themeColors.textMuted}; - --bar-success: {colorPalette.success}; - --bar-warning: {colorPalette.warning}; - --bar-error: {colorPalette.error}; + --bar-success: {$themeColors.colorMap.success}; + --bar-warning: {$themeColors.colorMap.warning}; + --bar-error: {$themeColors.colorMap.error}; " > diff --git a/src/lib/components/Terminal.svelte b/src/lib/components/Terminal.svelte index edbc153..76168e3 100644 --- a/src/lib/components/Terminal.svelte +++ b/src/lib/components/Terminal.svelte @@ -117,7 +117,9 @@ --terminal-user: {$themeColors.terminalUser}; --terminal-path: {$themeColors.terminalPath}; --terminal-primary: {$themeColors.primary}; + --terminal-secondary: {$themeColors.secondary}; --terminal-accent: {$themeColors.accent}; + --terminal-bg-light: {$themeColors.backgroundLight}; " bind:this={terminalElement} > diff --git a/src/lib/components/TerminalPage.svelte b/src/lib/components/TerminalPage.svelte index 6721847..d2ea9f1 100644 --- a/src/lib/components/TerminalPage.svelte +++ b/src/lib/components/TerminalPage.svelte @@ -152,6 +152,7 @@ --terminal-user: {$themeColors.terminalUser}; --terminal-path: {$themeColors.terminalPath}; --terminal-primary: {$themeColors.primary}; + --terminal-secondary: {$themeColors.secondary}; --terminal-accent: {$themeColors.accent}; --terminal-bg-light: {$themeColors.backgroundLight}; " diff --git a/src/lib/components/TerminalTUI.svelte b/src/lib/components/TerminalTUI.svelte index 4912c4b..7dcbf4a 100644 --- a/src/lib/components/TerminalTUI.svelte +++ b/src/lib/components/TerminalTUI.svelte @@ -38,10 +38,13 @@ typeof speed === 'number' ? speed : (speedPresets[speed] ?? 1) ); + // Get colorMap from current theme + const colorMap = $derived($themeColors.colorMap); + // Pre-parse all lines upfront (segments + plain text) const parsedLines = $derived( lines.map(line => { - const segments = parseColorText(line.content); + const segments = parseColorText(line.content, colorMap); return { line, segments, @@ -337,6 +340,7 @@ --terminal-user: {$themeColors.terminalUser}; --terminal-path: {$themeColors.terminalPath}; --terminal-primary: {$themeColors.primary}; + --terminal-secondary: {$themeColors.secondary}; --terminal-accent: {$themeColors.accent}; --terminal-bg-light: {$themeColors.backgroundLight}; " diff --git a/src/lib/components/tui/TuiAccordion.svelte b/src/lib/components/tui/TuiAccordion.svelte index 1d463ff..6d1f3a4 100644 --- a/src/lib/components/tui/TuiAccordion.svelte +++ b/src/lib/components/tui/TuiAccordion.svelte @@ -1,6 +1,7 @@