Polish task activity icons

This commit is contained in:
pewdiepie-archdaemon
2026-06-02 07:04:52 +09:00
parent 1ff8669199
commit ed946d8e61
2 changed files with 34 additions and 5 deletions

View File

@@ -349,6 +349,12 @@ function _taskIcon(task) {
return `<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="opacity:0.4;flex-shrink:0;position:relative;top:-4px;">${path}</svg>`;
}
function _taskAiMark(task) {
const kind = task?.task_type || task?.kind || '';
if (kind !== 'llm') return '';
return '<svg class="task-ai-mark" width="10" height="10" viewBox="0 0 24 24" fill="currentColor" aria-label="Uses model"><path d="M12 2l2.25 6.75L21 11l-6.75 2.25L12 20l-2.25-6.75L3 11l6.75-2.25L12 2z"/></svg>';
}
// ---- Custom pickers ----
function _buildTimePicker(containerId, hour, minute) {
@@ -663,7 +669,7 @@ function _renderList() {
const builtinBadge = task.is_builtin
? `<span class="task-builtin-badge${task.is_modified ? ' modified' : ''}" title="${task.is_modified ? 'Built-in task — edited from its default' : 'Built-in task'}">built-in${task.is_modified ? ' · edited' : ''}</span>`
: '';
titleRow.innerHTML = `${_taskIcon(task)}<span class="memory-item-title">${_esc(task.name)}</span>${builtinBadge}<span style="flex:1;"></span>${statusBadge}`;
titleRow.innerHTML = `${_taskIcon(task)}<span class="memory-item-title">${_esc(task.name)}</span>${_taskAiMark(task)}${builtinBadge}<span style="flex:1;"></span>${statusBadge}`;
// ... menu button (hover to show)
const actionsWrap = document.createElement('div');
@@ -2298,7 +2304,8 @@ function _renderActivityEntry(entry) {
<div class="task-log-row is-skipped" data-kind="${_escHtml(entry.kind)}" data-entry-idx="${entryIdx}" style="${styleVars}">
<div class="task-log-row-head">
${statusDot}
<span class="task-log-name">${_escHtml(entry.taskName)}</span>
<span class="task-log-task-icon">${_taskIcon({ action: entry.action, task_type: entry.kind })}</span>
<span class="task-log-name">${_escHtml(entry.taskName)}</span>${_taskAiMark({ task_type: entry.kind })}
${repeatBadge}
<span class="task-log-skipped-reason">skipped${reason ? ' — ' + _escHtml(reason) : ''}</span>
<span style="flex:1"></span>
@@ -2311,7 +2318,8 @@ function _renderActivityEntry(entry) {
<div class="task-log-row${long ? ' is-long' : ''}${_isRunning ? ' is-running' : ''}" data-kind="${_escHtml(entry.kind)}" data-entry-idx="${entryIdx}" style="${styleVars}">
<div class="task-log-row-head">
${statusDot}
<span class="task-log-name">${_escHtml(entry.taskName)}</span>
<span class="task-log-task-icon">${_taskIcon({ action: entry.action, task_type: entry.kind })}</span>
<span class="task-log-name">${_escHtml(entry.taskName)}</span>${_taskAiMark({ task_type: entry.kind })}
${repeatBadge}
<span style="flex:1"></span>
${rightHtml}

View File

@@ -20825,6 +20825,20 @@ body:not(.welcome-ready) #welcome-screen {
title still reads in dark mode. Lightness stays adaptive. */
color: hsl(var(--cat-hue) 60% 60%);
}
.task-log-task-icon {
display: inline-flex;
align-items: center;
flex: 0 0 auto;
margin-right: -3px;
}
.task-log-task-icon svg {
top: 0 !important;
opacity: 0.46 !important;
}
.task-log-row-head .task-ai-mark {
top: 0;
margin-left: -4px;
}
.task-log-repeat {
font-size: 10px;
font-weight: 500;
@@ -20879,7 +20893,7 @@ body:not(.welcome-ready) #welcome-screen {
justify-content: center;
cursor: pointer;
position: relative;
top: -2px;
top: -3px;
}
.task-log-stop:hover {
opacity: 1;
@@ -21065,7 +21079,7 @@ body:not(.welcome-ready) #welcome-screen {
}
.task-log-clear-cache svg {
position: relative;
top: 2px;
top: 0;
}
/* Activity filter chips toggle-out model: ON by default (solid),
click to toggle OFF (dimmed + strikethrough) to hide that group. */
@@ -21199,6 +21213,13 @@ a.chat-link[href^="#research-"] {
the click when hitting the inner glyph). */
.task-card .memory-item-actions .memory-item-btn svg { pointer-events: none; }
.task-card .task-builtin-badge { position: relative; top: -4px; }
.task-ai-mark {
flex: 0 0 auto;
color: var(--accent, var(--red));
opacity: 0.78;
position: relative;
top: -4px;
}
/* Per-card select checkbox rides up to the title line. The "All" checkbox is
#tasks-select-all (not .memory-select-cb), so it stays put. */
.task-card .memory-select-cb { position: relative; top: -4px; }