mirror of
https://github.com/VueTorrent/VueTorrent.git
synced 2025-03-14 12:10:18 +03:00
feat: Last Activity support #217
This commit is contained in:
parent
bf406e5cfd
commit
1d9279a376
6 changed files with 29 additions and 6 deletions
14
src/components/Torrent/DashboardItems/LastActivity.vue
Normal file
14
src/components/Torrent/DashboardItems/LastActivity.vue
Normal file
|
@ -0,0 +1,14 @@
|
|||
<template>
|
||||
<v-flex xs6 sm2>
|
||||
<div class="caption grey--text">
|
||||
{{ $t('torrent.last_activity') | titleCase }}
|
||||
</div>
|
||||
<div>{{ torrent.last_activity }}</div>
|
||||
</v-flex>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'LastActivity',
|
||||
props: ['torrent']
|
||||
}
|
||||
</script>
|
|
@ -15,5 +15,6 @@ import AddedOn from './AddedOn.vue'
|
|||
import Uploaded from './Uploaded.vue'
|
||||
import UploadedSession from './UploadedSession.vue'
|
||||
import Availability from './Availability.vue'
|
||||
import LastActivity from './LastActivity.vue'
|
||||
|
||||
export { Size, Progress, Download, Directory, Ratio, Upload, ETA, Peers, Seeds, Status, Category, Tags, AddedOn, Uploaded, UploadedSession, Downloaded, Availability }
|
||||
export { Size, LastActivity, Progress, Download, Directory, Ratio, Upload, ETA, Peers, Seeds, Status, Category, Tags, AddedOn, Uploaded, UploadedSession, Downloaded, Availability }
|
||||
|
|
|
@ -59,7 +59,8 @@ const locale = {
|
|||
uploadedSession: 'Uploaded Session',
|
||||
torrentTitle: 'Torrent Title',
|
||||
timeActive: 'Time Active',
|
||||
seededFor: 'seeded for'
|
||||
seededFor: 'seeded for',
|
||||
last_activity: 'Last Activity'
|
||||
},
|
||||
/** Navbar */
|
||||
navbar: {
|
||||
|
@ -368,13 +369,14 @@ const locale = {
|
|||
title: 'Sort Torrents',
|
||||
reverse: 'Reverse',
|
||||
sortBy: {
|
||||
none: 'None',
|
||||
availability: 'Availability',
|
||||
category: 'Category',
|
||||
completed: 'Completed',
|
||||
downloaded: 'Downloaded',
|
||||
ETA: 'ETA',
|
||||
name: 'Name',
|
||||
none: 'None',
|
||||
last_activity: 'Last Activity',
|
||||
peers: 'Peers',
|
||||
priority: 'Priority',
|
||||
progress: 'Progress',
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import dayjs from 'dayjs'
|
||||
import duration from 'dayjs/plugin/duration'
|
||||
import relativeTime from 'dayjs/plugin/relativeTime'
|
||||
|
||||
dayjs.extend(duration)
|
||||
dayjs.extend(relativeTime)
|
||||
|
||||
export default class Torrent {
|
||||
constructor(data) {
|
||||
|
@ -39,6 +41,7 @@ export default class Torrent {
|
|||
this.magnet = data.magnet_uri
|
||||
this.time_active = dayjs.duration(data.time_active, 'seconds').format('D[d] H[h] m[m] s[s]')
|
||||
this.seeding_time = data.seeding_time > 0 ? dayjs.duration(data.seeding_time, 'seconds').format('D[d] H[h] m[m] s[s]') : null
|
||||
this.last_activity = dayjs(data.last_activity * 1000).fromNow()
|
||||
|
||||
Object.freeze(this)
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ export default new Vuex.Store({
|
|||
authenticated: false,
|
||||
sort_options: {
|
||||
sort: 'priority',
|
||||
reverse: true,
|
||||
reverse: false,
|
||||
hashes: [],
|
||||
filter: null
|
||||
},
|
||||
|
@ -84,7 +84,8 @@ export default new Vuex.Store({
|
|||
{ name: 'Category', active: true },
|
||||
{ name: 'Tags', active: true },
|
||||
{ name: 'AddedOn', active: true },
|
||||
{ name: 'Availability', active: true }
|
||||
{ name: 'Availability', active: true },
|
||||
{ name: 'LastActivity', active: false },
|
||||
],
|
||||
doneTorrentProperties: [
|
||||
{ name: 'Size', active: true },
|
||||
|
@ -102,7 +103,8 @@ export default new Vuex.Store({
|
|||
{ name: 'Category', active: true },
|
||||
{ name: 'Tags', active: true },
|
||||
{ name: 'AddedOn', active: true },
|
||||
{ name: 'Availability', active: true }
|
||||
{ name: 'Availability', active: true },
|
||||
{ name: 'LastActivity', active: false }
|
||||
]
|
||||
},
|
||||
categories: [],
|
||||
|
|
|
@ -183,6 +183,7 @@ export default {
|
|||
{ value: 'eta', text: this.$i18n.t('modals.sort.sortBy.ETA') },
|
||||
{ value: 'name', text: this.$i18n.t('modals.sort.sortBy.name') },
|
||||
{ value: 'num_leechs', text: this.$i18n.t('modals.sort.sortBy.peers') },
|
||||
{ value: 'last_activity', text: this.$i18n.t('modals.sort.sortBy.last_activity') },
|
||||
{ value: 'priority', text: this.$i18n.t('modals.sort.sortBy.priority') },
|
||||
{ value: 'progress', text: this.$i18n.t('modals.sort.sortBy.progress') },
|
||||
{ value: 'ratio', text: this.$i18n.t('modals.sort.sortBy.ratio') },
|
||||
|
|
Loading…
Add table
Reference in a new issue