Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/spinning-icons-hold-still.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'fiber': patch
---

Keep the refresh spinner on its axis — it was sized 11.7px, and the rotated mask landed on a slightly different centre at each angle, so it wobbled rather than spun.
14 changes: 12 additions & 2 deletions src/lib/components/Sidebar.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -1048,11 +1048,18 @@
<Tooltip.Root>
<Tooltip.Trigger>
{#snippet child({ props })}
<!--
Sized in whole pixels instead of `text-3`, which every other
icon here uses: an icon box is 1.2em, and against the 13px root
that comes out 11.7px. A mask that size resamples to a slightly
different centre at each angle, so the spin wobbles instead of
turning in place. A whole-pixel box holds still.
-->
<span
{...props}
role="img"
aria-label="Refreshing endpoints"
class="i-lucide-refresh-cw text-3 text-muted shrink-0 animate-spin"
class="i-lucide-refresh-cw w-12px h-12px text-muted shrink-0 animate-spin"
></span>
{/snippet}
</Tooltip.Trigger>
Expand Down Expand Up @@ -1103,8 +1110,11 @@
</ContextMenu.Item>
{#if section.loader}
<ContextMenu.Item class="menu-item" onSelect={() => refresh(section)}>
<!-- Whole-pixel box so the spin doesn't wobble — see above. -->
<span
class="i-lucide-refresh-cw text-3 {collections.loading[section.id]
class="i-lucide-refresh-cw w-12px h-12px {collections.loading[
section.id
]
? 'animate-spin'
: ''}"
></span>
Expand Down
Loading