import { app, dialog, OpenDialogOptions, shell } from 'electron' import fsExtra from 'fs-extra' import { ThemeColors } from '../../src-shared/interfaces/theme.interface.js' import { mainWindow } from '../main.js' /** * Opens `url` in the default browser. */ export function openUrl(url: string) { shell.openExternal(url) } export function toggleDevTools() { mainWindow.webContents.toggleDevTools() } export async function isMaximized() { return mainWindow.isMaximized() } export function maximize() { mainWindow.maximize() } export function minimize() { mainWindow.minimize() } export function restore() { mainWindow.restore() } export function quit() { app.quit() } export function showOpenDialog(options: OpenDialogOptions) { return dialog.showOpenDialog(mainWindow, options) } export function showFolder(folderPath: string) { shell.openPath(folderPath) } export function showFile(filePath: string) { shell.showItemInFolder(filePath) } export async function getPlatform() { return process.platform } export async function getThemeColors(path: string) { try { return await fsExtra.readJson(path) as ThemeColors } catch (err) { return null } }