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