From 66aecdc3fedee17b7b0b2580d43faad98b80f2ae Mon Sep 17 00:00:00 2001 From: echolotl Date: Sun, 15 Mar 2026 17:19:57 -0500 Subject: [PATCH 01/23] infobar and launch button (not interactable yet) --- src/main.css | 26 ++++++++++++--- src/views/Library.vue | 75 +++++++++++++++++++++++++++++++++++++++---- 2 files changed, 91 insertions(+), 10 deletions(-) diff --git a/src/main.css b/src/main.css index 4440e0e..c9c0beb 100644 --- a/src/main.css +++ b/src/main.css @@ -95,7 +95,8 @@ content: ''; } - .btn { + .btn, + .shiny-btn { @apply flex items-center justify-center px-3 py-2 bg-center border-black/20 border-2 cursor-pointer rounded-xl; transition-duration: 150ms; @@ -107,17 +108,34 @@ ); background-position: center 60%; background-size: 250% 200%; - text-shadow: 1px 1px 2px var(--color-codename-500); + text-box-trim: trim-both; &:hover { @apply brightness-140; } - &[class*='icon-'], - & > [class*='icon-'] { + > * { + @apply pointer-events-none; filter: drop-shadow(1px 1px 2px var(--color-codename-500)); } } + + .shiny-btn { + @apply border-transparent border shadow-lg shadow-black/30; + background: + linear-gradient(120deg, var(--color-codename-500), #e7a1f2, #c55ad4) + padding-box, + linear-gradient(180deg, #ff81d5, #501696) border-box; + + &:hover { + @apply brightness-110; + } + + > * { + filter: drop-shadow(0 2px 0 color-mix(in oklab, black 25%, transparent)); + background-blend-mode: plus-lighter; + } + } } button#decorum-tb-minimize, diff --git a/src/views/Library.vue b/src/views/Library.vue index 85ff61c..980d650 100644 --- a/src/views/Library.vue +++ b/src/views/Library.vue @@ -36,6 +36,13 @@ async function handleAddClick() { } } +async function handleLaunchClick() { + if (curItem.value) { + // TODO + console.info('Launching', curItem.value); + } +} + async function refreshEngineContexts() { const engineContexts = await invoke('get_engine_contexts'); const engineInstances = await invoke('get_instances', { @@ -191,16 +198,49 @@ onMounted(async () => { - - - TODO: details-panel + + - @@ -181,7 +242,9 @@ onMounted(async () => { item.instance?.edited_info?.author || item.canonInfo.canonical_author }} - - {{ 'v1.0.0' }} +
{ - + +
+ Version + + {{ curItem.instance.edited_info.version }} + +
+ + + + + + +
+ + Instance Settings + +
+
+ + +
+
+ + +
+
+ + +
+
+ +