diff --git a/package-lock.json b/package-lock.json index 9e9c476..db7c050 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1082,6 +1082,21 @@ "@babel/plugin-syntax-import-meta": "7.0.0-beta.49" } }, + "@babel/runtime": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-rc.1.tgz", + "integrity": "sha512-Nifv2kwP/nwR39cAOasNxzjYfpeuf/ZbZNtQz5eYxWTC9yHARU9wItFnAwz1GTZ62MU+AtSjzZPMbLK5Q9hmbg==", + "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": { "version": "7.0.0-beta.49", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz", @@ -4245,9 +4260,9 @@ } }, "bowser": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.1.tgz", - "integrity": "sha512-UXti1JB6oK8hO983AImunnV6j/fqAEeDlPXh99zhsP5g32oLbxJJ6qcOaUesR+tqqhnUVQHlRJyD0dfiV0Hxaw==" + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", + "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==" }, "boxen": { "version": "1.3.0", @@ -4871,9 +4886,9 @@ } }, "chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.1.tgz", + "integrity": "sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg==" }, "chalk": { "version": "2.3.0", @@ -6129,11 +6144,19 @@ "dev": true }, "css-in-js-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.0.tgz", - "integrity": "sha512-yuWmPMD9FLi50Xf3k8W8oO3WM1eVnxEGCldCLyfusQ+CgivFk0s23yst4ooW6tfxMuSa03S6uUEga9UhX6GRrA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", + "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==", "requires": { - "hyphenate-style-name": "^1.0.2" + "hyphenate-style-name": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } } }, "css-loader": { @@ -9970,9 +9993,9 @@ "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" }, "hoist-non-react-statics": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz", - "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA=" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" }, "home-or-tmp": { "version": "2.0.0", @@ -11079,9 +11102,9 @@ } }, "keycode": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", - "integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", + "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=" }, "keyv": { "version": "3.0.0", @@ -11509,9 +11532,9 @@ "dev": true }, "lodash.merge": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", - "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" }, "lodash.template": { "version": "4.4.0", @@ -11709,9 +11732,9 @@ "integrity": "sha1-GZTfLTr0gR3lmmcUk0wrIpJzRRg=" }, "material-ui": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.0.tgz", - "integrity": "sha512-wkHkeU1SaGfCrtwIzBOl5vynNNNzVGW27ql0Ue5HZLB4WyRQ3YohJBdKa5lBrH5JD/Cgae7IzrP7cVWDyKpeLQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.2.tgz", + "integrity": "sha512-VeqgQkdvtK193w+FFvXDEwlVxI4rWk83eWbpYLeOIHDPWr3rbB9B075JRnJt/8IsI2X8q5Aia5W3+7m4KkleDg==", "requires": { "babel-runtime": "^6.23.0", "inline-style-prefixer": "^3.0.8", @@ -11719,7 +11742,7 @@ "lodash.merge": "^4.6.0", "lodash.throttle": "^4.1.1", "prop-types": "^15.5.7", - "react-event-listener": "^0.5.1", + "react-event-listener": "^0.6.2", "react-transition-group": "^1.2.1", "recompose": "^0.26.0", "simple-assign": "^0.1.0", @@ -14701,14 +14724,23 @@ } }, "react-event-listener": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.3.tgz", - "integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.3.tgz", + "integrity": "sha512-21ubz0vpzPL/8YPGkcDs/LFIemxMFPhpXnFKvrm15IA7x/kYzh1Bru3ww/lsZJJ0hCqyhJGjv7Txl/U00Je5SA==", "requires": { - "babel-runtime": "^6.26.0", - "fbjs": "^0.8.16", + "@babel/runtime": "7.0.0-rc.1", "prop-types": "^15.6.0", - "warning": "^3.0.0" + "warning": "^4.0.1" + }, + "dependencies": { + "warning": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.2.tgz", + "integrity": "sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug==", + "requires": { + "loose-envify": "^1.0.0" + } + } } }, "react-input-range": { diff --git a/package.json b/package.json index 60264f8..2027edc 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "is-running": "^2.1.0", "json-socket": "^0.3.0", "lodash": "^4.17.5", - "material-ui": "^0.20.0", + "material-ui": "^0.20.2", "mime": "^2.3.1", "moment": "^2.20.1", "mysql": "^2.15.0", diff --git a/src/app/LinearProgress.js b/src/app/LinearProgress.js new file mode 100644 index 0000000..59311bb --- /dev/null +++ b/src/app/LinearProgress.js @@ -0,0 +1,10 @@ +import LinearProgressOriginal from 'material-ui/LinearProgress'; + +export default class LinearProgress extends LinearProgressOriginal +{ + barUpdate(id, ...args) + { + super.barUpdate(id, ...args) + return this.timers[id] + } +} diff --git a/src/app/search-results.js b/src/app/search-results.js index 3490fe8..268804b 100644 --- a/src/app/search-results.js +++ b/src/app/search-results.js @@ -4,7 +4,7 @@ import TorrentLine from './torrent' import {List, ListItem} from 'material-ui/List'; import Subheader from 'material-ui/Subheader'; import Divider from 'material-ui/Divider'; -import LinearProgress from 'material-ui/LinearProgress'; +import LinearProgress from './LinearProgress'; export default class SearchResults extends Component { render() { diff --git a/src/app/top-page.js b/src/app/top-page.js index c702b01..6c4373f 100644 --- a/src/app/top-page.js +++ b/src/app/top-page.js @@ -6,7 +6,7 @@ import {List, ListItem} from 'material-ui/List'; import Divider from 'material-ui/Divider'; import Subheader from 'material-ui/Subheader'; import RaisedButton from 'material-ui/RaisedButton'; -import LinearProgress from 'material-ui/LinearProgress'; +import LinearProgress from './LinearProgress'; import {Tabs, Tab} from 'material-ui/Tabs'; import _ from 'lodash' @@ -150,6 +150,12 @@ export default class TopPage extends Page { Object.keys(this.times).map((time, index) => { const {torrents} = this.topTorrents[type][time] || {torrents: undefined}; + // dont draw top on other page rather than focused + if(this.state.type !== type || this.state.time !== time) + { + return + } + if(!torrents) return ( diff --git a/src/app/torrent-page.js b/src/app/torrent-page.js index 472511a..cb101ce 100644 --- a/src/app/torrent-page.js +++ b/src/app/torrent-page.js @@ -14,7 +14,7 @@ import NoImage from './images/no-image-icon.png' var moment = require('moment'); import RefreshIndicator from 'material-ui/RefreshIndicator'; let rating = require('./rating'); -import LinearProgress from 'material-ui/LinearProgress'; +import LinearProgress from './LinearProgress'; import FlatButton from 'material-ui/FlatButton'; import {fileTypeDetect} from './content' import {contentIcon} from './torrent' diff --git a/src/app/torrent.js b/src/app/torrent.js index 7b8c72e..418c099 100644 --- a/src/app/torrent.js +++ b/src/app/torrent.js @@ -7,7 +7,7 @@ import ToolTip from './tooltip'; import PagesPie from './pages-pie.js'; import TorrentPage from './torrent-page' -import LinearProgress from 'material-ui/LinearProgress'; +import LinearProgress from './LinearProgress'; let rating = require('./rating'); import scrollBack from './remember-scroll' import TrackersImages from './trackers-images'