From 092efe8c3a583ffcb675e9bf17b4716c0811f87b Mon Sep 17 00:00:00 2001 From: meetsu <96637888+klNuno@users.noreply.github.com> Date: Wed, 14 Oct 2026 10:10:55 +0000 Subject: [PATCH] fix(island): a goal meter in the pill's line and cleaner spacing --- src/components/island/IslandBar.svelte | 34 +++++++++---------- src/components/island/deck/DeckTile.svelte | 4 ++- .../island/music/MusicBubble.svelte | 13 +++---- .../island/sessions/SubAgentList.svelte | 6 ++++ src/lib/island/pose.ts | 11 ++++++ 5 files changed, 44 insertions(+), 24 deletions(-) diff --git a/src/components/island/IslandBar.svelte b/src/components/island/IslandBar.svelte index 6c222a6..a448987 100644 --- a/src/components/island/IslandBar.svelte +++ b/src/components/island/IslandBar.svelte @@ -291,7 +291,7 @@
- {#if live}{/if} + {#if live}{/if} {#if ask && said} {@const request = ask.request} @@ -468,23 +465,26 @@ .live[data-paused] .doing { opacity: 0.55; } - .progress { - position: absolute; - right: 16px; - bottom: 3px; - left: 16px; - height: 2px; + /* The goal: how far the task list is, a short rounded meter before its count ("2/5"), in the line. */ + .goal { + display: inline-block; + width: 28px; + height: 5px; + margin: 0 7px 0 3px; overflow: hidden; - border-radius: 1px; - background: rgb(255 255 255 / 0.1); + border-radius: 999px; + background: var(--island-line-strong); + vertical-align: 1px; } - .progress i { + .goal i { display: block; - width: 100%; height: 100%; + border-radius: inherit; background: var(--island-working); - transform-origin: left; - transition: transform 400ms ease; + transition: width 400ms ease; + } + .live[data-tone='waiting'] .goal i { + background: var(--island-attention); } .dots { display: flex; diff --git a/src/components/island/deck/DeckTile.svelte b/src/components/island/deck/DeckTile.svelte index 67160e4..c44d1bb 100644 --- a/src/components/island/deck/DeckTile.svelte +++ b/src/components/island/deck/DeckTile.svelte @@ -69,10 +69,12 @@ scrollbar-width: thin; scrollbar-color: var(--island-line-strong) transparent; } - /* The island's cards, drawn inside a tile: the tile is their box. */ + /* The island's cards, drawn inside a tile: the tile is their box, and the surface what fades over them. */ .content :global(.island-card) { + --island-card: var(--deck-tile); padding: 0; border: none; background: none; + box-shadow: none; } diff --git a/src/components/island/music/MusicBubble.svelte b/src/components/island/music/MusicBubble.svelte index 05b88eb..6a406ac 100644 --- a/src/components/island/music/MusicBubble.svelte +++ b/src/components/island/music/MusicBubble.svelte @@ -1,7 +1,7 @@