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 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 { BrowserWindow,Menu, Tray } from "electron";
import { ipcMain, nativeTheme } from "electron/main";
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 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;
// `mainWindow.isVisible` doesn't work with `mainWindow.show` and `mainWindow.hide` - it returns `false` when the window
// 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() {
let name: string;
@ -75,7 +76,7 @@ function updateWindowVisibilityMap(allWindows: BrowserWindow[]) {
const currentWindowIds: number[] = allWindows.map(window => window.id);
// Deleting closed windows from windowVisibilityMap
for (const [id, visibility] of Object.entries(windowVisibilityMap)) {
for (const [id, _] of Object.entries(windowVisibilityMap)) {
const windowId = Number(id);
if (!currentWindowIds.includes(windowId)) {
delete windowVisibilityMap[windowId];
@ -133,7 +134,7 @@ function updateTrayMenu() {
const parentNote = becca.getNoteOrThrow("_lbBookmarks");
const menuItems: Electron.MenuItemConstructorOptions[] = [];
for (const bookmarkNote of parentNote?.children) {
for (const bookmarkNote of parentNote?.children ?? []) {
if (bookmarkNote.isLabelTruthy("bookmarkFolder")) {
menuItems.push({
label: bookmarkNote.title,
@ -194,7 +195,7 @@ function updateTrayMenu() {
for (const idStr in windowVisibilityMap) {
const id = parseInt(idStr, 10); // Get the ID of the window and make sure it is a number
const isVisible = windowVisibilityMap[id];
const isVisible = windowVisibilityMap[id];
const win = allWindows.find(w => w.id === id);
if (!win) {
continue;
@ -214,10 +215,10 @@ function updateTrayMenu() {
}
});
}
const contextMenu = Menu.buildFromTemplate([
...windowVisibilityMenuItems,
...windowVisibilityMenuItems,
{ type: "separator" },
{
label: t("tray.open_new_window"),
@ -235,7 +236,7 @@ function updateTrayMenu() {
label: t("tray.today"),
type: "normal",
icon: getIconPath("today"),
click: cls.wrap(() => openInSameTab(date_notes.getTodayNote()))
click: cls.wrap(async () => openInSameTab(await date_notes.getTodayNote()))
},
{
label: t("tray.bookmarks"),
@ -268,7 +269,7 @@ function updateTrayMenu() {
function changeVisibility() {
const lastFocusedWindow = windowService.getLastFocusedWindow();
if (!lastFocusedWindow) {
return;
}