diff --git a/src/renderer/components/PageHeading.js b/src/renderer/components/PageHeading.js index b4bc043b..c6a640f4 100644 --- a/src/renderer/components/PageHeading.js +++ b/src/renderer/components/PageHeading.js @@ -4,14 +4,18 @@ const colors = require('material-ui/styles/colors') class PageHeading extends React.Component { render () { -

{this.props.children}

+ return ( +

+ {this.props.children} +

+ ) } } diff --git a/src/renderer/components/header.js b/src/renderer/components/header.js index 22fb83db..b92ebbc9 100644 --- a/src/renderer/components/header.js +++ b/src/renderer/components/header.js @@ -2,11 +2,11 @@ const React = require('react') const {dispatcher} = require('../lib/dispatcher') -module.exports = class Header extends React.Component { +class Header extends React.Component { render () { var loc = this.props.state.location return ( -
+
{this.getTitle()}
+
{this.getErrorPopover()} @@ -68,8 +63,9 @@ class App extends React.Component { } getErrorPopover () { + var state = this.props.state var now = new Date().getTime() - var recentErrors = this.state.errors.filter((x) => now - x.time < 5000) + var recentErrors = state.errors.filter((x) => now - x.time < 5000) var hasErrors = recentErrors.length > 0 var errorElems = recentErrors.map(function (error, i) { @@ -85,7 +81,7 @@ class App extends React.Component { } getModal () { - var state = this.state + var state = this.props.state if (!state.modal) return var ModalContents = Modals[state.modal.id] return ( @@ -99,7 +95,7 @@ class App extends React.Component { } getView () { - var state = this.state + var state = this.props.state var View = Views[state.location.url()] return () } diff --git a/src/renderer/pages/CreateTorrentPage.js b/src/renderer/pages/CreateTorrentPage.js index 5337e3a8..8f8c1743 100644 --- a/src/renderer/pages/CreateTorrentPage.js +++ b/src/renderer/pages/CreateTorrentPage.js @@ -4,9 +4,31 @@ const path = require('path') const prettyBytes = require('prettier-bytes') const {dispatch, dispatcher} = require('../lib/dispatcher') -const CreateTorrentErrorPage = require('./create-torrent-error-page') +const CreateTorrentErrorPage = require('../components/create-torrent-error-page') class CreateTorrentPage extends React.Component { + handleSubmit () { + var announceList = document.querySelector('.torrent-trackers').value + .split('\n') + .map((s) => s.trim()) + .filter((s) => s !== '') + var isPrivate = document.querySelector('.torrent-is-private').checked + var comment = document.querySelector('.torrent-comment').value.trim() + var options = { + // We can't let the user choose their own name if we want WebTorrent + // to use the files in place rather than creating a new folder. + // If we ever want to add support for that: + // name: document.querySelector('.torrent-name').value + name: defaultName, + path: basePath, + files: files, + announce: announceList, + private: isPrivate, + comment: comment + } + dispatch('createTorrent', options) + } + render () { var state = this.props.state var info = state.location.current() @@ -58,7 +80,7 @@ class CreateTorrentPage extends React.Component { return (
-

Create torrent {defaultName}

+ Create torrent {defaultName}
{torrentInfo}
@@ -90,33 +112,10 @@ class CreateTorrentPage extends React.Component {
- +
) - - function handleOK () { - // TODO: dcposch use React refs instead - var announceList = document.querySelector('.torrent-trackers').value - .split('\n') - .map((s) => s.trim()) - .filter((s) => s !== '') - var isPrivate = document.querySelector('.torrent-is-private').checked - var comment = document.querySelector('.torrent-comment').value.trim() - var options = { - // We can't let the user choose their own name if we want WebTorrent - // to use the files in place rather than creating a new folder. - // If we ever want to add support for that: - // name: document.querySelector('.torrent-name').value - name: defaultName, - path: basePath, - files: files, - announce: announceList, - private: isPrivate, - comment: comment - } - dispatch('createTorrent', options) - } } } diff --git a/src/renderer/pages/PreferencesPage.js b/src/renderer/pages/PreferencesPage.js index 7e044470..eb538360 100644 --- a/src/renderer/pages/PreferencesPage.js +++ b/src/renderer/pages/PreferencesPage.js @@ -6,7 +6,7 @@ const colors = require('material-ui/styles/colors') const RaisedButton = require('material-ui/RaisedButton').default const PageHeading = require('../components/PageHeading') -const PathSelector = require('../componets/PathSelector') +const PathSelector = require('../components/PathSelector') const {dispatch} = require('../lib/dispatcher')