fix(studio): surface selected nitro cleanup actions in sticky bar
CI / check (push) Failing after 20s
CI / preflight (push) Skipped
CI / deploy (push) Skipped

This commit is contained in:
openhands committed 2026-09-19 23:18:57 +02:00
1 parent 6c53f4680c
commit 9813dbc2a4
1 file changed
+40 -37
@@ -919,43 +919,6 @@ export function NitroCleanupPanel() {
{t("cancelButton")}
</Button>
)}
{scan && (
<Button
variant="destructive"
size="lg"
disabled={busy || running || totalSelected === 0}
onClick={removeSelected}
>
{deleting ? (
<Loader2 className="w-4 h-4 animate-spin mr-2" />
) : (
<Trash2 className="w-4 h-4 mr-2" />
)}
{deleting
? t("deleting")
: t("deleteSelected", { count: totalSelected })}
</Button>
)}
{scan && scan.broken.length > 0 && (
<Button
size="lg"
disabled={
busy ||
running ||
![...selected].some((n) =>
scan.broken.some((e) => e.fileName === n),
)
}
onClick={repairSelected}
>
{repairing ? (
<Loader2 className="w-4 h-4 animate-spin mr-2" />
) : (
<Wrench className="w-4 h-4 mr-2" />
)}
{repairing ? t("redownloading") : t("redownloadBroken")}
</Button>
)}
{scan && scan.fake.length > 0 && (
<>
<Button size="lg" disabled={busy || running} onClick={autoClean}>
@@ -1071,6 +1034,46 @@ export function NitroCleanupPanel() {
</label>
</div>
{totalSelected > 0 && (
<div className="sticky top-0 z-10 flex flex-wrap items-center gap-2 rounded-lg border border-[var(--admin-accent)]/40 bg-[var(--admin-surface)]/95 p-2 shadow-sm backdrop-blur">
<span className="px-1 text-sm font-medium text-[var(--admin-accent)]">
{t("selectedCount", { count: totalSelected })}
</span>
<Button
variant="destructive"
size="sm"
disabled={busy}
onClick={removeSelected}
>
{deleting ? (
<Loader2 className="w-4 h-4 animate-spin mr-2" />
) : (
<Trash2 className="w-4 h-4 mr-2" />
)}
{deleting
? t("deleting")
: t("deleteSelected", { count: totalSelected })}
</Button>
{scan.broken.length > 0 &&
[...selected].some((n) =>
scan.broken.some((e) => e.fileName === n),
) && (
<Button
size="sm"
disabled={busy || repairing}
onClick={repairSelected}
>
{repairing ? (
<Loader2 className="w-4 h-4 animate-spin mr-2" />
) : (
<Wrench className="w-4 h-4 mr-2" />
)}
{repairing ? t("redownloading") : t("redownloadBroken")}
</Button>
)}
</div>
)}
{loading && (
<div className="flex items-center gap-2 rounded-lg border border-[var(--admin-border)] bg-[var(--admin-surface)] p-3 text-xs text-[var(--admin-text-muted)]">
<Loader2 className="w-4 h-4 animate-spin shrink-0" />