Merge pull request #1483 from webtorrent/update-material-ui

Update React and Material-UI
This commit is contained in:
Diego Rodríguez Baquero
2018-12-12 14:28:46 -05:00
committed by GitHub
8 changed files with 131 additions and 117 deletions

180
package-lock.json generated
View File

@@ -132,6 +132,21 @@
"integrity": "sha512-SmjnXCuPAlai75AFtzv+KCBcJ3sDDWbIn+WytKw1k+wAtEy6phqI2RqKh/zAnw53i1NR8su3Ep/UoqaKcimuLg==", "integrity": "sha512-SmjnXCuPAlai75AFtzv+KCBcJ3sDDWbIn+WytKw1k+wAtEy6phqI2RqKh/zAnw53i1NR8su3Ep/UoqaKcimuLg==",
"dev": true "dev": true
}, },
"@babel/runtime": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz",
"integrity": "sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==",
"requires": {
"regenerator-runtime": "^0.12.0"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
}
}
},
"@babel/template": { "@babel/template": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.0.tgz", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.0.tgz",
@@ -2505,16 +2520,6 @@
"capture-stack-trace": "^1.0.0" "capture-stack-trace": "^1.0.0"
} }
}, },
"create-react-class": {
"version": "15.6.3",
"resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
"integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
"requires": {
"fbjs": "^0.8.9",
"loose-envify": "^1.3.1",
"object-assign": "^4.1.1"
}
},
"create-torrent": { "create-torrent": {
"version": "3.33.0", "version": "3.33.0",
"resolved": "https://registry.npmjs.org/create-torrent/-/create-torrent-3.33.0.tgz", "resolved": "https://registry.npmjs.org/create-torrent/-/create-torrent-3.33.0.tgz",
@@ -2966,9 +2971,27 @@
} }
}, },
"dom-helpers": { "dom-helpers": {
"version": "3.3.1", "version": "3.4.0",
"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
"integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==" "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
"requires": {
"@babel/runtime": "^7.1.2"
},
"dependencies": {
"@babel/runtime": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz",
"integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==",
"requires": {
"regenerator-runtime": "^0.12.0"
}
},
"regenerator-runtime": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
}
}
}, },
"dot-prop": { "dot-prop": {
"version": "4.2.0", "version": "4.2.0",
@@ -3935,9 +3958,9 @@
"dev": true "dev": true
}, },
"fbjs": { "fbjs": {
"version": "0.8.16", "version": "0.8.17",
"resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
"integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
"requires": { "requires": {
"core-js": "^1.0.0", "core-js": "^1.0.0",
"isomorphic-fetch": "^2.1.1", "isomorphic-fetch": "^2.1.1",
@@ -3945,7 +3968,7 @@
"object-assign": "^4.1.0", "object-assign": "^4.1.0",
"promise": "^7.1.1", "promise": "^7.1.1",
"setimmediate": "^1.0.5", "setimmediate": "^1.0.5",
"ua-parser-js": "^0.7.9" "ua-parser-js": "^0.7.18"
}, },
"dependencies": { "dependencies": {
"core-js": { "core-js": {
@@ -4763,9 +4786,9 @@
"dev": true "dev": true
}, },
"hoist-non-react-statics": { "hoist-non-react-statics": {
"version": "1.2.0", "version": "2.5.5",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
"integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
}, },
"home-path": { "home-path": {
"version": "1.0.6", "version": "1.0.6",
@@ -5989,20 +6012,19 @@
} }
}, },
"material-ui": { "material-ui": {
"version": "0.17.4", "version": "0.20.2",
"resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.17.4.tgz", "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.2.tgz",
"integrity": "sha1-GTmZ7LScPsFa4Ku06Q/fmnvTQ+A=", "integrity": "sha512-VeqgQkdvtK193w+FFvXDEwlVxI4rWk83eWbpYLeOIHDPWr3rbB9B075JRnJt/8IsI2X8q5Aia5W3+7m4KkleDg==",
"requires": { "requires": {
"babel-runtime": "^6.23.0", "babel-runtime": "^6.23.0",
"inline-style-prefixer": "^3.0.2", "inline-style-prefixer": "^3.0.8",
"keycode": "^2.1.8", "keycode": "^2.1.8",
"lodash.merge": "^4.6.0", "lodash.merge": "^4.6.0",
"lodash.throttle": "^4.1.1", "lodash.throttle": "^4.1.1",
"prop-types": "^15.5.7", "prop-types": "^15.5.7",
"react-addons-create-fragment": "^15.4.0", "react-event-listener": "^0.6.2",
"react-addons-transition-group": "^15.4.0", "react-transition-group": "^1.2.1",
"react-event-listener": "^0.4.5", "recompose": "^0.26.0",
"recompose": "^0.23.0",
"simple-assign": "^0.1.0", "simple-assign": "^0.1.0",
"warning": "^3.0.0" "warning": "^3.0.0"
} }
@@ -6034,7 +6056,7 @@
}, },
"media-typer": { "media-typer": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
}, },
"mediasource": { "mediasource": {
@@ -7319,11 +7341,10 @@
} }
}, },
"prop-types": { "prop-types": {
"version": "15.6.0", "version": "15.6.2",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
"integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
"requires": { "requires": {
"fbjs": "^0.8.16",
"loose-envify": "^1.3.1", "loose-envify": "^1.3.1",
"object-assign": "^4.1.1" "object-assign": "^4.1.1"
} }
@@ -7491,63 +7512,45 @@
"dev": true "dev": true
}, },
"react": { "react": {
"version": "15.6.2", "version": "16.6.3",
"resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz",
"integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==",
"requires": { "requires": {
"create-react-class": "^15.6.0",
"fbjs": "^0.8.9",
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"object-assign": "^4.1.0", "object-assign": "^4.1.1",
"prop-types": "^15.5.10" "prop-types": "^15.6.2",
} "scheduler": "^0.11.2"
},
"react-addons-create-fragment": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/react-addons-create-fragment/-/react-addons-create-fragment-15.6.2.tgz",
"integrity": "sha1-o5TefCx77Na1R1uhuXrEcs58dPg=",
"requires": {
"fbjs": "^0.8.4",
"loose-envify": "^1.3.1",
"object-assign": "^4.1.0"
}
},
"react-addons-transition-group": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/react-addons-transition-group/-/react-addons-transition-group-15.6.2.tgz",
"integrity": "sha1-i668Kukczb8kX+Kcn9PTb4tHGSM=",
"requires": {
"react-transition-group": "^1.2.0"
} }
}, },
"react-dom": { "react-dom": {
"version": "15.6.2", "version": "16.6.3",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz",
"integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=", "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==",
"requires": { "requires": {
"fbjs": "^0.8.9",
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"object-assign": "^4.1.0", "object-assign": "^4.1.1",
"prop-types": "^15.5.10" "prop-types": "^15.6.2",
"scheduler": "^0.11.2"
} }
}, },
"react-event-listener": { "react-event-listener": {
"version": "0.4.5", "version": "0.6.4",
"resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.4.5.tgz", "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.4.tgz",
"integrity": "sha1-4+iVoJcM8U7o+JAROvaBl6vz0LE=", "integrity": "sha512-t7VSjIuUFmN+GeyKb+wm025YLeojVB85kJL6sSs0wEBJddfmKBEQz+CNBZ2zBLKVWkPy/fZXM6U5yvojjYBVYQ==",
"requires": { "requires": {
"babel-runtime": "^6.20.0", "@babel/runtime": "7.0.0",
"fbjs": "^0.8.4", "prop-types": "^15.6.0",
"prop-types": "^15.5.4", "warning": "^4.0.1"
"warning": "^3.0.0"
}
}, },
"react-tap-event-plugin": { "dependencies": {
"version": "2.0.1", "warning": {
"resolved": "https://registry.npmjs.org/react-tap-event-plugin/-/react-tap-event-plugin-2.0.1.tgz", "version": "4.0.2",
"integrity": "sha1-MWvrO8ZVbinshppyk+icgmqQdNI=", "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.2.tgz",
"integrity": "sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug==",
"requires": { "requires": {
"fbjs": "^0.8.6" "loose-envify": "^1.0.0"
}
}
} }
}, },
"react-transition-group": { "react-transition-group": {
@@ -7647,13 +7650,13 @@
} }
}, },
"recompose": { "recompose": {
"version": "0.23.5", "version": "0.26.0",
"resolved": "https://registry.npmjs.org/recompose/-/recompose-0.23.5.tgz", "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz",
"integrity": "sha1-cqyCYSRr7DeCNdGHRn0CpyHosd4=", "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==",
"requires": { "requires": {
"change-emitter": "^0.1.2", "change-emitter": "^0.1.2",
"fbjs": "^0.8.1", "fbjs": "^0.8.1",
"hoist-non-react-statics": "^1.0.0", "hoist-non-react-statics": "^2.3.1",
"symbol-observable": "^1.0.4" "symbol-observable": "^1.0.4"
} }
}, },
@@ -8080,6 +8083,15 @@
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
}, },
"scheduler": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz",
"integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
"semver": { "semver": {
"version": "5.6.0", "version": "5.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
@@ -9750,9 +9762,9 @@
} }
}, },
"ua-parser-js": { "ua-parser-js": {
"version": "0.7.17", "version": "0.7.19",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz",
"integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ=="
}, },
"uint64be": { "uint64be": {
"version": "2.0.2", "version": "2.0.2",

View File

@@ -30,15 +30,15 @@
"iso-639-1": "^1.2.1", "iso-639-1": "^1.2.1",
"languagedetect": "^1.2.0", "languagedetect": "^1.2.0",
"location-history": "^1.0.0", "location-history": "^1.0.0",
"material-ui": "^0.17.0", "material-ui": "^0.20.2",
"mkdirp": "^0.5.1", "mkdirp": "^0.5.1",
"music-metadata": "^3.1.0", "music-metadata": "^3.1.0",
"network-address": "^1.1.0", "network-address": "^1.1.0",
"parse-torrent": "^6.0.1", "parse-torrent": "^6.0.1",
"prettier-bytes": "^1.0.1", "prettier-bytes": "^1.0.1",
"react": "^15.4.2", "prop-types": "^15.6.2",
"react-dom": "^15.4.2", "react": "^16.5.2",
"react-tap-event-plugin": "^2.0.1", "react-dom": "^16.5.2",
"rimraf": "^2.5.2", "rimraf": "^2.5.2",
"run-parallel": "^1.1.6", "run-parallel": "^1.1.6",
"semver": "^5.6.0", "semver": "^5.6.0",

View File

@@ -1,11 +1,12 @@
const React = require('react') const React = require('react')
const PropTypes = require('prop-types')
const colors = require('material-ui/styles/colors') const colors = require('material-ui/styles/colors')
class Heading extends React.Component { class Heading extends React.Component {
static get propTypes () { static get propTypes () {
return { return {
level: React.PropTypes.number level: PropTypes.number
} }
} }

View File

@@ -1,6 +1,7 @@
const colors = require('material-ui/styles/colors') const colors = require('material-ui/styles/colors')
const electron = require('electron') const electron = require('electron')
const React = require('react') const React = require('react')
const PropTypes = require('prop-types')
const remote = electron.remote const remote = electron.remote
@@ -11,15 +12,15 @@ const TextField = require('material-ui/TextField').default
// Uses the system Open File dialog. // Uses the system Open File dialog.
// You can't edit the text field directly. // You can't edit the text field directly.
class PathSelector extends React.Component { class PathSelector extends React.Component {
static get propTypes () { static propTypes () {
return { return {
className: React.PropTypes.string, className: PropTypes.string,
dialog: React.PropTypes.object, dialog: PropTypes.object,
displayValue: React.PropTypes.string, displayValue: PropTypes.string,
id: React.PropTypes.string, id: PropTypes.string,
onChange: React.PropTypes.func, onChange: PropTypes.func,
title: React.PropTypes.string.isRequired, title: PropTypes.string.isRequired,
value: React.PropTypes.string value: PropTypes.string
} }
} }
@@ -64,7 +65,8 @@ class PathSelector extends React.Component {
const textFieldStyle = { const textFieldStyle = {
flex: '1' flex: '1'
} }
const text = this.props.displayValue || this.props.value
const text = this.props.displayValue || this.props.value || ''
const buttonStyle = { const buttonStyle = {
marginLeft: 10 marginLeft: 10
} }

View File

@@ -1,13 +1,14 @@
const React = require('react') const React = require('react')
const PropTypes = require('prop-types')
const RaisedButton = require('material-ui/RaisedButton').default const RaisedButton = require('material-ui/RaisedButton').default
class ShowMore extends React.Component { class ShowMore extends React.Component {
static get propTypes () { static get propTypes () {
return { return {
defaultExpanded: React.PropTypes.bool, defaultExpanded: PropTypes.bool,
hideLabel: React.PropTypes.string, hideLabel: PropTypes.string,
showLabel: React.PropTypes.string showLabel: PropTypes.string
} }
} }

View File

@@ -39,9 +39,6 @@ const TorrentPlayer = require('./lib/torrent-player')
// Perf optimization: Needed immediately, so do not lazy load it below // Perf optimization: Needed immediately, so do not lazy load it below
const TorrentListController = require('./controllers/torrent-list-controller') const TorrentListController = require('./controllers/torrent-list-controller')
// Required by Material UI -- adds `onTouchTap` event
require('react-tap-event-plugin')()
const App = require('./pages/app') const App = require('./pages/app')
// Electron apps have two processes: a main process (node) runs first and starts // Electron apps have two processes: a main process (node) runs first and starts

View File

@@ -1,5 +1,6 @@
const path = require('path') const path = require('path')
const React = require('react') const React = require('react')
const PropTypes = require('prop-types')
const colors = require('material-ui/styles/colors') const colors = require('material-ui/styles/colors')
const Checkbox = require('material-ui/Checkbox').default const Checkbox = require('material-ui/Checkbox').default
@@ -238,7 +239,7 @@ class PreferencesPage extends React.Component {
class PreferencesSection extends React.Component { class PreferencesSection extends React.Component {
static get propTypes () { static get propTypes () {
return { return {
title: React.PropTypes.string title: PropTypes.string
} }
} }

View File

@@ -147,7 +147,7 @@ module.exports = class TorrentList extends React.Component {
} }
} }
return ( return (
<div style={styles.wrapper}> <div key='progress-bar' style={styles.wrapper}>
<LinearProgress style={styles.progress} mode='determinate' value={progress} /> <LinearProgress style={styles.progress} mode='determinate' value={progress} />
</div> </div>
) )
@@ -200,7 +200,7 @@ module.exports = class TorrentList extends React.Component {
const minutesStr = (hours || minutes) ? minutes + 'm' : '' const minutesStr = (hours || minutes) ? minutes + 'm' : ''
const secondsStr = seconds + 's' const secondsStr = seconds + 's'
return (<span>{hoursStr} {minutesStr} {secondsStr} remaining</span>) return (<span key='eta'>{hoursStr} {minutesStr} {secondsStr} remaining</span>)
} }
function renderTorrentStatus () { function renderTorrentStatus () {
@@ -370,16 +370,16 @@ module.exports = class TorrentList extends React.Component {
return ( return (
<div key='radial-progress' className={'radial-progress ' + cssClass}> <div key='radial-progress' className={'radial-progress ' + cssClass}>
<div key='circle' className='circle'> <div className='circle'>
<div key='mask-full' className='mask full' style={transformFill}> <div className='mask full' style={transformFill}>
<div key='fill' className='fill' style={transformFill} /> <div className='fill' style={transformFill} />
</div> </div>
<div key='mask-half' className='mask half'> <div className='mask half'>
<div key='fill' className='fill' style={transformFill} /> <div className='fill' style={transformFill} />
<div key='fill-fix' className='fill fix' style={transformFix} /> <div className='fill fix' style={transformFix} />
</div> </div>
</div> </div>
<div key='inset' className='inset' /> <div className='inset' />
</div> </div>
) )
} }
@@ -393,7 +393,7 @@ function getErrorMessage (torrentSummary) {
const err = torrentSummary.error const err = torrentSummary.error
if (err === 'path-missing') { if (err === 'path-missing') {
return ( return (
<span> <span key='path-missing'>
Path missing.<br /> Path missing.<br />
Fix and restart the app, or delete the torrent. Fix and restart the app, or delete the torrent.
</span> </span>