Skip to content

Commit 9d7fe7c

Browse files
Control UI: use a dedicated loading style for the Cron refresh button (openclaw#60394)
Merged via squash. Prepared head SHA: f7757b9 Co-authored-by: coder-zhuzm <63866641+coder-zhuzm@users.noreply.github.com> Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com> Reviewed-by: @altaywtf
1 parent 96aea0a commit 9d7fe7c

3 files changed

Lines changed: 10 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ Docs: https://docs.openclaw.ai
112112
- Outbound/sanitizer: strip leaked `<tool_call>`, `<function_calls>`, and model special tokens from shared user-visible assistant text, including truncated tool-call streams, so internal scaffolding no longer bleeds into replies across surfaces. (#60619) Thanks @oliviareid-svg.
113113
- Control UI/avatar: honor `ui.assistant.avatar` when serving `/avatar/:agentId` so Appearance UI avatar paths stop falling back to initials placeholders. (#60778) Thanks @hannasdev.
114114
- Control UI/Overview: prevent gateway access token/password visibility toggle buttons from overlapping their inputs at narrow widths. (#56924) Thanks @bbddbb1.
115+
- Control UI/cron: highlight the Cron refresh button while refresh is in flight so the page's loading state stays visible even when prior data remains on screen. (#60394) Thanks @coder-zhuzm.
115116

116117
## 2026.4.2
117118

ui/src/styles/components.css

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,8 @@
659659
flex-shrink: 0;
660660
}
661661

662-
.btn.primary {
662+
.btn.primary,
663+
.btn.cron-refresh-btn--loading {
663664
border-color: var(--accent);
664665
background: var(--accent);
665666
color: var(--primary-foreground);
@@ -1306,7 +1307,8 @@
13061307
color: var(--accent);
13071308
}
13081309

1309-
:root[data-theme-mode="light"] .btn.primary {
1310+
:root[data-theme-mode="light"] .btn.primary,
1311+
:root[data-theme-mode="light"] .btn.cron-refresh-btn--loading {
13101312
background: var(--accent);
13111313
border-color: var(--accent);
13121314
}

ui/src/ui/views/cron.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,11 @@ export function renderCron(props: CronProps) {
418418
</div>
419419
</div>
420420
<div class="cron-summary-strip__actions">
421-
<button class="btn" ?disabled=${props.loading} @click=${props.onRefresh}>
421+
<button
422+
class=${props.loading ? "btn cron-refresh-btn--loading" : "btn"}
423+
?disabled=${props.loading}
424+
@click=${props.onRefresh}
425+
>
422426
${props.loading ? t("cron.summary.refreshing") : t("cron.summary.refresh")}
423427
</button>
424428
${props.error ? html`<span class="muted">${props.error}</span>` : nothing}

0 commit comments

Comments
 (0)