import { remote, shell } from 'electron'; import React from 'react'; import { observer, inject } from 'mobx-react'; import { AppState } from '../../state/AppState'; import headerIcon from '../../assets/icons/png/24x24.png'; import './Header.scss'; interface Props { AppState?: AppState; } @inject('AppState') @observer export class Header extends React.Component { constructor(props: Props) { super(props); } private exit(): void { window.close(); } private maximize(): void { if (remote.getCurrentWindow().isMaximized()) { remote.getCurrentWindow().restore(); } else { remote.getCurrentWindow().maximize(); } } private minimize(): void { remote.getCurrentWindow().minimize(); } private openReleases(): void { shell.openExternal('https://github.com/mgerb/ps-launcher/releases'); } private openBugReport(): void { shell.openExternal('https://github.com/mgerb/ps-launcher/issues'); } public render(): any { const { updateAvailable } = this.props.AppState; const updateClass = updateAvailable ? 'header__update' : ''; return (
{VERSION}
{updateAvailable && Update Available!}
this.exit()}>×
); } }