fix: 🐛 fix tray.ts build error

This commit is contained in:
Jin 2025-04-10 21:01:00 +02:00
parent 7f381cb733
commit a554085681

View File

@ -1,23 +1,24 @@
import { Menu, Tray, BrowserWindow } from "electron"; import { BrowserWindow,Menu, Tray } from "electron";
import path from "path";
import windowService from "./window.js";
import optionService from "./options.js";
import { fileURLToPath } from "url";
import type { KeyboardActionNames } from "./keyboard_actions_interface.js";
import date_notes from "./date_notes.js";
import type BNote from "../becca/entities/bnote.js";
import becca from "../becca/becca.js";
import becca_service from "../becca/becca_service.js";
import type BRecentNote from "../becca/entities/brecent_note.js";
import { ipcMain, nativeTheme } from "electron/main"; import { ipcMain, nativeTheme } from "electron/main";
import { default as i18next, t } from "i18next"; import { default as i18next, t } from "i18next";
import { isDev, isMac } from "./utils.js"; import path from "path";
import { fileURLToPath } from "url";
import becca from "../becca/becca.js";
import becca_service from "../becca/becca_service.js";
import type BNote from "../becca/entities/bnote.js";
import type BRecentNote from "../becca/entities/brecent_note.js";
import cls from "./cls.js"; import cls from "./cls.js";
import date_notes from "./date_notes.js";
import type { KeyboardActionNames } from "./keyboard_actions_interface.js";
import optionService from "./options.js";
import { isDev, isMac } from "./utils.js";
import windowService from "./window.js";
let tray: Tray; let tray: Tray;
// `mainWindow.isVisible` doesn't work with `mainWindow.show` and `mainWindow.hide` - it returns `false` when the window // `mainWindow.isVisible` doesn't work with `mainWindow.show` and `mainWindow.hide` - it returns `false` when the window
// is minimized // is minimized
let windowVisibilityMap: Record<number, boolean> = {};; // Dictionary for storing window ID and its visibility status const windowVisibilityMap: Record<number, boolean> = {};; // Dictionary for storing window ID and its visibility status
function getTrayIconPath() { function getTrayIconPath() {
let name: string; let name: string;
@ -75,7 +76,7 @@ function updateWindowVisibilityMap(allWindows: BrowserWindow[]) {
const currentWindowIds: number[] = allWindows.map(window => window.id); const currentWindowIds: number[] = allWindows.map(window => window.id);
// Deleting closed windows from windowVisibilityMap // Deleting closed windows from windowVisibilityMap
for (const [id, visibility] of Object.entries(windowVisibilityMap)) { for (const [id, _] of Object.entries(windowVisibilityMap)) {
const windowId = Number(id); const windowId = Number(id);
if (!currentWindowIds.includes(windowId)) { if (!currentWindowIds.includes(windowId)) {
delete windowVisibilityMap[windowId]; delete windowVisibilityMap[windowId];
@ -133,7 +134,7 @@ function updateTrayMenu() {
const parentNote = becca.getNoteOrThrow("_lbBookmarks"); const parentNote = becca.getNoteOrThrow("_lbBookmarks");
const menuItems: Electron.MenuItemConstructorOptions[] = []; const menuItems: Electron.MenuItemConstructorOptions[] = [];
for (const bookmarkNote of parentNote?.children) { for (const bookmarkNote of parentNote?.children ?? []) {
if (bookmarkNote.isLabelTruthy("bookmarkFolder")) { if (bookmarkNote.isLabelTruthy("bookmarkFolder")) {
menuItems.push({ menuItems.push({
label: bookmarkNote.title, label: bookmarkNote.title,
@ -235,7 +236,7 @@ function updateTrayMenu() {
label: t("tray.today"), label: t("tray.today"),
type: "normal", type: "normal",
icon: getIconPath("today"), icon: getIconPath("today"),
click: cls.wrap(() => openInSameTab(date_notes.getTodayNote())) click: cls.wrap(async () => openInSameTab(await date_notes.getTodayNote()))
}, },
{ {
label: t("tray.bookmarks"), label: t("tray.bookmarks"),