import createWindow from "./window";
import main from "./main";
import { backgroundMitt } from '@/composables/useEmitter';
+import {setWindow, getWindow } from './store';
console.log('Starting Crimata electron app.');
const isDev = require('electron-is-dev');
-let win: boolean;
-
// Listen for window creation.
backgroundMitt.on('window-active', (state: boolean) => {
- win = state;
+ setWindow(state)
});
/* Start main process on ready */
// When user clicks app icon (re-open)
app.on("activate", () => {
- if (!win) createWindow();
+ if (!getWindow()) createWindow();
});
// Exit cleanly on request from parent process in development mode.
import useWebsockets from "./composables/useWebsockets";
import { backgroundMitt, ipcEmit } from "@/composables/useEmitter";
import { Notification } from 'electron';
-
-let win: boolean;
-
-// Listen for window creation.
-backgroundMitt.on('window-active', (state: boolean) => {
- win = state;
-});
+import { getWindow } from './store';
function showNotification (options: {
title: string;
uiState.update(body);
// show notification if window is not active
- if (!win) {
+ if (!getWindow()) {
if (body.name === "add") {
const data = body.data as Message;
showNotification({
const schema = {
token: {
type: 'string',
- }
+ },
+ window: {
+ type: 'boolean'
+ }
};
const store = new Store({
encryptionKey: "super user test"
});
+/*
+ * Token state management
+* */
export const setToken = (token: string): void => {
store.set("token", token);
-}
+}
export const getToken = (): string | undefined => {
return store.get("token");
export const clearToken = (): void => {
store.delete("token");
-}
\ No newline at end of file
+}
+
+/*
+ * Window state management
+* */
+export const setWindow = (state: boolean): void => {
+ store.set("window", state);
+}
+
+export const getWindow = (): boolean | undefined => {
+ return store.get("window");
+}
+
+export const clearWindow = (): void => {
+ store.delete("window");
+}