ipc react-electron

This commit is contained in:
cv
2021-06-03 23:47:02 +02:00
parent 9b7dfc7e65
commit e37837723e
3 changed files with 73 additions and 19 deletions
+24 -4
View File
@@ -7,6 +7,7 @@ import MinIconBtn from './buttons/MinIconBtn';
import QuitIconBtn from './buttons/QuitIconBtn';
import style from './MenuBar.module.css';
import HelpIconBtn from './buttons/HelpIconBtn';
const { ipcRenderer } = window.require('electron');
export default function MenuBar(props) {
const { onOpen, onClose } = props;
@@ -15,13 +16,32 @@ export default function MenuBar(props) {
downloadEvents();
};
const handleIPC = (action) => {
switch (action) {
case 'min':
ipcRenderer.send('set-window', 'to-tray');
break;
case 'max':
ipcRenderer.send('set-window', 'to-max');
break;
case 'shutdown':
ipcRenderer.send('shutdown', 'now');
break;
case 'help':
ipcRenderer.send('send-to-link', 'help');
break;
default:
break;
}
};
return (
<>
<QuitIconBtn size='md' />
<MaxIconBtn size='md' />
<MinIconBtn size='md' />
<QuitIconBtn size='md' clickhandler={() => handleIPC('shutdown')} />
<MaxIconBtn size='md' clickhandler={() => handleIPC('max')} />
<MinIconBtn size='md' clickhandler={() => handleIPC('min')} />
<div className={style.gap} />
<HelpIconBtn size='md' disabled />
<HelpIconBtn size='md' clickhandler={() => handleIPC('help')} />
<SettingsIconBtn size='md' disabled />
<InfoIconBtn size='md' clickhandler={onOpen} />
<DownloadIconBtn size='md' clickhandler={handleDownload} />