fix(in-app-menu): fix #1436

This commit is contained in:
JellyBrick
2023-11-30 09:38:51 +09:00
parent ef8bb95884
commit ed402933d3
2 changed files with 10 additions and 5 deletions

View File

@ -36,7 +36,14 @@ export const forceLoadMenuPlugin = async (id: string, win: BrowserWindow) => {
if (!plugin) return;
const menu = plugin.menu?.(createContext(id, win));
if (menu) menuTemplateMap[id] = await menu;
if (menu) {
const result = await menu;
if (result.length > 0) {
menuTemplateMap[id] = result;
} else {
return;
}
}
else return;
console.log(LoggerPrefix, `Successfully loaded '${id}::menu'`);

View File

@ -1,12 +1,10 @@
import is from 'electron-is';
import { setMenuOptions } from '@/config/plugins';
import type { InAppMenuConfig } from './index';
import type { MenuContext } from '@/types/contexts';
import type { MenuTemplate } from '@/menu';
export const onMenu = async ({ getConfig }: MenuContext<InAppMenuConfig>): Promise<MenuTemplate> => {
export const onMenu = async ({ getConfig, setConfig }: MenuContext<InAppMenuConfig>): Promise<MenuTemplate> => {
const config = await getConfig();
if (is.linux()) {
@ -17,7 +15,7 @@ export const onMenu = async ({ getConfig }: MenuContext<InAppMenuConfig>): Promi
checked: config.hideDOMWindowControls,
click(item) {
config.hideDOMWindowControls = item.checked;
setMenuOptions('in-app-menu', config);
setConfig(config);
}
}
];