Skip to content

Commit

Permalink
feat(gui): display rating in torrent line (gui part)
Browse files Browse the repository at this point in the history
  • Loading branch information
DEgITx committed Jun 16, 2018
1 parent 3579d24 commit 605672b
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 4 deletions.
20 changes: 20 additions & 0 deletions src/app/torrent.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import TorrentPage from './torrent-page'

import Spinner24 from './images/spinner_24.gif'
import LinearProgress from 'material-ui/LinearProgress';
let rating = require('./rating');

const contentIcon = (type, category, fill = 'grey') => {
if(category == 'xxx')
Expand Down Expand Up @@ -218,6 +219,10 @@ export default class Torrent extends Component {
render()
{
const torrent = this.props.torrent;
let torrentRating = -1
if(torrent.good > 0 || torrent.bad > 0)
torrentRating = Math.round(rating(torrent.good, torrent.bad) * 100);

return (
<div>
<ListItem
Expand Down Expand Up @@ -290,6 +295,21 @@ export default class Torrent extends Component {
:
null
}
{
(torrent.good > 0 || torrent.bad > 0)
&&
<div className='row w100p inline' style={{maxWidth: 600}}>
<LinearProgress
mode="determinate"
value={torrentRating}
color={torrentRating >= 50 ? '#00E676' : '#FF3D00'}
style={{
height: '5px',
}}
/>
<div className='row center pad0-5 fs0-85 text-nowrap' style={{color: torrentRating >= 50 ? '#00E676' : '#FF3D00', width: '190px'}}>{__('Torrent rating')}: {torrentRating}%</div>
</div>
}
</div>
</a>
}
Expand Down
4 changes: 4 additions & 0 deletions src/background/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -757,6 +757,10 @@ module.exports = async ({
if(torrent.hash !== record.torrentHash)
return

let {good, bad} = await getVotes(torrent.hash)
torrent.good = good
torrent.bad = bad

feed.add(torrent)

send('feedUpdate', {
Expand Down
37 changes: 33 additions & 4 deletions src/background/feed.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ module.exports = class Feed {
this.feed = []
this.sphinx = sphinx
this.loaded = false
this.max = 1000
}

size()
{
return this.feed.length
}

async save() {
Expand Down Expand Up @@ -39,12 +45,35 @@ module.exports = class Feed {
}

add(data) {
if(typeof data == 'object')
let index = -1
if(data.hash)
index = this.feed.findIndex(element => element.hash === data.hash)

if(index >= 0)
this.feed[index] = Object.assign(this.feed[index], data) // just push up element
else
{
data.feedDate = Math.floor(Date.now() / 1000)
if(this.feed.length >= this.max)
{
//cleanup
for(let i = this.feed.length - 1; i <= 0; i--)
if(this._compare(this.feed[i]) <= 0)
this.feed.pop()
else
break

if(this.feed.length >= this.max)
return // two much for feed
}

if(typeof data == 'object')
{
data.feedDate = Math.floor(Date.now() / 1000)
}

this.feed.push(data) // insert
}

this.feed.push(data)
this._order()
}

Expand All @@ -54,7 +83,7 @@ module.exports = class Feed {

_compare(x)
{
const rating = 0
const rating = (x && x.good) || 0
const comments = 0
const time = Math.floor(Date.now() / 1000) - x.feedDate

Expand Down

0 comments on commit 605672b

Please sign in to comment.