Skip to content

Commit

Permalink
Added an 'about streamus' menu option
Browse files Browse the repository at this point in the history
It's boring for now. has the version/change log/website links in it, but
I'll spice it up in the future.
  • Loading branch information
MeoMix committed May 8, 2015
1 parent 886685d commit d8e404d
Show file tree
Hide file tree
Showing 14 changed files with 181 additions and 44 deletions.
15 changes: 15 additions & 0 deletions src/_locales/en/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -524,5 +524,20 @@
},
"playlistUrl": {
"message": "Playlist URL"
},
"aboutStreamus": {
"message": "About Streamus"
},
"applicationDetails": {
"message": "Application details"
},
"openHomepage": {
"message": "Open homepage"
},
"version": {
"message": "Version"
},
"openPatchNotes": {
"message": "Open patch notes"
}
}
4 changes: 4 additions & 0 deletions src/js/background/model/tabManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@
});
},

showWebsite: function(url) {
this._showTab(url);
},

showStreamusTab: function() {
this._showTab(this.get('streamusForegroundUrl'));
},
Expand Down
46 changes: 26 additions & 20 deletions src/js/foreground/view/appBar/adminMenuAreaView.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

var SettingsDialogView = require('foreground/view/dialog/settingsDialogView');
var BrowserSettingsDialogView = require('foreground/view/dialog/browserSettingsDialogView');
var AboutStreamusDialogView = require('foreground/view/dialog/aboutStreamusDialogView');
var AdminMenuAreaTemplate = require('text!template/appBar/adminMenuArea.html');
var SettingsIcon = require('text!template/icon/settingsIcon_24.svg');

Expand All @@ -15,29 +16,30 @@
browserSettingsMessage: chrome.i18n.getMessage('browserSettings'),
keyboardShortcutsMessage: chrome.i18n.getMessage('keyboardShortcuts'),
openInTabMessage: chrome.i18n.getMessage('openInTab'),
aboutStreamusMessage: chrome.i18n.getMessage('aboutStreamus'),
reloadMessage: chrome.i18n.getMessage('reload'),
settingsIcon: SettingsIcon
},

ui: function() {
return {
menuButton: '#' + this.id + '-menuButton',
menu: '#' + this.id + '-menu',
settingsMenuItem: '#' + this.id + '-settingsMenuItem',
browserSettingsMenuItem: '#' + this.id + '-browserSettingsMenuItem',
openInTabMenuItem: '#' + this.id + '-openInTabMenuItem',
keyboardShortcutsMenuItem: '#' + this.id + '-keyboardShortcutsMenuItem',
restartMenuItem: '#' + this.id + '-reloadMenuItem'
};
ui: {
menuButton: '.menuButton',
menu: '.menu',
settings: '.settings',
browserSettings: '.browserSettings',
openInTab: '.openInTab',
keyboardShortcuts: '.keyboardShortcuts',
aboutStreamus: '.aboutStreamus',
restart: '.reload'
},

events: {
'click @ui.menuButton': '_onClickMenuButton',
'click @ui.settingsMenuItem': '_onClickSettingsMenuItem',
'click @ui.browserSettingsMenuItem': '_onClickBrowserSettingsMenuItem',
'click @ui.keyboardShortcutsMenuItem': '_onClickKeyboardShortcutsMenuItem',
'click @ui.openInTabMenuItem': '_onClickOpenInTabMenuItem',
'click @ui.restartMenuItem': '_onClickRestartMenuItem'
'click @ui.settings': '_onClickSettings',
'click @ui.browserSettings': '_onClickBrowserSettings',
'click @ui.keyboardShortcuts': '_onClickKeyboardShortcuts',
'click @ui.openInTab': '_onClickOpenInTab',
'click @ui.aboutStreamus': '_onClickAboutStreamus',
'click @ui.restart': '_onClickRestart'
},

modelEvents: {
Expand All @@ -60,23 +62,27 @@
this.model.set('menuShown', !this.model.get('menuShown'));
},

_onClickSettingsMenuItem: function() {
_onClickSettings: function() {
Streamus.channels.dialog.commands.trigger('show:dialog', SettingsDialogView);
},

_onClickBrowserSettingsMenuItem: function() {
_onClickBrowserSettings: function() {
Streamus.channels.dialog.commands.trigger('show:dialog', BrowserSettingsDialogView);
},

_onClickKeyboardShortcutsMenuItem: function() {
_onClickKeyboardShortcuts: function() {
this.tabManager.showKeyboardShortcutsTab();
},

_onClickOpenInTabMenuItem: function() {
_onClickOpenInTab: function() {
this.tabManager.showStreamusTab();
},

_onClickRestartMenuItem: function() {
_onClickAboutStreamus: function() {
Streamus.channels.dialog.commands.trigger('show:dialog', AboutStreamusDialogView);
},

_onClickRestart: function() {
Streamus.backgroundPage.chrome.runtime.reload();
},

Expand Down
4 changes: 2 additions & 2 deletions src/js/foreground/view/contextMenu/contextMenuItemView.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
var ContextMenuItemView = Marionette.ItemView.extend({
tagName: 'li',
className: function() {
var className = 'listItem listItem--small js-tooltipable';
var className = 'listItem listItem--small listItem--clickable js-tooltipable';
className += this.model.get('disabled') ? ' is-disabled' : '';
return className;
},
template: _.template(ContextMenuItemTemplate),

events: {
'click': '_onClick',
'click': '_onClick'
},

attributes: function() {
Expand Down
22 changes: 22 additions & 0 deletions src/js/foreground/view/dialog/aboutStreamusDialogView.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
define(function(require) {
'use strict';

var Dialog = require('foreground/model/dialog');
var AboutStreamusView = require('foreground/view/dialog/aboutStreamusView');
var DialogView = require('foreground/view/dialog/dialogView');

var AboutStreamusDialogView = DialogView.extend({
id: 'aboutStreamusDialog',

initialize: function() {
this.model = new Dialog();

this.contentView = new AboutStreamusView({
});

DialogView.prototype.initialize.apply(this, arguments);
}
});

return AboutStreamusDialogView;
});
50 changes: 50 additions & 0 deletions src/js/foreground/view/dialog/aboutStreamusView.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
define(function(require) {
'use strict';

var DialogContentView = require('foreground/view/dialog/dialogContentView');
var AboutStreamusTemplate = require('text!template/dialog/aboutStreamus.html');

var AboutStreamusView = DialogContentView.extend({
id: 'aboutStreamus',
template: _.template(AboutStreamusTemplate),

templateHelpers: {
applicationDetails: chrome.app.getDetails(),
applicationDetailsMessage: chrome.i18n.getMessage('applicationDetails'),
openHomepageMessage: chrome.i18n.getMessage('openHomepage'),
versionMessage: chrome.i18n.getMessage('version'),
openPatchNotesMessage: chrome.i18n.getMessage('openPatchNotes')
},

ui: {
openHomepage: '.openHomepage',
openPatchNotes: '.openPatchNotes'
},

events: {
'click @ui.openHomepage': '_onClickOpenHomepage',
'click @ui.openPatchNotes': '_onClickOpenPatchNotes'
},

tabManager: null,

initialize: function() {
this.tabManager = Streamus.backgroundPage.tabManager;
},

onRender: function() {

},

_onClickOpenHomepage: function() {
var homepageUrl = chrome.app.getDetails().homepage_url;
this.tabManager.showWebsite(homepageUrl);
},

_onClickOpenPatchNotes: function() {
this.tabManager.showWebsite('https://github.com/MeoMix/StreamusChromeExtension/releases');
}
});

return AboutStreamusView;
});
2 changes: 1 addition & 1 deletion src/js/foreground/view/element/simpleListItemView.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ define(function(require) {
//id: function () {
// return _.uniqueId('simpleListItem_');
//},
className: 'simpleListItem listItem listItem--medium is-clickable',
className: 'simpleListItem listItem listItem--medium listItem--clickable',
template: _.template(SimpleListItemTemplate),

templateHelpers: function() {
Expand Down
2 changes: 1 addition & 1 deletion src/js/foreground/view/element/simpleMenuItemView.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
var SimpleMenuItemTemplate = require('text!template/element/simpleMenuItem.html');

var SimpleMenuItemView = Marionette.LayoutView.extend({
className: 'listItem listItem--small listItem--selectable',
className: 'listItem listItem--small listItem--selectable listItem--clickable',
template: _.template(SimpleMenuItemTemplate),

events: {
Expand Down
8 changes: 4 additions & 4 deletions src/js/foreground/view/listItemView.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

var ListItemView = Marionette.LayoutView.extend({
tagName: 'li',
className: 'listItem',
className: 'listItem listItem--clickable',

attributes: function() {
// Store the clientId on the view until the model has been saved successfully.
Expand All @@ -28,9 +28,9 @@

regions: function() {
return {
buttonsRegion: '.' + ListItemView.prototype.className + '-buttonsRegion',
spinnerRegion: '.' + ListItemView.prototype.className + '-spinnerRegion',
checkboxRegion: '.' + ListItemView.prototype.className + '-checkboxRegion'
buttonsRegion: '.listItem-buttonsRegion',
spinnerRegion: '.listItem-spinnerRegion',
checkboxRegion: '.listItem-checkboxRegion'
};
},

Expand Down
6 changes: 5 additions & 1 deletion src/less/listItem.less
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
position: relative;
display: flex;
width: 100%;
cursor: pointer;
transition: color @transition-color-time @transition-easeOutSine,
background @transition-color-time @transition-easeOutSine,
opacity @transition-color-time @transition-easeOutSine;
Expand Down Expand Up @@ -49,6 +48,11 @@
}
}

.listItem--clickable {
// TODO: Maybe make the 'hover' state applied here?
cursor: pointer;
}

.listItem-spinner,
.listItem-button {
transition: color @transition-color-time @transition-easeOutSine;
Expand Down
2 changes: 1 addition & 1 deletion src/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@
"externally_connectable": {
"matches": [ "*://*.streamus.com/*" ]
},
"homepage_url": "http://streamus.com",
"homepage_url": "https://streamus.com/",
"incognito": "spanning",
"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDmO/I2g0AsHj5gwKYcAv19xa/E4FYE3gD1DtReHysli/YvzOX2X/VOgPMNCB9d5PvuWNH0xud21ztmk7wsNxKLcEuDTENgGqA9voTTG+3hgT1zH5R7rm8E0Kw590KhNattqwXkoRqdvavMjnUzlB9gDbU1duI1V8U03etW4Ta8EwIDAQAB",
"minimum_chrome_version": "37",
Expand Down
21 changes: 14 additions & 7 deletions src/template/appBar/adminMenuArea.html
Original file line number Diff line number Diff line change
@@ -1,40 +1,47 @@
<div id='adminMenuArea-menuButton' class='button button--icon button--icon--primary button--large'>
<div class='menuButton button button--icon button--icon--primary button--large'>
<span>
<%= settingsIcon %>
</span>
</div>

<div id='adminMenuArea-menu' class='adminMenuArea-menu menu panel appBar-panel'>
<div class='adminMenuArea-menu menu panel appBar-panel'>
<ul class='menu-items panel-content panel-content--fadeInOut panel-content--uncolored'>
<li id='adminMenuArea-settingsMenuItem' class='listItem listItem--small'>
<li class='settings listItem listItem--small listItem--clickable'>
<div class='listItem-content'>
<div class='listItem-title'>
<%= settingsMessage %>
</div>
</div>
</li>
<li id='adminMenuArea-browserSettingsMenuItem' class='listItem listItem--small'>
<li class='browserSettings listItem listItem--small listItem--clickable'>
<div class='listItem-content'>
<div class='listItem-title'>
<%= browserSettingsMessage %>
</div>
</div>
</li>
<li id='adminMenuArea-keyboardShortcutsMenuItem' class='listItem listItem--small'>
<li class='keyboardShortcuts listItem listItem--small listItem--clickable'>
<div class='listItem-content'>
<div class='listItem-title'>
<%= keyboardShortcutsMessage %>
</div>
</div>
</li>
<li id='adminMenuArea-openInTabMenuItem' class='listItem listItem--small'>
<li class='openInTab listItem listItem--small listItem--clickable'>
<div class='listItem-content'>
<div class='listItem-title'>
<%= openInTabMessage %>
</div>
</div>
</li>
<li id='adminMenuArea-reloadMenuItem' class='menu-item listItem listItem--small'>
<li class='aboutStreamus listItem listItem--small listItem--clickable'>
<div class='listItem-content'>
<div class='listItem-title'>
<%= aboutStreamusMessage %>
</div>
</div>
</li>
<li class='reload listItem listItem--small listItem--clickable'>
<div class='listItem-content'>
<div class='listItem-title'>
<%= reloadMessage %>
Expand Down
29 changes: 29 additions & 0 deletions src/template/dialog/aboutStreamus.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<section class='grouping'>
<div class='grouping-header'>
<%= applicationDetailsMessage %>
</div>

<div class='grouping-content'>
<ul>
<li class="openHomepage grouping-item listItem listItem--small listItem--clickable">
<%= openHomepageMessage %>
</li>
<li class="openPatchNotes grouping-item listItem listItem--small listItem--clickable">
<%= openPatchNotesMessage %>
</li>
<li class="grouping-item version">
<div class="simpleListItem listItem listItem--medium">
<div class="listItem-content">
<div class="listItem-title">
<%= versionMessage %>
</div>

<div class="listItem-details">
<%= applicationDetails.version %>
</div>
</div>
</div>
</li>
</ul>
</div>
</section>

0 comments on commit d8e404d

Please sign in to comment.