From 4e0e0e6e923de5ef2026b650fac991479d8efdfe Mon Sep 17 00:00:00 2001 From: simos Date: Tue, 8 Jul 2025 12:38:39 +0000 Subject: [PATCH] Integrate version checking system with App.jsx and Sidebar components --- src/App.jsx | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/src/App.jsx b/src/App.jsx index c515fe3..6a3a88e 100755 --- a/src/App.jsx +++ b/src/App.jsx @@ -28,6 +28,7 @@ import QuickSettingsPanel from './components/QuickSettingsPanel'; import { useWebSocket } from './utils/websocket'; import { ThemeProvider } from './contexts/ThemeContext'; +import { useVersionCheck } from './hooks/useVersionCheck'; // Main App component with routing @@ -35,6 +36,9 @@ function AppContent() { const navigate = useNavigate(); const { sessionId } = useParams(); + const { updateAvailable, latestVersion, currentVersion } = useVersionCheck('siteboon', 'claudecodeui'); + const [showVersionModal, setShowVersionModal] = useState(false); + const [projects, setProjects] = useState([]); const [selectedProject, setSelectedProject] = useState(null); const [selectedSession, setSelectedSession] = useState(null); @@ -399,6 +403,92 @@ function AppContent() { } }; + // Version Upgrade Modal Component + const VersionUpgradeModal = () => { + if (!showVersionModal) return null; + + return ( +
+ {/* Backdrop */} +
setShowVersionModal(false)} + /> + + {/* Modal */} +
+ {/* Header */} +
+
+
+ + + +
+
+

Update Available

+

A new version is ready

+
+
+ +
+ + {/* Version Info */} +
+
+ Current Version + {currentVersion} +
+
+ Latest Version + {latestVersion} +
+
+ + {/* Upgrade Instructions */} +
+

How to upgrade:

+
+ + git checkout main && git pull && npm install + +
+

+ Run this command in your Claude Code UI directory to update to the latest version. +

+
+ + {/* Actions */} +
+ + +
+
+
+ ); + }; + return (
{/* Fixed Desktop Sidebar */} @@ -417,6 +507,10 @@ function AppContent() { isLoading={isLoadingProjects} onRefresh={handleSidebarRefresh} onShowSettings={() => setShowToolsSettings(true)} + updateAvailable={updateAvailable} + latestVersion={latestVersion} + currentVersion={currentVersion} + onShowVersionModal={() => setShowVersionModal(true)} />
@@ -458,6 +552,10 @@ function AppContent() { isLoading={isLoadingProjects} onRefresh={handleSidebarRefresh} onShowSettings={() => setShowToolsSettings(true)} + updateAvailable={updateAvailable} + latestVersion={latestVersion} + currentVersion={currentVersion} + onShowVersionModal={() => setShowVersionModal(true)} /> @@ -524,6 +622,9 @@ function AppContent() { isOpen={showToolsSettings} onClose={() => setShowToolsSettings(false)} /> + + {/* Version Upgrade Modal */} + ); }