This commit includes comprehensive codebase cleanup and refactoring: ## Code Cleanup - Remove dead TypeScript code (types/monitoring.ts - 194 lines duplicate) - Remove unused Go functions (GetClusterNodes, MigratePassword, GetClusterHealthInfo) - Clean up commented-out code blocks across multiple files - Remove unused TypeScript exports (helpTextClass, private tag color helpers) - Delete obsolete test files and components ## localStorage Consolidation - Centralize all storage keys into STORAGE_KEYS constant - Update 5 files to use centralized keys: * utils/apiClient.ts (AUTH, LEGACY_TOKEN) * components/Dashboard/Dashboard.tsx (GUEST_METADATA) * components/Docker/DockerHosts.tsx (DOCKER_METADATA) * App.tsx (PLATFORMS_SEEN) * stores/updates.ts (UPDATES) - Benefits: Single source of truth, prevents typos, better maintainability ## Previous Work Committed - Docker monitoring improvements and disk metrics - Security enhancements and setup fixes - API refactoring and cleanup - Documentation updates - Build system improvements ## Testing - All frontend tests pass (29 tests) - All Go tests pass (15 packages) - Production build successful - Zero breaking changes Total: 186 files changed, 5825 insertions(+), 11602 deletions(-)
33 lines
988 B
TypeScript
33 lines
988 B
TypeScript
/* @refresh reload */
|
|
import { render } from 'solid-js/web';
|
|
import './index.css';
|
|
import './styles/animations.css';
|
|
import App from './App';
|
|
import { logger } from './utils/logger';
|
|
|
|
const root = document.getElementById('root');
|
|
|
|
if (import.meta.env.DEV && !(root instanceof HTMLElement)) {
|
|
throw new Error(
|
|
'Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?',
|
|
);
|
|
}
|
|
|
|
logger.info('Pulse monitoring dashboard starting');
|
|
|
|
if (root) {
|
|
logger.debug('[Index] Root element found, rendering App...');
|
|
try {
|
|
render(() => <App />, root);
|
|
logger.debug('[Index] Render call completed');
|
|
} catch (error) {
|
|
logger.error('[Index] Render error', error);
|
|
// Show error on page
|
|
root.innerHTML = `<div style="color: red; padding: 20px;">
|
|
<h1>Error Loading App</h1>
|
|
<pre>${error}</pre>
|
|
</div>`;
|
|
}
|
|
} else {
|
|
logger.error('[Index] Root element not found', new Error('root element missing'));
|
|
}
|