feat(electron): add Electron UI components and layout integration

This commit is contained in:
DrSmoothl
2026-03-03 00:54:24 +08:00
parent fc394f4412
commit 65774f3afc
8 changed files with 708 additions and 4 deletions

View File

@@ -1,4 +1,4 @@
import { StrictMode } from 'react'
import { StrictMode, useEffect, useState } from 'react'
import { createRoot } from 'react-dom/client'
import { RouterProvider } from '@tanstack/react-router'
import './index.css'
@@ -9,6 +9,18 @@ import { AnimationProvider } from './components/animation-provider'
import { TourProvider, TourRenderer } from './components/tour'
import { Toaster } from './components/ui/toaster'
import { ErrorBoundary } from './components/error-boundary'
import { BackendSetupWizard } from './components/electron/BackendSetupWizard'
import { isElectron } from './lib/runtime'
function ElectronShell() {
const [isFirstLaunch, setIsFirstLaunch] = useState(false)
useEffect(() => {
window.electronAPI!.isFirstLaunch().then(setIsFirstLaunch)
}, [])
return <BackendSetupWizard open={isFirstLaunch} />
}
createRoot(document.getElementById('root')!).render(
<StrictMode>
@@ -17,6 +29,7 @@ createRoot(document.getElementById('root')!).render(
<ThemeProvider defaultTheme="system">
<AnimationProvider>
<TourProvider>
{isElectron() && <ElectronShell />}
<RouterProvider router={router} />
<TourRenderer />
<Toaster />