diff --git a/packages/app/src/index.css b/packages/app/src/index.css
index f25d7523f8d..3271b8238c2 100644
--- a/packages/app/src/index.css
+++ b/packages/app/src/index.css
@@ -207,31 +207,6 @@
);
}
- [data-slot="titlebar-update-loader"] {
- display: block;
- flex-shrink: 0;
- margin: 1px;
- width: 12px;
- height: 12px;
- border-radius: 9999px;
- border: 2px solid color-mix(in srgb, var(--v2-icon-icon-accent) 30%, transparent);
- border-top-color: var(--v2-icon-icon-accent);
- animation: titlebar-update-loader-spin 0.67s linear infinite;
- transform-origin: 50% 50%;
- }
-
- :root[data-motion="reduce"] {
- [data-slot="titlebar-update-loader"] {
- animation: none;
- }
- }
-
- @keyframes titlebar-update-loader-spin {
- to {
- transform: rotate(360deg);
- }
- }
-
@keyframes home-projects-fade-top {
from {
visibility: hidden;
diff --git a/packages/app/src/runtime/extension/titlebar-items.tsx b/packages/app/src/runtime/extension/titlebar-items.tsx
index 60fbe3d86ed..5acce9a5cd8 100644
--- a/packages/app/src/runtime/extension/titlebar-items.tsx
+++ b/packages/app/src/runtime/extension/titlebar-items.tsx
@@ -1,6 +1,6 @@
import { createMemo, For, Show } from "solid-js"
-import { syncSpinPhase } from "@opencode/ui/hooks"
import { Icon } from "@opencode/ui/icon"
+import { Spinner } from "@opencode/ui/spinner"
import { TitlebarItem } from "@opencode/gui-extensions/sdk"
import { useExtensionHost } from "./host"
@@ -73,7 +73,7 @@ function TitlebarItemButton(props: { item: TitlebarItem; vertical?: boolean }) {
>
}
+ fallback={}
>
({
corner: cornerIndices.has(i),
}))
-export function Spinner(props: {
- class?: string
- classList?: ComponentProps<"div">["classList"]
- style?: ComponentProps<"div">["style"]
-}) {
+export function Spinner(props: ComponentProps<"svg"> & { "data-component"?: string }) {
return (