ui: version-display via JS, undo-toast centering, ctrl+enter save, test progress polish

* version: every span that shows v<APP_VERSION> in the page chrome now
  carries data-app-version, and checkAuth() patches them in from the
  /api/auth/status response so the GUI version doesn't go stale when
  PHP is cached behind anything that revalidates lazily.

* undo: tailwind v4 compiles `-translate-x-1/2` to the *new* CSS
  `translate` property, which then stacks with the inline `transform`
  the toast set — the box ended up shifted ~ -100% and looked left-
  anchored. Drop the tailwind utility, set `translate` directly inline
  so there's one source of truth for the offset.

* editor: ctrl/cmd+enter while the editor modal is open now invokes
  saveCard() (= save + close), pairing with the existing ctrl+s
  (save only) and ctrl+shift+s (save+close) shortcuts.

* collab buckets: drop the inset left edge from .bucket-tab-collab and
  the matching pulse-keyframe shadow — the bar tab now reads as a
  normal bucket tab, just with the unread dot + 3-cycle pulse on update.

* collab create dialog: drop the box border / background from
  .collab-toggle-row and .collab-members so the toggle and the user
  list sit directly on the modal background instead of looking like
  nested input boxes.

* test progress strip: ensureProgressBar() now also pushes the body
  down by 30px AND shrinks it via height: calc(100vh - 30px) so the
  fixed-top bar doesn't clip the footer (body is h-screen +
  overflow-hidden in the core layout). hideProgress() clears both
  inline styles when the run finishes.

chore: bump version to 0.9.2

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
thandClaude Opus 4.6 committed 2026-04-11 20:56:59 +02:00
1 parent fe3399a44b
commit 2059e50ce3
7 files changed
+39 -26

No files matched your search

@@ -8,8 +8,6 @@
.bucket-tab.bucket-tab-collab {
position: relative;
/* Subtle left emphasis so collab tabs read differently at a glance */
box-shadow: inset 2px 0 0 0 color-mix(in srgb, var(--t-accent2) 70%, transparent);
}
.bucket-tab.bucket-tab-collab .collab-tab-dot {
@@ -35,14 +33,8 @@ body.anim-slow .bucket-tab.bucket-tab-collab.pulsing {
animation-duration: 1.2s !important;
}
@keyframes collab-bucket-pulse {
0%, 100% {
box-shadow: inset 2px 0 0 0 color-mix(in srgb, var(--t-accent2) 70%, transparent),
0 0 0 0 color-mix(in srgb, var(--t-danger) 60%, transparent);
}
50% {
box-shadow: inset 2px 0 0 0 color-mix(in srgb, var(--t-accent2) 70%, transparent),
0 0 0 4px color-mix(in srgb, var(--t-danger) 0%, transparent);
}
0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--t-danger) 60%, transparent); }
50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--t-danger) 0%, transparent); }
}
/* ── Create / edit modal (used by the + Bucket button when the plugin
@@ -136,26 +128,20 @@ body.anim-slow .bucket-tab.bucket-tab-collab.pulsing {
display: flex !important;
align-items: center;
gap: 8px;
padding: 8px 10px;
background: var(--t-bg);
border: 1px solid var(--t-border);
border-radius: var(--ui-radius-input);
padding: 6px 0;
cursor: pointer;
font-size: 12px;
color: var(--t-text);
user-select: none;
}
.collab-toggle-row input { accent-color: var(--t-accent); cursor: pointer; }
.collab-toggle-row:hover { border-color: var(--t-accent); color: var(--t-bright); }
.collab-toggle-row:hover { color: var(--t-bright); }
.collab-members-wrap { margin-top: 10px; }
.collab-members {
border: 1px solid var(--t-border);
border-radius: var(--ui-radius-input);
background: var(--t-bg);
max-height: 200px;
overflow-y: auto;
padding: 4px;
padding: 0;
}
.collab-members-empty {
font-size: 11px;