Ziya/electron/main.ts
rizary 67fb3a203e
feat: implement CEX analysis cards and real-time token monitoring
- Add TokenCard and CexAnalysisCard components for displaying token data
- Implement real-time Redis event streaming for token updates
- Add environment-based configuration system for dev/prod Redis servers
- Create comprehensive hunting ground dashboard with card management
- Add individual and bulk card removal functionality
- Implement browser integration for token details viewing
- Add timestamp utilities and proper type handling for Redis events
- Create production-ready configuration with 154.38.185.112 Redis server
- Add comprehensive documentation in README.md and CONTRIBUTORS.md
- Restructure project architecture with proper Electron-Vue integration

BREAKING CHANGE: Redis configuration now uses environment-based settings
2025-06-23 09:03:39 +07:00

53 lines
1.5 KiB
TypeScript

import { BrowserWindow, app } from 'electron';
import started from 'electron-squirrel-startup';
import { registerWindowHandlers } from './handlers';
import { connectRedis, createMainWindow, disconnectRedis } from './utils';
// Handle creating/removing shortcuts on Windows when installing/uninstalling.
if (started) {
app.quit();
}
/**
* Initialize the application
*/
function initializeApp(): void {
// Connect to Redis
connectRedis();
// Register all IPC handlers
registerWindowHandlers();
// Create the main window
createMainWindow();
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', initializeApp);
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', () => {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
createMainWindow();
}
});
// Clean up Redis connection on app quit
app.on('before-quit', () => {
disconnectRedis();
});
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and import them here.