aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/client/components/SyncButton.tsx
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-12-08 00:34:57 +0900
committernsfisis <nsfisis@gmail.com>2025-12-08 00:34:57 +0900
commit18fbdeca372996e37a58cf79b4d07b8c6afd7e75 (patch)
tree97044c9f07a96c74e0dc91b515bfb231131b420d /src/client/components/SyncButton.tsx
parentc8681623f72c461243dcc08cb303ead97dbeda0c (diff)
downloadkioku-18fbdeca372996e37a58cf79b4d07b8c6afd7e75.tar.gz
kioku-18fbdeca372996e37a58cf79b4d07b8c6afd7e75.tar.zst
kioku-18fbdeca372996e37a58cf79b4d07b8c6afd7e75.zip
refactor(client): replace inline SVGs with Font Awesome icons
Migrate all 28 inline SVG icons across 8 components to use Font Awesome React components for better maintainability and consistency. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/client/components/SyncButton.tsx')
-rw-r--r--src/client/components/SyncButton.tsx38
1 files changed, 8 insertions, 30 deletions
diff --git a/src/client/components/SyncButton.tsx b/src/client/components/SyncButton.tsx
index 82a6c68..1c214ad 100644
--- a/src/client/components/SyncButton.tsx
+++ b/src/client/components/SyncButton.tsx
@@ -1,3 +1,5 @@
+import { faArrowsRotate, faSpinner } from "@fortawesome/free-solid-svg-icons";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { useSync } from "../stores";
export function SyncButton() {
@@ -24,44 +26,20 @@ export function SyncButton() {
>
{isSyncing ? (
<>
- <svg
+ <FontAwesomeIcon
+ icon={faSpinner}
className="w-4 h-4 animate-spin"
- fill="none"
- viewBox="0 0 24 24"
aria-hidden="true"
- >
- <circle
- className="opacity-25"
- cx="12"
- cy="12"
- r="10"
- stroke="currentColor"
- strokeWidth="4"
- />
- <path
- className="opacity-75"
- fill="currentColor"
- d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
- />
- </svg>
+ />
<span>Syncing...</span>
</>
) : (
<>
- <svg
+ <FontAwesomeIcon
+ icon={faArrowsRotate}
className="w-4 h-4"
- fill="none"
- stroke="currentColor"
- viewBox="0 0 24 24"
aria-hidden="true"
- >
- <path
- strokeLinecap="round"
- strokeLinejoin="round"
- strokeWidth={2}
- d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"
- />
- </svg>
+ />
<span>Sync</span>
</>
)}