Skip to content
Snippets Groups Projects
Unverified Commit eed61052 authored by Michael Clark's avatar Michael Clark Committed by GitHub
Browse files

Electron: Fix load backup functionality (#2580)

parent 291e3a8d
No related branches found
No related tags found
No related merge requests found
......@@ -77,7 +77,7 @@ function AppInner({ budgetId, cloudFileId }: AppInnerProps) {
}, []);
useEffect(() => {
global.Actual.updateAppMenu(!!budgetId);
global.Actual.updateAppMenu(budgetId);
}, [budgetId]);
return (
......
......@@ -137,7 +137,7 @@ async function createWindow() {
win.on('closed', () => {
clientWin = null;
updateMenu(false);
updateMenu();
unlistenToState();
});
......@@ -187,13 +187,17 @@ function isExternalUrl(url) {
return !url.includes('localhost:') && !url.includes('app://');
}
function updateMenu(isBudgetOpen) {
function updateMenu(budgetId) {
const isBudgetOpen = !!budgetId;
const menu = getMenu(isDev, createWindow);
const file = menu.items.filter(item => item.label === 'File')[0];
const fileItems = file.submenu.items;
fileItems
.filter(item => item.label === 'Load Backup...')
.map(item => (item.enabled = isBudgetOpen));
.forEach(item => {
item.enabled = isBudgetOpen;
item.budgetId = budgetId;
});
const tools = menu.items.filter(item => item.label === 'Tools')[0];
tools.submenu.items.forEach(item => {
......@@ -362,8 +366,8 @@ ipcMain.on('apply-update', () => {
updater.apply();
});
ipcMain.on('update-menu', (event, isBudgetOpen) => {
updateMenu(isBudgetOpen);
ipcMain.on('update-menu', (event, budgetId) => {
updateMenu(budgetId);
});
ipcMain.on('set-theme', theme => {
......
......@@ -12,7 +12,7 @@ function getMenu(isDev, createWindow) {
if (focusedWindow) {
if (focusedWindow.webContents.getTitle() === 'Actual') {
focusedWindow.webContents.executeJavaScript(
"__actionsForMenu.replaceModal('load-backup')",
`__actionsForMenu.replaceModal('load-backup', { budgetId: '${item.budgetId}' })`,
);
}
}
......
......@@ -49,8 +49,8 @@ contextBridge.exposeInMainWorld('Actual', {
ipcRenderer.send('apply-update');
},
updateAppMenu: isBudgetOpen => {
ipcRenderer.send('update-menu', isBudgetOpen);
updateAppMenu: budgetId => {
ipcRenderer.send('update-menu', budgetId);
},
getServerSocket: () => {
......
---
category: Bugfix
authors: [mikesglitch]
---
Fix "Load backup" functionality in Electron - no longer throwing fatal error
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment