Release notification changes

This commit is contained in:
2020-02-22 21:32:41 -06:00
parent 8e4ed173fd
commit 5aa47c33c9
8 changed files with 58 additions and 12 deletions

View File

@@ -14,6 +14,10 @@ import MountItems from './containers/MountItems/MountItems';
import NewReleases from './components/NewReleases/NewReleases'; import NewReleases from './components/NewReleases/NewReleases';
import {notifyError} from './redux/actions/error_actions'; import {notifyError} from './redux/actions/error_actions';
import Reboot from './components/Reboot/Reboot'; import Reboot from './components/Reboot/Reboot';
import {
setDismissNewReleasesAvailable,
setNewReleasesAvailable
} from './redux/actions/release_version_actions';
import ReleaseVersionDisplay from './components/ReleaseVersionDisplay/ReleaseVersionDisplay'; import ReleaseVersionDisplay from './components/ReleaseVersionDisplay/ReleaseVersionDisplay';
import { import {
displaySelectAppPlatform, displaySelectAppPlatform,
@@ -73,6 +77,15 @@ class App extends IPCContainer {
this.props.VersionLookup[Constants.RELEASE_TYPES[this.props.Release]][this.props.ReleaseVersion]; this.props.VersionLookup[Constants.RELEASE_TYPES[this.props.Release]][this.props.ReleaseVersion];
}; };
handleUpgradeIconClicked = () => {
if (this.props.UpgradeAvailable) {
this.props.setDismissUIUpgrade(false)
} else if (this.props.NewReleasesAvailable2.length > 0) {
this.props.setNewReleasesAvailable(this.props.NewReleasesAvailable2);
this.props.setDismissNewReleasesAvailable(false);
}
};
render() { render() {
const selectedVersion = this.getSelectedVersion(); const selectedVersion = this.getSelectedVersion();
@@ -177,8 +190,9 @@ class App extends IPCContainer {
textAlign={'center'} textAlign={'center'}
type={'Heading1'}/> type={'Heading1'}/>
<UpgradeIcon <UpgradeIcon
available={this.props.UpgradeAvailable} available={this.props.UpgradeAvailable || (this.props.NewReleasesAvailable2.length > 0)}
clicked={()=>this.props.setDismissUIUpgrade(false)} newReleases={!this.props.UpgradeAvailable && (this.props.NewReleasesAvailable2.length > 0)}
clicked={this.handleUpgradeIconClicked}
col={dimensions => dimensions.columns - 6} col={dimensions => dimensions.columns - 6}
colSpan={5} colSpan={5}
row={1} row={1}
@@ -225,6 +239,7 @@ const mapStateToProps = state => {
MissingDependencies: state.install.MissingDependencies, MissingDependencies: state.install.MissingDependencies,
MountsBusy: state.mounts.MountsBusy, MountsBusy: state.mounts.MountsBusy,
NewReleasesAvailable: state.relver.NewReleasesAvailable, NewReleasesAvailable: state.relver.NewReleasesAvailable,
NewReleasesAvailable2: state.relver.NewReleasesAvailable2,
Platform: state.common.Platform, Platform: state.common.Platform,
ProviderState: state.mounts.ProviderState, ProviderState: state.mounts.ProviderState,
RebootRequired: state.common.RebootRequired, RebootRequired: state.common.RebootRequired,
@@ -243,6 +258,8 @@ const mapDispatchToProps = dispatch => {
loadReleases: ()=> dispatch(loadReleases()), loadReleases: ()=> dispatch(loadReleases()),
notifyError: (msg, critical, callback) => dispatch(notifyError(msg, critical, callback)), notifyError: (msg, critical, callback) => dispatch(notifyError(msg, critical, callback)),
saveState: () => dispatch(saveState()), saveState: () => dispatch(saveState()),
setDismissNewReleasesAvailable: dismiss => dispatch(setDismissNewReleasesAvailable),
setNewReleasesAvailable: items => dispatch(setNewReleasesAvailable(items)),
setDismissUIUpgrade: dismiss => dispatch(setDismissUIUpgrade(dismiss)), setDismissUIUpgrade: dismiss => dispatch(setDismissUIUpgrade(dismiss)),
}; };
}; };

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -17,5 +17,9 @@
max-width: 100%; max-width: 100%;
max-height: 100%; max-height: 100%;
box-sizing: border-box; box-sizing: border-box;
opacity: 0.65; color: var(--heading_text_color);
} }
.UpgradeIcon.Release {
color: var(--heading_other_text_color);
}

View File

@@ -1,13 +1,19 @@
import React from 'react'; import React from 'react';
import './UpgradeIcon.css'; import './UpgradeIcon.css';
import availableImage from '../../assets/images/release_available.png';
import ReactTooltip from 'react-tooltip'; import ReactTooltip from 'react-tooltip';
import {faExclamationTriangle} from '@fortawesome/free-solid-svg-icons';
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
export default props => { export default props => {
const styles = ['UpgradeIcon'];
let placement = 'left'; let placement = 'left';
let toolTipText = 'UI Upgrade Available'; let toolTipText = 'UI Upgrade Available';
if (props.release) { if (props.release) {
placement='bottom'; placement='bottom';
styles.push('Release');
}
if (props.release || props.newReleases) {
toolTipText = 'New Release Available'; toolTipText = 'New Release Available';
} }
@@ -16,10 +22,11 @@ export default props => {
( (
<div className={'UpgradeIconOwner'}> <div className={'UpgradeIconOwner'}>
<p data-tip='' data-for={placement}> <p data-tip='' data-for={placement}>
<img alt='' <a href={'#'}
onClick={props.clicked} className={styles.join(' ')}
src={availableImage} onClick={props.clicked}>
className={'UpgradeIcon'}/> <FontAwesomeIcon icon={faExclamationTriangle}/>
</a>
</p> </p>
<ReactTooltip id={placement} place={placement}>{toolTipText}</ReactTooltip> <ReactTooltip id={placement} place={placement}>{toolTipText}</ReactTooltip>
</div> </div>

View File

@@ -10,7 +10,8 @@ import {
loadReleases, loadReleases,
setActiveRelease, setActiveRelease,
setInstalledVersion, setInstalledVersion,
setReleaseUpgradeAvailable setReleaseUpgradeAvailable,
setNewReleasesAvailable2,
} from './release_version_actions'; } from './release_version_actions';
import { import {
confirmYesNo, confirmYesNo,
@@ -224,6 +225,11 @@ export const installRelease = source => {
FilePath: source, FilePath: source,
}); });
if (arg.data.Success) {
localStorage.setItem('previous_releases', localStorage.getItem('releases'));
dispatch(setNewReleasesAvailable2([]));
}
dispatch(setInstallComplete(arg.data)); dispatch(setInstallComplete(arg.data));
dispatch(checkVersionInstalled()); dispatch(checkVersionInstalled());
}; };

View File

@@ -14,6 +14,7 @@ import {
} from './install_actions'; } from './install_actions';
import {unmountAll} from './mount_actions'; import {unmountAll} from './mount_actions';
import { import {
checkNewReleases,
getIPCRenderer, getIPCRenderer,
getNewReleases getNewReleases
} from '../../utils'; } from '../../utils';
@@ -140,8 +141,11 @@ export const loadReleases = () => {
dispatch(setNewReleasesAvailable(newReleases)); dispatch(setNewReleasesAvailable(newReleases));
if (getState().relver.NewReleasesAvailable.length > 0) { if (getState().relver.NewReleasesAvailable.length > 0) {
dispatch(setNewReleasesAvailable2(newReleases));
localStorage.setItem('previous_releases', storedReleases); localStorage.setItem('previous_releases', storedReleases);
dispatch(showWindow()); dispatch(showWindow());
} else if ((newReleases = checkNewReleases()).length > 0) {
dispatch(setNewReleasesAvailable2(newReleases));
} }
}).catch(error => { }).catch(error => {
const releases = localStorage.getItem('releases'); const releases = localStorage.getItem('releases');
@@ -193,6 +197,7 @@ export const setDismissNewReleasesAvailable = createAction('relver/setDismissNew
export const setDismissUIUpgrade = createAction('relver/setDismissUIUpgrade'); export const setDismissUIUpgrade = createAction('relver/setDismissUIUpgrade');
export const setInstalledVersion = createAction('relver/setInstalledVersion'); export const setInstalledVersion = createAction('relver/setInstalledVersion');
export const setNewReleasesAvailable = createAction('relver/setNewReleasesAvailable'); export const setNewReleasesAvailable = createAction('relver/setNewReleasesAvailable');
export const setNewReleasesAvailable2 = createAction('relver/setNewReleasesAvailable2');
export const SET_RELEASE_DATA = 'relver/setReleaseData'; export const SET_RELEASE_DATA = 'relver/setReleaseData';
export const setReleaseData = (locationsLookup, versionLookup)=> { export const setReleaseData = (locationsLookup, versionLookup)=> {

View File

@@ -19,6 +19,7 @@ export const releaseVersionReducer = createReducer({
InstalledVersion: 'none', InstalledVersion: 'none',
LocationsLookup: {}, LocationsLookup: {},
NewReleasesAvailable: [], NewReleasesAvailable: [],
NewReleasesAvailable2: [],
Release: 0, Release: 0,
ReleaseDefault: 0, ReleaseDefault: 0,
ReleaseUpgradeAvailable: false, ReleaseUpgradeAvailable: false,
@@ -76,6 +77,12 @@ export const releaseVersionReducer = createReducer({
NewReleasesAvailable: action.payload, NewReleasesAvailable: action.payload,
}; };
}, },
[Actions.setNewReleasesAvailable2]: (state, action) => {
return {
...state,
NewReleasesAvailable2: action.payload,
};
},
[Actions.SET_RELEASE_DATA]: (state, action) => { [Actions.SET_RELEASE_DATA]: (state, action) => {
return { return {
...state, ...state,