From 18fbdeca372996e37a58cf79b4d07b8c6afd7e75 Mon Sep 17 00:00:00 2001
From: nsfisis <nsfisis@gmail.com>
Date: Mon, 8 Dec 2025 00:34:57 +0900
Subject: refactor(client): replace inline SVGs with Font Awesome icons
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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>
---
 src/client/components/OfflineBanner.tsx | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

(limited to 'src/client/components/OfflineBanner.tsx')

diff --git a/src/client/components/OfflineBanner.tsx b/src/client/components/OfflineBanner.tsx
index bf94908..b33fc14 100644
--- a/src/client/components/OfflineBanner.tsx
+++ b/src/client/components/OfflineBanner.tsx
@@ -1,3 +1,5 @@
+import { faWifi } from "@fortawesome/free-solid-svg-icons";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
 import { useSync } from "../stores";
 
 export function OfflineBanner() {
@@ -13,20 +15,11 @@ export function OfflineBanner() {
 			aria-live="polite"
 			className="bg-slate text-white py-2 px-4 text-sm flex items-center justify-center gap-2"
 		>
-			<svg
+			<FontAwesomeIcon
+				icon={faWifi}
 				className="w-4 h-4 text-warning"
-				fill="none"
-				stroke="currentColor"
-				viewBox="0 0 24 24"
 				aria-hidden="true"
-			>
-				<path
-					strokeLinecap="round"
-					strokeLinejoin="round"
-					strokeWidth={2}
-					d="M18.364 5.636a9 9 0 010 12.728m0 0l-2.829-2.829m2.829 2.829L21 21M15.536 8.464a5 5 0 010 7.072m0 0l-2.829-2.829m-4.243 2.829a4.978 4.978 0 01-1.414-2.83m-1.414 5.658a9 9 0 01-2.167-9.238m7.824 2.167a1 1 0 111.414 1.414m-1.414-1.414L3 3m8.293 8.293l1.414 1.414"
-				/>
-			</svg>
+			/>
 			<span>
 				You're offline. Changes will sync when you reconnect.
 				{pendingCount > 0 && (
-- 
cgit v1.2.3-70-g09d2

