Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions background.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,7 @@ chrome.app.runtime.onLaunched.addListener(function() {
win.onClosed.addListener(closeSerialPorts);
});
});

chrome.runtime.onInstalled.addListener(function(evt){
chrome.storage.local.set({newVersion: 'newVersion'});
});
2 changes: 2 additions & 0 deletions client.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ function onRender(err){

const {
newFile,
showNewVersionOverlay,
changeFile,
changeProject
} = handlers;
Expand All @@ -88,6 +89,7 @@ function onRender(err){
} else {
newFile();
}
showNewVersionOverlay();
})
.catch(console.error.bind(console));
}
Expand Down
3 changes: 2 additions & 1 deletion manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"permissions": [
"serial",
"unlimitedStorage",
"syncFileSystem"
"syncFileSystem",
"storage"
],
"icons": {
"16": "icons/icon16.png",
Expand Down
1 change: 1 addition & 0 deletions src/constants/overlay-states.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const overlayStates = {
DOWNLOAD_OVERLAY: 'DOWNLOAD_OVERLAY',
PROJECTS_OVERLAY: 'PROJECTS_OVERLAY',
OVERWRITE_OVERLAY: 'OVERWRITE_OVERLAY',
NEW_VERSION_OVERLAY: 'NEW_VERSION_OVERLAY',
DELETE_FILE_OVERLAY: 'DELETE_FILE_OVERLAY',
DELETE_PROJECT_OVERLAY: 'DELETE_PROJECT_OVERLAY'
};
Expand Down
1 change: 1 addition & 0 deletions src/creators/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ const creators = {
showDownloadOverlay: require('./show-download-overlay'),
showProjectsOverlay: require('./show-projects-overlay'),
showOverwriteOverlay: require('./show-overwrite-overlay'),
showNewVersionOverlay: require('./show-new-version-overlay'),
showSaveOverlay: require('./show-save-overlay'),
showHelpOverlay: require('./show-help-overlay'),
hideOverlay: require('./hide-overlay'),
Expand Down
20 changes: 20 additions & 0 deletions src/creators/show-new-version-overlay.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
'use strict';

const {
SHOW_OVERLAY
} = require('../constants/action-types');

const {
NEW_VERSION_OVERLAY
} = require('../constants/overlay-states');

function showHelpOverlay(){
return {
type: SHOW_OVERLAY,
payload: {
state: NEW_VERSION_OVERLAY
}
};
}

module.exports = showHelpOverlay;
11 changes: 11 additions & 0 deletions src/plugins/handlers.js
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,16 @@ function handlers(app, opts, done){
store.dispatch(creators.showDeleteFileOverlay());
}

function showNewVersionOverlay(){
chrome.storage.local.get('newVersion', function(val) {
if(val.newVersion){
chrome.storage.local.remove('newVersion', function() {
store.dispatch(creators.showNewVersionOverlay());
});
}
});
}

function hideOverlay(){
store.dispatch(creators.hideOverlay());
}
Expand Down Expand Up @@ -596,6 +606,7 @@ function handlers(app, opts, done){
// overlay methods
showHelpOverlay,
showSaveOverlay,
showNewVersionOverlay,
showDownloadOverlay,
showProjectsOverlay,
showDeleteFileOverlay,
Expand Down
5 changes: 5 additions & 0 deletions src/plugins/overlays.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ const React = require('react');

const HelpOverlay = require('../views/help-overlay');
const SaveOverlay = require('../views/save-overlay');
const NewVersionOverlay = require('../views/new-version-overlay');
const ProjectOverlay = require('../views/project-overlay');
const DownloadOverlay = require('../views/download-overlay');
const OverwriteOverlay = require('../views/overwrite-overlay');
Expand All @@ -19,6 +20,7 @@ const {
DOWNLOAD_OVERLAY,
PROJECTS_OVERLAY,
OVERWRITE_OVERLAY,
NEW_VERSION_OVERLAY,
DELETE_FILE_OVERLAY,
DELETE_PROJECT_OVERLAY
} = require('../constants/overlay-states');
Expand Down Expand Up @@ -48,6 +50,9 @@ function overlays(app, opts, done){
case OVERWRITE_OVERLAY:
renderOverlay(<OverwriteOverlay store={store} handlers={handlers} />);
break;
case NEW_VERSION_OVERLAY:
renderOverlay(<NewVersionOverlay handlers={handlers} />);
break;
case DOWNLOAD_OVERLAY:
renderOverlay(<DownloadOverlay store={store} handlers={handlers} />);
break;
Expand Down
51 changes: 51 additions & 0 deletions src/views/new-version-overlay.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
'use strict';

const React = require('react');
const Button = require('react-material/components/Button');

const Overlay = require('../components/overlay');
const OverlayTitle = require('../components/overlay-title');
const OverlayFooter = require('../components/overlay-footer');

const contentStyle = {
position: 'relative'
};

const releaseNotesLink = 'https://github.com/parallaxinc/Parallax-IDE/releases';
const installationNotesLink = 'https://www.parallax.com/downloads/parallax-ide-chrome';

class NewVersionOverlay extends React.Component {

render(){

const {
handlers
} = this.props;

const {
hideOverlay
} = handlers;

const {
name,
version
} = chrome.runtime.getManifest();

return (
<Overlay>
<OverlayTitle>{name} Automatically Updated to v{version}</OverlayTitle>
<div style={contentStyle}>
You are now running a new release of {name}!
</div>
<div style={contentStyle}>
See <a href={releaseNotesLink} target="_blank">Release Notes</a> and <a href={installationNotesLink} target="_blank">Installation Notes</a> for more details.
</div>
<OverlayFooter>
<Button onClick={hideOverlay}>OK</Button>
</OverlayFooter>
</Overlay>
);
}
}

module.exports = NewVersionOverlay;