diff --git a/static/js/tasks.js b/static/js/tasks.js
index 7319e30..673f934 100644
--- a/static/js/tasks.js
+++ b/static/js/tasks.js
@@ -623,8 +623,8 @@ function _renderList() {
card.className = 'memory-item task-card' + (task.status === 'paused' ? ' task-paused' : '');
card.dataset.id = task.id;
- // Title row: icon + name (left); paused badge, chevron (expanded only) +
- // status dot (right). Click to expand.
+ // Title row: icon + name (left); status pill + chevron/actions (right).
+ // The status pill replaces the old dot and doubles as pause/resume.
const titleRow = document.createElement('div');
titleRow.style.cssText = 'display:flex;align-items:center;gap:6px;cursor:pointer;';
const statusBadge = task.status === 'paused'
@@ -635,7 +635,7 @@ function _renderList() {
const builtinBadge = task.is_builtin
? `built-in${task.is_modified ? ' · edited' : ''}`
: '';
- titleRow.innerHTML = `${_taskIcon(task)}${_esc(task.name)}${builtinBadge}${statusBadge}${_statusDot(task.status)}`;
+ titleRow.innerHTML = `${_taskIcon(task)}${_esc(task.name)}${builtinBadge}${statusBadge}`;
// ... menu button (hover to show)
const actionsWrap = document.createElement('div');
diff --git a/static/style.css b/static/style.css
index f7143e4..c7907b3 100644
--- a/static/style.css
+++ b/static/style.css
@@ -9959,22 +9959,40 @@ textarea.memory-add-input {
display: inline-flex;
align-items: center;
gap: 3px;
- font-size: 10px;
+ font-size: 9px;
font-weight: 600;
text-transform: uppercase;
- letter-spacing: 0.5px;
- padding: 2px 6px;
- border-radius: 10px;
+ letter-spacing: 0.3px;
+ padding: 1px 6px;
+ border-radius: 3px;
flex-shrink: 0;
cursor: pointer;
+ border: 1px solid transparent;
+ line-height: 16px;
+ font-family: 'Fira Code', monospace;
+ transition: transform 0.12s ease, border-color 0.12s ease, background 0.12s ease, filter 0.12s ease;
+ user-select: none;
}
.task-paused-badge {
- color: var(--orange, #ff9800);
- background: color-mix(in srgb, var(--orange, #ff9800) 12%, transparent);
+ color: var(--orange, #ffb86c);
+ background: color-mix(in srgb, var(--orange, #ffb86c) 22%, transparent);
+ border-color: color-mix(in srgb, var(--orange, #ffb86c) 35%, transparent);
}
.task-active-badge {
color: var(--green, #50fa7b);
- background: color-mix(in srgb, var(--green, #50fa7b) 12%, transparent);
+ background: color-mix(in srgb, var(--green, #50fa7b) 20%, transparent);
+ border-color: color-mix(in srgb, var(--green, #50fa7b) 35%, transparent);
+}
+.task-status-badge:hover {
+ filter: brightness(1.08) saturate(1.15);
+}
+.task-paused-badge:hover {
+ background: color-mix(in srgb, var(--orange, #ffb86c) 30%, transparent);
+ border-color: color-mix(in srgb, var(--orange, #ffb86c) 55%, transparent);
+}
+.task-active-badge:hover {
+ background: color-mix(in srgb, var(--green, #50fa7b) 28%, transparent);
+ border-color: color-mix(in srgb, var(--green, #50fa7b) 55%, transparent);
}
.task-builtin-badge {