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 */}
+
);
}