feat: Enhance system initialization and mock mode handling with improved UI feedback and error handling
This commit is contained in:
@@ -33,29 +33,46 @@ export const useSystemStore = create<SystemState>()(
|
||||
isLoading: false,
|
||||
error: null,
|
||||
|
||||
// Initialize system - called on app startup
|
||||
// Initialize system - called on app startup
|
||||
initializeSystem: async () => {
|
||||
const { isInitialized } = get()
|
||||
if (isInitialized) return
|
||||
|
||||
console.log('Starting system initialization...')
|
||||
set({ isLoading: true, error: null })
|
||||
|
||||
try {
|
||||
// Fetch system information
|
||||
console.log('Fetching system info...')
|
||||
const systemInfo = await api.getSystemInfo()
|
||||
console.log('System info received:', systemInfo)
|
||||
|
||||
// Fetch initial system status
|
||||
console.log('Fetching system status...')
|
||||
const systemStatus = await api.getSystemStatus()
|
||||
console.log('System status received:', systemStatus)
|
||||
|
||||
// Check if we're in mock mode based on the system info
|
||||
const isMockMode = systemInfo.environment === 'mock' || systemStatus.hardware_status === 'disconnected'
|
||||
console.log('Mock mode detected:', isMockMode)
|
||||
|
||||
set({
|
||||
systemInfo,
|
||||
systemStatus,
|
||||
isInitialized: true,
|
||||
isConnected: !isMockMode, // Set connection status based on mock mode
|
||||
isLoading: false,
|
||||
error: null,
|
||||
})
|
||||
|
||||
// Show mock mode warning if applicable
|
||||
if (isMockMode && systemInfo.environment === 'mock') {
|
||||
console.info('✅ Running in mock mode - no hardware required')
|
||||
}
|
||||
|
||||
console.log('✅ System initialization completed successfully')
|
||||
} catch (error) {
|
||||
console.error('Failed to initialize system:', error)
|
||||
console.error('❌ Failed to initialize system:', error)
|
||||
set({
|
||||
isLoading: false,
|
||||
error: error instanceof Error ? error.message : 'Failed to initialize system',
|
||||
|
||||
Reference in New Issue
Block a user