diff --git a/README.md b/README.md index ab7339a..c57a431 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ An Arch Linux terminal-themed portfolio website with Hyprland-style TUI components, built with SvelteKit, Tailwind CSS, and Three.js. -![Terminal Portfolio](./static/og-image.png) - ## Features - 🖥️ **Hyprland-style TUI** - Terminal interface inspired by Textual Python TUI @@ -252,6 +250,7 @@ All line types support these optional properties: inline: true, // Render as compact inline button // OR action: () => doSomething(), // Custom action + border: false, // Disable default border (default: true) } ``` @@ -310,7 +309,10 @@ Supported inline types: `button`, `link`, `tooltip`, `progress`, `output`, `info display: 'flex', // flex | grid | block (controls children layout) children: [ // Optional nested elements { type: 'button', content: 'Action', style: 'primary' } - ] + ], + cardWidth: '1/2', // Width (string fraction, decimal, or px) + cardHeight: 300, // Height (string fraction, decimal, or px) + cardFloat: 'center', // start | center | end } ``` @@ -379,6 +381,8 @@ Groups allow you to arrange multiple elements together with custom layout: groupDirection: 'row', // row | column (default: row) groupAlign: 'start', // start | center | end groupGap: '1rem', // CSS gap value + groupGap: '1rem', // CSS gap value + groupExpand: true, // Expand children to fill width (default: false) inline: true, // Render inline with other elements children: [ { type: 'output', content: 'Label:', inline: true }, diff --git a/package.json b/package.json index 28db855..53a5e35 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "dotenv": "^17.2.3", "express": "^5.1.0", "hotkeys-js": "^4.0.0-beta.7", - "three": "^0.181.2" + "three": "^0.181.2", + "ytpl": "^2.3.0" } } diff --git a/src/lib/assets/css/tui-button.css b/src/lib/assets/css/tui-button.css index 9d6283c..fcf4fd4 100644 --- a/src/lib/assets/css/tui-button.css +++ b/src/lib/assets/css/tui-button.css @@ -4,9 +4,9 @@ gap: 0.5rem; width: 100%; padding: 0.5rem 0.75rem; - margin: 0.2rem 0; + margin: 0.75rem 0; background: transparent; - border: 1px solid transparent; + border: 1px solid var(--btn-color); border-radius: 4px; color: var(--btn-color); font-family: inherit; @@ -16,6 +16,10 @@ transition: all 0.15s ease; } +.tui-button.no-border { + border-color: transparent; +} + /* Inline button styles */ .tui-button.inline { width: auto; @@ -65,4 +69,4 @@ width: 100%; display: flex; } -} +} \ No newline at end of file diff --git a/src/lib/assets/css/tui-card.css b/src/lib/assets/css/tui-card.css index 0546485..72fb945 100644 --- a/src/lib/assets/css/tui-card.css +++ b/src/lib/assets/css/tui-card.css @@ -3,9 +3,9 @@ border-left: 3px solid var(--card-color); background: color-mix(in srgb, var(--terminal-bg) 50%, var(--terminal-bg-light)); border-radius: 4px; - padding: 0.75rem 1rem; + padding: 0; margin: 0.5rem 0; - max-width: 600px; + width: 100%; } .tui-card.inline { @@ -43,4 +43,4 @@ width: 100%; margin: 0.5rem 0; } -} +} \ No newline at end of file diff --git a/src/lib/components/ModelViewer.svelte b/src/lib/components/ModelViewer.svelte index 6afe89b..ab4844d 100644 --- a/src/lib/components/ModelViewer.svelte +++ b/src/lib/components/ModelViewer.svelte @@ -1,11 +1,11 @@ -
{modelName}
- - - -
@@ -413,15 +472,15 @@
View
- - - {Math.round(lightIntensity * 100)}% - - + + +
+
+
+ Rotation +
+ + {rotationSpeed.toFixed(1)} +
@@ -475,7 +578,13 @@ -
+
{#if isLoading}
diff --git a/src/lib/components/TerminalTUI.svelte b/src/lib/components/TerminalTUI.svelte index c98d079..ba8667a 100644 --- a/src/lib/components/TerminalTUI.svelte +++ b/src/lib/components/TerminalTUI.svelte @@ -1,18 +1,34 @@