mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-13 03:11:46 +00:00
fix: menu await
This commit is contained in:
@ -600,8 +600,8 @@ app.whenReady().then(async () => {
|
||||
}
|
||||
|
||||
mainWindow = await createMainWindow();
|
||||
setApplicationMenu(mainWindow);
|
||||
refreshMenu(mainWindow);
|
||||
await setApplicationMenu(mainWindow);
|
||||
await refreshMenu(mainWindow);
|
||||
setUpTray(app, mainWindow);
|
||||
|
||||
setupProtocolHandler(mainWindow);
|
||||
|
||||
@ -21,8 +21,8 @@ const createContext = (id: string, win: BrowserWindow): MenuContext<PluginConfig
|
||||
config.setPartial(`plugins.${id}`, newConfig, allPlugins[id].config);
|
||||
},
|
||||
window: win,
|
||||
refresh: () => {
|
||||
setApplicationMenu(win);
|
||||
refresh: async () => {
|
||||
await setApplicationMenu(win);
|
||||
|
||||
if (config.plugins.isEnabled('in-app-menu')) {
|
||||
win.webContents.send('refresh-in-app-menu');
|
||||
@ -46,14 +46,14 @@ export const forceLoadMenuPlugin = async (id: string, win: BrowserWindow) => {
|
||||
}
|
||||
};
|
||||
|
||||
export const loadAllMenuPlugins = (win: BrowserWindow) => {
|
||||
export const loadAllMenuPlugins = async (win: BrowserWindow) => {
|
||||
const pluginConfigs = config.plugins.getPlugins();
|
||||
|
||||
for (const [pluginId, pluginDef] of Object.entries(allPlugins)) {
|
||||
const config = deepmerge(pluginDef.config ?? { enabled: false }, pluginConfigs[pluginId] ?? {});
|
||||
|
||||
if (config.enabled) {
|
||||
forceLoadMenuPlugin(pluginId, win);
|
||||
await forceLoadMenuPlugin(pluginId, win);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
12
src/menu.ts
12
src/menu.ts
@ -46,17 +46,17 @@ const pluginEnabledMenu = (
|
||||
},
|
||||
});
|
||||
|
||||
export const refreshMenu = (win: BrowserWindow) => {
|
||||
setApplicationMenu(win);
|
||||
export const refreshMenu = async (win: BrowserWindow) => {
|
||||
await setApplicationMenu(win);
|
||||
if (inAppMenuActive) {
|
||||
win.webContents.send('refresh-in-app-menu');
|
||||
}
|
||||
};
|
||||
|
||||
export const mainMenuTemplate = (win: BrowserWindow): MenuTemplate => {
|
||||
export const mainMenuTemplate = async (win: BrowserWindow): Promise<MenuTemplate> => {
|
||||
const innerRefreshMenu = () => refreshMenu(win);
|
||||
|
||||
loadAllMenuPlugins(win);
|
||||
await loadAllMenuPlugins(win);
|
||||
|
||||
const menuResult = Object.entries(getAllMenuTemplate()).map(
|
||||
([id, template]) => {
|
||||
@ -452,8 +452,8 @@ export const mainMenuTemplate = (win: BrowserWindow): MenuTemplate => {
|
||||
},
|
||||
];
|
||||
};
|
||||
export const setApplicationMenu = (win: Electron.BrowserWindow) => {
|
||||
const menuTemplate: MenuTemplate = [...mainMenuTemplate(win)];
|
||||
export const setApplicationMenu = async (win: Electron.BrowserWindow) => {
|
||||
const menuTemplate: MenuTemplate = [...await mainMenuTemplate(win)];
|
||||
if (process.platform === 'darwin') {
|
||||
const { name } = app;
|
||||
menuTemplate.unshift({
|
||||
|
||||
Reference in New Issue
Block a user