Skip to content
Snippets Groups Projects
Verified Commit 7451cb8d authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Display playlist duration in card, removed too much color

parent 6ca6ec15
No related branches found
No related tags found
No related merge requests found
<template>
<span>
<translate
v-if="durationData.hours > 0"
:translate-params="{minutes: durationData.minutes, hours: durationData.hours}">%{ hours }h %{ minutes } min</translate>
<translate
v-else
:translate-params="{minutes: durationData.minutes}">%{ minutes } min</translate>
</span>
</template>
<script>
import {secondsToObject} from '@/filters'
export default {
props: ['seconds'],
computed: {
durationData () {
return secondsToObject(this.seconds)
}
}
}
</script>
...@@ -12,6 +12,10 @@ import UserLink from '@/components/common/UserLink' ...@@ -12,6 +12,10 @@ import UserLink from '@/components/common/UserLink'
Vue.component('user-link', UserLink) Vue.component('user-link', UserLink)
import Duration from '@/components/common/Duration'
Vue.component('duration', Duration)
import DangerousButton from '@/components/common/DangerousButton' import DangerousButton from '@/components/common/DangerousButton'
Vue.component('dangerous-button', DangerousButton) Vue.component('dangerous-button', DangerousButton)
......
...@@ -12,6 +12,9 @@ ...@@ -12,6 +12,9 @@
<div class="meta"> <div class="meta">
<human-date :date="playlist.modification_date" /> <human-date :date="playlist.modification_date" />
</div> </div>
<div class="meta">
<duration :seconds="playlist.duration" />
</div>
</div> </div>
<div class="extra content"> <div class="extra content">
<user-link :user="playlist.user" class="left floated" /> <user-link :user="playlist.user" class="left floated" />
...@@ -30,7 +33,6 @@ ...@@ -30,7 +33,6 @@
<script> <script>
import PlayButton from '@/components/audio/PlayButton' import PlayButton from '@/components/audio/PlayButton'
import {hashCode, intToRGB} from '@/utils/color'
export default { export default {
props: ['playlist'], props: ['playlist'],
...@@ -44,11 +46,8 @@ export default { ...@@ -44,11 +46,8 @@ export default {
url = self.$store.getters['instance/absoluteUrl'](url) url = self.$store.getters['instance/absoluteUrl'](url)
return `url("${url}")` return `url("${url}")`
}).slice(0, 4) }).slice(0, 4)
let bgColor = intToRGB(hashCode(this.playlist.name + this.playlist.user.username))
return { return {
'background-image': urls.join(', '), 'background-image': urls.join(', ')
'background-color': `#${bgColor}`
} }
} }
} }
...@@ -59,6 +58,7 @@ export default { ...@@ -59,6 +58,7 @@ export default {
<style scoped> <style scoped>
.attached.button { .attached.button {
background-color: rgb(243, 244, 245);
background-size: 25% ; background-size: 25% ;
background-repeat: no-repeat; background-repeat: no-repeat;
background-origin: border-box; background-origin: border-box;
......
...@@ -28,6 +28,16 @@ export function ago (date) { ...@@ -28,6 +28,16 @@ export function ago (date) {
Vue.filter('ago', ago) Vue.filter('ago', ago)
export function secondsToObject (seconds) {
let m = moment.duration(seconds, 'seconds')
return {
minutes: m.minutes(),
hours: parseInt(m.asHours())
}
}
Vue.filter('secondsToObject', secondsToObject)
export function momentFormat (date, format) { export function momentFormat (date, format) {
format = format || 'lll' format = format || 'lll'
return moment(date).format(format) return moment(date).format(format)
......
...@@ -9,14 +9,15 @@ ...@@ -9,14 +9,15 @@
<i class="circular inverted list yellow icon"></i> <i class="circular inverted list yellow icon"></i>
<div class="content"> <div class="content">
{{ playlist.name }} {{ playlist.name }}
<div class="sub header">
<translate <translate
tag="div"
class="sub header"
translate-plural="Playlist containing %{ count } tracks, by %{ username }" translate-plural="Playlist containing %{ count } tracks, by %{ username }"
:translate-n="playlistTracks.length" :translate-n="playlistTracks.length"
:translate-params="{count: playlistTracks.length, username: playlist.user.username}"> :translate-params="{count: playlistTracks.length, username: playlist.user.username}">
Playlist containing %{ count } track, by %{ username } Playlist containing %{ count } track, by %{ username }
</translate> </translate><br>
<duration :seconds="playlist.duration" />
</div>
</div> </div>
</h2> </h2>
<div class="ui hidden divider"></div> <div class="ui hidden divider"></div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment