import { app, BrowserWindow, ipcMain } from 'electron'; import { join } from 'path'; import { writeFile } from 'fs/promises'; import Store from 'electron-store'; const store = new Store(); async function createWindow() { const mainWindow = new BrowserWindow({ width: 1200, height: 800, webPreferences: { nodeIntegration: true, contextIsolation: false } }); if (process.env.NODE_ENV === 'development') { mainWindow.loadURL('http://localhost:5173'); } else { mainWindow.loadFile(join(__dirname, '../dist/index.html')); } } app.whenReady().then(createWindow); app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit(); } }); app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow(); } }); // Handle audio chunk saves ipcMain.handle('save-audio-chunk', async (event, { buffer, fileName }) => { try { const savePath = join(app.getPath('documents'), 'PodcastRecordings', fileName); await writeFile(savePath, Buffer.from(buffer)); return { success: true, path: savePath }; } catch (error) { console.error('Failed to save audio chunk:', error); return { success: false, error: error.message }; } });