var ipc = require('ipc') var remote = require('remote') var React = require('react/addons') var LinkedState = require('../Mixins/LinkedState') var ExternalLink = require('../Mixins/ExternalLink') var KeyCaster = require('../Mixins/KeyCaster') module.exports = React.createClass({ mixins: [LinkedState, ExternalLink, KeyCaster('aboutModal')], propTypes: { close: React.PropTypes.func }, getInitialState: function () { var keymap = remote.getGlobal('keymap') console.log(keymap) return { currentTab: 'settings', keymap: keymap } }, onKeyCast: function (e) { switch (e.status) { case 'closeModal': this.props.close() break } }, activeSettings: function () { this.setState({currentTab: 'settings'}) }, activeAbout: function () { this.setState({currentTab: 'about'}) }, saveKeymap: function () { ipc.send('hotkeyUpdated', JSON.stringify(this.state.keymap)) }, render: function () { var content = this.state.currentTab === 'settings' ? this.renderSettingsTab() : this.renderAboutTab() return (

Preferences

{content}
) }, renderSettingsTab: function () { return (
Hotkey

Example

  • 0 to 9
  • A to Z
  • F1 to F24
  • Punctuations like ~, !, @, #, $, etc.
  • Plus
  • Space
  • Backspace
  • Delete
  • Insert
  • Return (or Enter as alias)
  • Up, Down, Left and Right
  • Home and End
  • PageUp and PageDown
  • Escape (or Esc for short)
  • VolumeUp, VolumeDown and VolumeMute
  • MediaNextTrack, MediaPreviousTrack, MediaStop and MediaPlayPause
) }, renderAboutTab: function () { var version = global.version return (
Boost {version == null || version.length === 0 ? 'DEV version' : 'v' + version}
External links
) } })