Release notification changes
This commit is contained in:
21
src/App.js
21
src/App.js
@@ -14,6 +14,10 @@ import MountItems from './containers/MountItems/MountItems';
|
||||
import NewReleases from './components/NewReleases/NewReleases';
|
||||
import {notifyError} from './redux/actions/error_actions';
|
||||
import Reboot from './components/Reboot/Reboot';
|
||||
import {
|
||||
setDismissNewReleasesAvailable,
|
||||
setNewReleasesAvailable
|
||||
} from './redux/actions/release_version_actions';
|
||||
import ReleaseVersionDisplay from './components/ReleaseVersionDisplay/ReleaseVersionDisplay';
|
||||
import {
|
||||
displaySelectAppPlatform,
|
||||
@@ -73,6 +77,15 @@ class App extends IPCContainer {
|
||||
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() {
|
||||
const selectedVersion = this.getSelectedVersion();
|
||||
|
||||
@@ -177,8 +190,9 @@ class App extends IPCContainer {
|
||||
textAlign={'center'}
|
||||
type={'Heading1'}/>
|
||||
<UpgradeIcon
|
||||
available={this.props.UpgradeAvailable}
|
||||
clicked={()=>this.props.setDismissUIUpgrade(false)}
|
||||
available={this.props.UpgradeAvailable || (this.props.NewReleasesAvailable2.length > 0)}
|
||||
newReleases={!this.props.UpgradeAvailable && (this.props.NewReleasesAvailable2.length > 0)}
|
||||
clicked={this.handleUpgradeIconClicked}
|
||||
col={dimensions => dimensions.columns - 6}
|
||||
colSpan={5}
|
||||
row={1}
|
||||
@@ -225,6 +239,7 @@ const mapStateToProps = state => {
|
||||
MissingDependencies: state.install.MissingDependencies,
|
||||
MountsBusy: state.mounts.MountsBusy,
|
||||
NewReleasesAvailable: state.relver.NewReleasesAvailable,
|
||||
NewReleasesAvailable2: state.relver.NewReleasesAvailable2,
|
||||
Platform: state.common.Platform,
|
||||
ProviderState: state.mounts.ProviderState,
|
||||
RebootRequired: state.common.RebootRequired,
|
||||
@@ -243,6 +258,8 @@ const mapDispatchToProps = dispatch => {
|
||||
loadReleases: ()=> dispatch(loadReleases()),
|
||||
notifyError: (msg, critical, callback) => dispatch(notifyError(msg, critical, callback)),
|
||||
saveState: () => dispatch(saveState()),
|
||||
setDismissNewReleasesAvailable: dismiss => dispatch(setDismissNewReleasesAvailable),
|
||||
setNewReleasesAvailable: items => dispatch(setNewReleasesAvailable(items)),
|
||||
setDismissUIUpgrade: dismiss => dispatch(setDismissUIUpgrade(dismiss)),
|
||||
};
|
||||
};
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 70 KiB |
@@ -17,5 +17,9 @@
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
box-sizing: border-box;
|
||||
opacity: 0.65;
|
||||
}
|
||||
color: var(--heading_text_color);
|
||||
}
|
||||
|
||||
.UpgradeIcon.Release {
|
||||
color: var(--heading_other_text_color);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
import React from 'react';
|
||||
import './UpgradeIcon.css';
|
||||
import availableImage from '../../assets/images/release_available.png';
|
||||
import ReactTooltip from 'react-tooltip';
|
||||
import {faExclamationTriangle} from '@fortawesome/free-solid-svg-icons';
|
||||
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
|
||||
|
||||
export default props => {
|
||||
const styles = ['UpgradeIcon'];
|
||||
let placement = 'left';
|
||||
let toolTipText = 'UI Upgrade Available';
|
||||
if (props.release) {
|
||||
placement='bottom';
|
||||
styles.push('Release');
|
||||
}
|
||||
|
||||
if (props.release || props.newReleases) {
|
||||
toolTipText = 'New Release Available';
|
||||
}
|
||||
|
||||
@@ -16,10 +22,11 @@ export default props => {
|
||||
(
|
||||
<div className={'UpgradeIconOwner'}>
|
||||
<p data-tip='' data-for={placement}>
|
||||
<img alt=''
|
||||
onClick={props.clicked}
|
||||
src={availableImage}
|
||||
className={'UpgradeIcon'}/>
|
||||
<a href={'#'}
|
||||
className={styles.join(' ')}
|
||||
onClick={props.clicked}>
|
||||
<FontAwesomeIcon icon={faExclamationTriangle}/>
|
||||
</a>
|
||||
</p>
|
||||
<ReactTooltip id={placement} place={placement}>{toolTipText}</ReactTooltip>
|
||||
</div>
|
||||
|
||||
@@ -10,7 +10,8 @@ import {
|
||||
loadReleases,
|
||||
setActiveRelease,
|
||||
setInstalledVersion,
|
||||
setReleaseUpgradeAvailable
|
||||
setReleaseUpgradeAvailable,
|
||||
setNewReleasesAvailable2,
|
||||
} from './release_version_actions';
|
||||
import {
|
||||
confirmYesNo,
|
||||
@@ -224,6 +225,11 @@ export const installRelease = source => {
|
||||
FilePath: source,
|
||||
});
|
||||
|
||||
if (arg.data.Success) {
|
||||
localStorage.setItem('previous_releases', localStorage.getItem('releases'));
|
||||
dispatch(setNewReleasesAvailable2([]));
|
||||
}
|
||||
|
||||
dispatch(setInstallComplete(arg.data));
|
||||
dispatch(checkVersionInstalled());
|
||||
};
|
||||
|
||||
@@ -14,6 +14,7 @@ import {
|
||||
} from './install_actions';
|
||||
import {unmountAll} from './mount_actions';
|
||||
import {
|
||||
checkNewReleases,
|
||||
getIPCRenderer,
|
||||
getNewReleases
|
||||
} from '../../utils';
|
||||
@@ -140,8 +141,11 @@ export const loadReleases = () => {
|
||||
|
||||
dispatch(setNewReleasesAvailable(newReleases));
|
||||
if (getState().relver.NewReleasesAvailable.length > 0) {
|
||||
dispatch(setNewReleasesAvailable2(newReleases));
|
||||
localStorage.setItem('previous_releases', storedReleases);
|
||||
dispatch(showWindow());
|
||||
} else if ((newReleases = checkNewReleases()).length > 0) {
|
||||
dispatch(setNewReleasesAvailable2(newReleases));
|
||||
}
|
||||
}).catch(error => {
|
||||
const releases = localStorage.getItem('releases');
|
||||
@@ -193,6 +197,7 @@ export const setDismissNewReleasesAvailable = createAction('relver/setDismissNew
|
||||
export const setDismissUIUpgrade = createAction('relver/setDismissUIUpgrade');
|
||||
export const setInstalledVersion = createAction('relver/setInstalledVersion');
|
||||
export const setNewReleasesAvailable = createAction('relver/setNewReleasesAvailable');
|
||||
export const setNewReleasesAvailable2 = createAction('relver/setNewReleasesAvailable2');
|
||||
|
||||
export const SET_RELEASE_DATA = 'relver/setReleaseData';
|
||||
export const setReleaseData = (locationsLookup, versionLookup)=> {
|
||||
|
||||
@@ -19,6 +19,7 @@ export const releaseVersionReducer = createReducer({
|
||||
InstalledVersion: 'none',
|
||||
LocationsLookup: {},
|
||||
NewReleasesAvailable: [],
|
||||
NewReleasesAvailable2: [],
|
||||
Release: 0,
|
||||
ReleaseDefault: 0,
|
||||
ReleaseUpgradeAvailable: false,
|
||||
@@ -76,6 +77,12 @@ export const releaseVersionReducer = createReducer({
|
||||
NewReleasesAvailable: action.payload,
|
||||
};
|
||||
},
|
||||
[Actions.setNewReleasesAvailable2]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
NewReleasesAvailable2: action.payload,
|
||||
};
|
||||
},
|
||||
[Actions.SET_RELEASE_DATA]: (state, action) => {
|
||||
return {
|
||||
...state,
|
||||
|
||||
Reference in New Issue
Block a user