Fix L106/L107/L122: unify refresh icons, spinner size, busy-button feedback

L106: Established the convention — ArrowClockwise = retry/redo a local action
      (retry-all, re-download, retry queue item); ArrowSync = network sync/
      update (sync sources, reindex, check/apply updates). Flipped the two
      misclassified sites (LibraryView "check for new" sync, SettingsView
      "Update yt-dlp") to ArrowSync and dropped the now-unused imports.

L107: QueueItem queued-row Spinner was size="extra-tiny"; every other spinner
      is "tiny". Standardized to "tiny".

L122: The app-update and yt-dlp-update buttons showed "Checking…"/"Updating…"
      in the label AND a separate sibling Spinner. Folded the spinner into the
      button icon (icon swaps to Spinner while busy), matching DownloadBar/
      LibraryView, and removed the redundant sibling Spinner.

typecheck + 242 tests + eslint green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 15:29:19 -04:00
parent d7b5737806
commit 0d2000f307
4 changed files with 11 additions and 11 deletions
+1 -2
View File
@@ -16,7 +16,6 @@ import {
import {
SearchRegular,
ArrowSyncRegular,
ArrowClockwiseRegular,
DeleteRegular,
ArrowDownloadRegular,
ChevronDownRegular,
@@ -551,7 +550,7 @@ export function LibraryView(): React.JSX.Element {
<Button
size="small"
appearance="secondary"
icon={syncing ? <Spinner size="tiny" /> : <ArrowClockwiseRegular />}
icon={syncing ? <Spinner size="tiny" /> : <ArrowSyncRegular />}
onClick={onCheckNew}
disabled={syncing || watchedCount === 0}
>
+1 -1
View File
@@ -204,7 +204,7 @@ export const QueueItem = memo(function QueueItem({
{item.status === 'queued' && (
<div className={styles.progressRow}>
<Spinner size="extra-tiny" />
<Spinner size="tiny" />
<Caption1 className={styles.stats}>Waiting to start</Caption1>
</div>
)}
+6 -5
View File
@@ -25,7 +25,6 @@ import {
GlobeRegular,
CookiesRegular,
CodeRegular,
ArrowClockwiseRegular,
DocumentArrowDownRegular,
DocumentArrowUpRegular,
BugRegular,
@@ -1039,13 +1038,12 @@ export function SettingsView(): React.JSX.Element {
<div className={styles.folderRow}>
<Button
icon={<ArrowSyncRegular />}
icon={appChecking ? <Spinner size="tiny" /> : <ArrowSyncRegular />}
onClick={checkAppUpdate}
disabled={appChecking || appDownloading}
>
{appChecking ? 'Checking…' : 'Check for updates'}
</Button>
{appChecking && <Spinner size="tiny" />}
</div>
{(updateToken.trim() !== '' || !!appUpdError) && (
@@ -1175,10 +1173,13 @@ export function SettingsView(): React.JSX.Element {
/>
</Field>
<div className={styles.folderRow}>
<Button icon={<ArrowClockwiseRegular />} onClick={runUpdate} disabled={updating}>
<Button
icon={updating ? <Spinner size="tiny" /> : <ArrowSyncRegular />}
onClick={runUpdate}
disabled={updating}
>
{updating ? 'Updating…' : 'Update yt-dlp'}
</Button>
{updating && <Spinner size="tiny" />}
</div>
{updateResult?.ok && (
<Text style={{ fontFamily: tokens.fontFamilyMonospace, whiteSpace: 'pre-wrap' }}>