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:
@@ -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}
|
||||
>
|
||||
|
||||
@@ -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>
|
||||
)}
|
||||
|
||||
@@ -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' }}>
|
||||
|
||||
Reference in New Issue
Block a user