add i18n to many items

This commit is contained in:
vapormusic 2022-01-24 22:22:47 +07:00
parent a0c1d3ffcd
commit d873913481
27 changed files with 141 additions and 119 deletions

View file

@ -60,6 +60,7 @@
"term.viewAs": "View As", "term.viewAs": "View As",
"term.viewAs.coverArt": "Cover Art", "term.viewAs.coverArt": "Cover Art",
"term.viewAs.list": "List", "term.viewAs.list": "List",
"term.size": "Size",
"term.size.normal": "Normal", "term.size.normal": "Normal",
"term.size.compact": "Compact", "term.size.compact": "Compact",
"term.enable": "Enable", "term.enable": "Enable",
@ -67,6 +68,19 @@
"term.enabled": "Enabled", "term.enabled": "Enabled",
"term.disabled": "Disabled", "term.disabled": "Disabled",
"term.connect": "Connect", "term.connect": "Connect",
"term.confirm": "Confirm ?",
"term.more": "More",
"term.less": "Less",
"term.showMore": "Show more",
"term.showLess": "Show less",
"term.topSongs" : "Top Songs",
"term.latestReleases": "Latest Releases",
"term.time.added": "Added",
"term.time.released": "Released",
"term.time.updated": "Updated",
"term.fullscreenView": "Fullscreen View",
"term.defaultView": "Default View",
// Home // Home
"home.title": "Home", "home.title": "Home",
@ -92,6 +106,7 @@
"action.removeFromQueue.success": "Removed from Queue", "action.removeFromQueue.success": "Removed from Queue",
"action.removeFromQueue.error": "Error Removing from Queue", "action.removeFromQueue.error": "Error Removing from Queue",
"action.addToPlaylist": "Add to Playlist", "action.addToPlaylist": "Add to Playlist",
"action.removeFromPlaylist": "Remove from Playlist",
"action.addToFavorites": "Add to Favorites", "action.addToFavorites": "Add to Favorites",
"action.follow": "Follow", "action.follow": "Follow",
"action.follow.success": "Followed", "action.follow.success": "Followed",

View file

@ -3155,7 +3155,7 @@ const app = new Vue({
headerItems: [{ headerItems: [{
"icon": "./assets/feather/heart.svg", "icon": "./assets/feather/heart.svg",
"id": "love", "id": "love",
"name": "Love", "name": app.getLz('action.love'),
"hidden": false, "hidden": false,
"disabled": true, "disabled": true,
"action": function() { "action": function() {
@ -3166,7 +3166,7 @@ const app = new Vue({
"icon": "./assets/feather/heart.svg", "icon": "./assets/feather/heart.svg",
"id": "unlove", "id": "unlove",
"active": true, "active": true,
"name": "Unlove", "name": app.getLz('action.unlove'),
"hidden": true, "hidden": true,
"action": function() { "action": function() {
app.unlove(app.mk.nowPlayingItem) app.unlove(app.mk.nowPlayingItem)
@ -3175,7 +3175,7 @@ const app = new Vue({
{ {
"icon": "./assets/feather/thumbs-down.svg", "icon": "./assets/feather/thumbs-down.svg",
"id": "dislike", "id": "dislike",
"name": "Dislike", "name": app.getLz('action.dislike'),
"hidden": false, "hidden": false,
"disabled": true, "disabled": true,
"action": function() { "action": function() {
@ -3185,7 +3185,7 @@ const app = new Vue({
{ {
"icon": "./assets/feather/thumbs-down.svg", "icon": "./assets/feather/thumbs-down.svg",
"id": "undo_dislike", "id": "undo_dislike",
"name": "Undo dislike", "name": app.getLz('action.undoDislike'),
"active": true, "active": true,
"hidden": true, "hidden": true,
"action": function() { "action": function() {
@ -3195,7 +3195,7 @@ const app = new Vue({
], ],
items: [{ items: [{
"icon": "./assets/feather/list.svg", "icon": "./assets/feather/list.svg",
"name": "Add to Playlist...", "name": app.getLz('action.addToPlaylist')+" ...",
"action": function() { "action": function() {
app.promptAddToPlaylist() app.promptAddToPlaylist()
} }
@ -3203,7 +3203,7 @@ const app = new Vue({
{ {
"icon": "./assets/feather/plus.svg", "icon": "./assets/feather/plus.svg",
"id": "addToLibrary", "id": "addToLibrary",
"name": "Add to Library...", "name": app.getLz('action.addToLibrary')+" ...",
"disabled": false, "disabled": false,
"action": function() { "action": function() {
app.addToLibrary(app.mk.nowPlayingItem.id); app.addToLibrary(app.mk.nowPlayingItem.id);

View file

@ -3,7 +3,7 @@
<div class="modal-fullscreen addtoplaylist-panel" @click.self="app.resetState()" @contextmenu.self="app.resetState()"> <div class="modal-fullscreen addtoplaylist-panel" @click.self="app.resetState()" @contextmenu.self="app.resetState()">
<div class="modal-window"> <div class="modal-window">
<div class="modal-header"> <div class="modal-header">
<div class="modal-title">Add to Playlist</div> <div class="modal-title">{{app.getLz('action.addToLibrary')}}</div>
<button class="close-btn" @click="app.resetState()"></button> <button class="close-btn" @click="app.resetState()"></button>
</div> </div>
<div class="modal-content"> <div class="modal-content">

View file

@ -3,7 +3,7 @@
<div class="modal-fullscreen modal-generic" @click.self="app.resetState()" @contextmenu.self="app.resetState()"> <div class="modal-fullscreen modal-generic" @click.self="app.resetState()" @contextmenu.self="app.resetState()">
<div class="modal-window"> <div class="modal-window">
<div class="modal-header"> <div class="modal-header">
<div class="modal-title">Add to Playlist</div> <div class="modal-title">{{app.getLz('action.addToLibrary')}}</div>
<button class="close-btn" @click="app.resetState()"></button> <button class="close-btn" @click="app.resetState()"></button>
</div> </div>
<div class="modal-content"> <div class="modal-content">
@ -21,7 +21,7 @@
ref="searchInput" ref="searchInput"
style="width:100%;" style="width:100%;"
spellcheck="false" spellcheck="false"
placeholder="Search..." :placeholder="app.getLz('term.search') + '...'"
v-model="searchQuery" v-model="searchQuery"
@input="search()" @input="search()"
class="search-input"> class="search-input">

View file

@ -98,7 +98,7 @@
normal: { normal: {
items: [ items: [
{ {
"name": "Go to Artist", "name": app.getLz('action.goToArtist'),
"icon": "./assets/feather/user.svg", "icon": "./assets/feather/user.svg",
"action": function () { "action": function () {
app.searchAndNavigate(self.item, 'artist') app.searchAndNavigate(self.item, 'artist')
@ -107,7 +107,7 @@
}, },
{ {
"icon": "./assets/feather/radio.svg", "icon": "./assets/feather/radio.svg",
"name": "Start Radio", "name": app.getLz('action.startRadio'),
"action": function () { "action": function () {
app.mk.setStationQueue({song: self.item.attributes.playParams.id ?? self.item.id}).then(() => { app.mk.setStationQueue({song: self.item.attributes.playParams.id ?? self.item.id}).then(() => {
app.mk.play() app.mk.play()
@ -117,7 +117,7 @@
}, },
{ {
"icon": "./assets/feather/share.svg", "icon": "./assets/feather/share.svg",
"name": "Share", "name": app.getLz('action.share'),
"action": function () { "action": function () {
if (!self.item.attributes.url && self.item.relationships){ if (!self.item.attributes.url && self.item.relationships){
if (self.item.relationships.catalog){ if (self.item.relationships.catalog){

View file

@ -6,7 +6,7 @@
<h3>{{ recom.attributes.title ? recom.attributes.title.stringForDisplay : ""}}</h3> <h3>{{ recom.attributes.title ? recom.attributes.title.stringForDisplay : ""}}</h3>
</div> </div>
<div class="col-auto flex-center" v-if="recom.relationships.contents.data.length >= 10"> <div class="col-auto flex-center" v-if="recom.relationships.contents.data.length >= 10">
<button class="cd-btn-seeall" @click="app.showCollection(recom.relationships.contents, recom.attributes.title ? recom.attributes.title.stringForDisplay : '', 'listen_now')" >See All</button> <button class="cd-btn-seeall" @click="app.showCollection(recom.relationships.contents, recom.attributes.title ? recom.attributes.title.stringForDisplay : '', 'listen_now')" >{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<template v-if="recom.attributes.display.kind == 'MusicCoverShelf'"> <template v-if="recom.attributes.display.kind == 'MusicCoverShelf'">

View file

@ -231,7 +231,7 @@
multiple: { multiple: {
items: [ items: [
{ {
"name": "Add to Playlist...", "name": app.getLz('action.addToPlaylist'),
"icon": "./assets/feather/plus.svg", "icon": "./assets/feather/plus.svg",
"action": function () { "action": function () {
app.promptAddToPlaylist() app.promptAddToPlaylist()
@ -287,7 +287,7 @@
{ {
"icon": "./assets/feather/heart.svg", "icon": "./assets/feather/heart.svg",
"id": "love", "id": "love",
"name": "Love", "name": this.app.getLz('action.love'),
"hidden": false, "hidden": false,
"disabled": true, "disabled": true,
"action": function () { "action": function () {
@ -298,7 +298,7 @@
"icon": "./assets/feather/heart.svg", "icon": "./assets/feather/heart.svg",
"id": "unlove", "id": "unlove",
"active": true, "active": true,
"name": "Unlove", "name": this.app.getLz('action.unload'),
"hidden": true, "hidden": true,
"action": function () { "action": function () {
app.unlove(self.item) app.unlove(self.item)
@ -307,7 +307,7 @@
{ {
"icon": "./assets/feather/thumbs-down.svg", "icon": "./assets/feather/thumbs-down.svg",
"id": "dislike", "id": "dislike",
"name": "Dislike", "name": this.app.getLz('action.dislike'),
"hidden": false, "hidden": false,
"disabled": true, "disabled": true,
"action": function () { "action": function () {
@ -317,7 +317,7 @@
{ {
"icon": "./assets/feather/thumbs-down.svg", "icon": "./assets/feather/thumbs-down.svg",
"id": "undo_dislike", "id": "undo_dislike",
"name": "Undo dislike", "name": this.app.getLz('action.undoDislike'),
"active": true, "active": true,
"hidden": true, "hidden": true,
"action": function () { "action": function () {
@ -329,7 +329,7 @@
{ {
"id": "addToLibrary", "id": "addToLibrary",
"icon": "./assets/feather/plus.svg", "icon": "./assets/feather/plus.svg",
"name": "Add to library", "name": this.app.getLz('action.addToLibrary'),
"hidden": false, "hidden": false,
"disabled": true, "disabled": true,
"action": function () { "action": function () {
@ -339,7 +339,7 @@
{ {
"id": "removeFromLibrary", "id": "removeFromLibrary",
"icon": "./assets/feather/x-circle.svg", "icon": "./assets/feather/x-circle.svg",
"name": "Remove from library", "name": app.getLz('action.removeFromLibrary'),
"hidden": true, "hidden": true,
"action": function () { "action": function () {
self.removeFromLibrary() self.removeFromLibrary()
@ -347,13 +347,13 @@
}, },
{ {
"icon": "./assets/feather/list.svg", "icon": "./assets/feather/list.svg",
"name": "Add to Playlist...", "name": app.getLz('action.addToPlaylist'),
"action": function () { "action": function () {
app.promptAddToPlaylist() app.promptAddToPlaylist()
} }
}, },
{ {
"name": "Play Next", "name": app.getLz('action.playNext'),
"icon": "./assets/arrow-bend-up.svg", "icon": "./assets/arrow-bend-up.svg",
"action": function () { "action": function () {
app.mk.playNext({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id}) app.mk.playNext({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id})
@ -362,7 +362,7 @@
} }
}, },
{ {
"name": "Play Later", "name": app.getLz('action.playLater'),
"icon": "./assets/arrow-bend-down.svg", "icon": "./assets/arrow-bend-down.svg",
"action": function () { "action": function () {
app.mk.playLater({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id}) app.mk.playLater({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id})
@ -372,7 +372,7 @@
}, },
{ {
"icon": "./assets/feather/radio.svg", "icon": "./assets/feather/radio.svg",
"name": "Start Radio", "name": app.getLz('action.startRadio'),
"action": function () { "action": function () {
app.mk.setStationQueue({song: self.item.attributes.playParams.id ?? self.item.id}).then(() => { app.mk.setStationQueue({song: self.item.attributes.playParams.id ?? self.item.id}).then(() => {
app.mk.play() app.mk.play()
@ -382,21 +382,21 @@
}, },
{ {
"icon": "./assets/feather/user.svg", "icon": "./assets/feather/user.svg",
"name": "Go to Artist", "name": app.getLz('action.goToArtist'),
"action": function () { "action": function () {
app.searchAndNavigate(self.item, 'artist') app.searchAndNavigate(self.item, 'artist')
} }
}, },
{ {
"icon": "./assets/feather/disc.svg", "icon": "./assets/feather/disc.svg",
"name": "Go to Album", "name": app.getLz('action.goToAlbum'),
"action": function () { "action": function () {
app.searchAndNavigate(self.item, 'album') app.searchAndNavigate(self.item, 'album')
} }
}, },
{ {
"icon": "./assets/feather/share.svg", "icon": "./assets/feather/share.svg",
"name": "Share", "name": app.getLz('action.share'),
"action": function () { "action": function () {
if (!self.item.attributes.url && self.item.relationships){ if (!self.item.attributes.url && self.item.relationships){
if (self.item.relationships.catalog){ if (self.item.relationships.catalog){

View file

@ -299,7 +299,7 @@
{ {
"icon": "./assets/feather/heart.svg", "icon": "./assets/feather/heart.svg",
"id": "love", "id": "love",
"name": "Love", "name": app.getLz('action.love'),
"hidden": false, "hidden": false,
"disabled": true, "disabled": true,
"action": function () { "action": function () {
@ -310,7 +310,7 @@
"icon": "./assets/feather/heart.svg", "icon": "./assets/feather/heart.svg",
"id": "unlove", "id": "unlove",
"active": true, "active": true,
"name": "Unlove", "name": app.getLz('action.unlove'),
"hidden": true, "hidden": true,
"action": function () { "action": function () {
app.unlove(self.item) app.unlove(self.item)
@ -319,7 +319,7 @@
{ {
"icon": "./assets/feather/thumbs-down.svg", "icon": "./assets/feather/thumbs-down.svg",
"id": "dislike", "id": "dislike",
"name": "Dislike", "name": app.getLz('action.dislike'),
"hidden": false, "hidden": false,
"disabled": true, "disabled": true,
"action": function () { "action": function () {
@ -329,7 +329,7 @@
{ {
"icon": "./assets/feather/thumbs-down.svg", "icon": "./assets/feather/thumbs-down.svg",
"id": "undo_dislike", "id": "undo_dislike",
"name": "Undo dislike", "name": app.getLz('action.undoDislike'),
"active": true, "active": true,
"hidden": true, "hidden": true,
"action": function () { "action": function () {
@ -341,7 +341,7 @@
{ {
"icon": "./assets/feather/list.svg", "icon": "./assets/feather/list.svg",
"id": "addToPlaylist", "id": "addToPlaylist",
"name": "Add to Playlist...", "name": app.getLz('action.addToPlaylist'),
"action": function () { "action": function () {
app.promptAddToPlaylist() app.promptAddToPlaylist()
} }
@ -349,7 +349,7 @@
{ {
"id": "addToLibrary", "id": "addToLibrary",
"icon": "./assets/feather/plus.svg", "icon": "./assets/feather/plus.svg",
"name": "Add to library", "name": app.getLz('action.addToLibrary'),
"hidden": false, "hidden": false,
"disabled": true, "disabled": true,
"action": function () { "action": function () {
@ -362,7 +362,7 @@
{ {
"id": "removeFromLibrary", "id": "removeFromLibrary",
"icon": "./assets/feather/x-circle.svg", "icon": "./assets/feather/x-circle.svg",
"name": "Remove from library", "name": app.getLz('action.removeFromLibrary'),
"hidden": true, "hidden": true,
"action": async function () { "action": async function () {
console.log("remove"); console.log("remove");
@ -373,7 +373,7 @@
} }
}, },
{ {
"name": "Play Next", "name": app.getLz('action.playNext'),
"icon": "./assets/arrow-bend-up.svg", "icon": "./assets/arrow-bend-up.svg",
"action": function () { "action": function () {
app.mk.playNext({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id}) app.mk.playNext({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id})
@ -382,7 +382,7 @@
} }
}, },
{ {
"name": "Play Later", "name": app.getLz('action.playLater'),
"icon": "./assets/arrow-bend-down.svg", "icon": "./assets/arrow-bend-down.svg",
"action": function () { "action": function () {
app.mk.playLater({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id}) app.mk.playLater({[self.item.attributes.playParams.kind ?? self.item.type]: self.item.attributes.playParams.id ?? self.item.id})
@ -392,7 +392,7 @@
}, },
{ {
"icon": "./assets/feather/share.svg", "icon": "./assets/feather/share.svg",
"name": "Share", "name": app.getLz('action.share'),
"action": function () { "action": function () {
self.app.copyToClipboard(self.item.attributes.url) self.app.copyToClipboard(self.item.attributes.url)
} }

View file

@ -48,7 +48,7 @@
let self = this let self = this
CiderContextMenu.Create(event, { CiderContextMenu.Create(event, {
items: [{ items: [{
"name": "Remove from queue", "name": app.getLz('action.removeFromQueue'),
"action": function () { "action": function () {
} }

View file

@ -2,7 +2,7 @@
<div class="queue-panel"> <div class="queue-panel">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h3 class="queue-header-text">Queue</h3> <h3 class="queue-header-text">{{app.getLz('term.queue')}}</h3>
</div> </div>
<div class="col-auto flex-center"> <div class="col-auto flex-center">
<button class="autoplay" :style="{'background': app.mk.autoplayEnabled ? 'var(--keyColor)' : ''}" @click="app.mk.autoplayEnabled = !app.mk.autoplayEnabled"> <img class="infinity"></button> <button class="autoplay" :style="{'background': app.mk.autoplayEnabled ? 'var(--keyColor)' : ''}" @click="app.mk.autoplayEnabled = !app.mk.autoplayEnabled"> <img class="infinity"></button>
@ -76,7 +76,7 @@
let menus = { let menus = {
single: { single: {
items: [{ items: [{
"name": "Remove from queue", "name": app.getLz('action.removeFromQueue'),
"action": function () { "action": function () {
self.queueItems.splice(position, 1) self.queueItems.splice(position, 1)
app.mk.queue._queueItems = self.queueItems; app.mk.queue._queueItems = self.queueItems;
@ -84,7 +84,7 @@
} }
}, },
{ {
"name": "Start Radio", "name": app.getLz('action.startRadio'),
"action": function () { "action": function () {
app.mk.setStationQueue({ app.mk.setStationQueue({
song: item.attributes.playParams.id ?? item.id song: item.attributes.playParams.id ?? item.id

View file

@ -105,7 +105,7 @@
let menu = { let menu = {
items: { items: {
"moveToParent": { "moveToParent": {
name: "Move to top", name: app.getLz('action.moveToTop'),
action: () => { action: () => {
let self = this let self = this
this.move(this.item, { this.move(this.item, {
@ -116,7 +116,7 @@
} }
}, },
"rename": { "rename": {
name: "Rename", name: app.getLz('action.rename'),
action: () => { action: () => {
this.renaming = true this.renaming = true
setTimeout(()=>{ setTimeout(()=>{
@ -126,13 +126,13 @@
} }
}, },
"deleteFromPlaylist": { "deleteFromPlaylist": {
name: "Delete from library", name: app.getLz('action.removeFromLibrary'),
action: () => { action: () => {
this.$root.deletePlaylist(playlist_id) this.$root.deletePlaylist(playlist_id)
} }
}, },
"addToFavorites": { "addToFavorites": {
name: "Add to favorites", name: app.getLz('action.addToFavorites'),
disabled: true, disabled: true,
hidden: true, hidden: true,
action: () => { action: () => {

View file

@ -576,7 +576,7 @@
:richlyrics="richlyrics"></lyrics-view> :richlyrics="richlyrics"></lyrics-view>
<div v-if="drawer.panel == 'lyrics'" class="lyric-footer"> <div v-if="drawer.panel == 'lyrics'" class="lyric-footer">
<button class="md-btn" @click="modularUITest(!fullscreenLyrics)">{{fullscreenLyrics ? <button class="md-btn" @click="modularUITest(!fullscreenLyrics)">{{fullscreenLyrics ?
"Default View":'Fullscreen View'}} $root.getLz('term.defaultView'): $root.getLz('term.fullscreenView')}}
</button> </button>
</div> </div>
</div> </div>

View file

@ -8,7 +8,7 @@
<h3>{{ recom.attributes.name ?? ""}}</h3> <h3>{{ recom.attributes.name ?? ""}}</h3>
</div> </div>
<div class="col-auto flex-center" v-if="index != 0 && recom.relationships && ((recom.relationships.children && recom.relationships.children.data.length > 10) || (recom.relationships.contents && recom.relationships.contents.data.length > 10))"> <div class="col-auto flex-center" v-if="index != 0 && recom.relationships && ((recom.relationships.children && recom.relationships.children.data.length > 10) || (recom.relationships.contents && recom.relationships.contents.data.length > 10))">
<button class="cd-btn-seeall" @click="app.showCollection(recom.relationships.children ? recom.relationships.children : recom.relationships.contents, recom.attributes.name ?? '', 'listen_now')" >See All</button> <button class="cd-btn-seeall" @click="app.showCollection(recom.relationships.children ? recom.relationships.children : recom.relationships.contents, recom.attributes.name ?? '', 'listen_now')" >{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<template v-if="recom.relationships && ((recom.relationships.children && recom.relationships.children.data) || (recom.relationships.contents && recom.relationships.contents.data))"> <template v-if="recom.relationships && ((recom.relationships.children && recom.relationships.children.data) || (recom.relationships.contents && recom.relationships.contents.data))">

View file

@ -5,7 +5,7 @@
<div class="col"> <div class="col">
<div class="row nopadding"> <div class="row nopadding">
<div class="col nopadding"> <div class="col nopadding">
<h3>Followed Artists</h3> <h3>{{app.getLz('home.followedArtists')}}</h3>
</div> </div>
</div> </div>
<div class="well"> <div class="well">
@ -15,7 +15,7 @@
<button @click="unfollow(artist.id)" class="md-btn md-btn-glyph" style="display:flex;"> <button @click="unfollow(artist.id)" class="md-btn md-btn-glyph" style="display:flex;">
<div class="sidebar-icon"> <div class="sidebar-icon">
<div class="svg-icon" :style="{'--url': 'url(./assets/feather/x-circle.svg)'}"></div> <div class="svg-icon" :style="{'--url': 'url(./assets/feather/x-circle.svg)'}"></div>
</div> Unfollow </div> {{app.getLz('action.unfollow')}}
</button> </button>
</div> </div>
</mediaitem-scroller-horizontal> </mediaitem-scroller-horizontal>
@ -30,7 +30,7 @@
<div class="col"> <div class="col">
<div class="row nopadding"> <div class="row nopadding">
<div class="col nopadding"> <div class="col nopadding">
<h3>Your Artists Feed</h3> <h3>{{app.getLz('home.artistsFeed')}}</h3>
</div> </div>
</div> </div>
<div class="well" style="margin-top:0;"> <div class="well" style="margin-top:0;">

View file

@ -60,7 +60,7 @@
<div class="col"> <div class="col">
<div class="row"> <div class="row">
<div class="col-auto" v-if="data.views['latest-release'].data.length != 0"> <div class="col-auto" v-if="data.views['latest-release'].data.length != 0">
<h3>Latest Release</h3> <h3>{{app.getLz('term.latestReleases')}}</h3>
<div style="width: auto;margin: 0 auto;"> <div style="width: auto;margin: 0 auto;">
<mediaitem-square kind="card" v-for="song in data.views['latest-release'].data" <mediaitem-square kind="card" v-for="song in data.views['latest-release'].data"
:item="song"> :item="song">
@ -70,7 +70,7 @@
<div class="col" v-if="data.views['top-songs']"> <div class="col" v-if="data.views['top-songs']">
<div class="row"> <div class="row">
<div class="col" style="padding:0;"> <div class="col" style="padding:0;">
<h3>Top Songs</h3> <h3>{{app.getLz('term.topSongs')}}</h3>
</div> </div>
<div class="col-auto flex-center" v-if="data.views['top-songs'].data.length >= 10" style="padding:0;"> <div class="col-auto flex-center" v-if="data.views['top-songs'].data.length >= 10" style="padding:0;">
<button class="cd-btn-seeall" @click="app.showArtistView(data.id, data.attributes.name + ' - Top Songs', 'top-songs')">{{app.getLz('term.seeAll')}}</button> <button class="cd-btn-seeall" @click="app.showArtistView(data.id, data.attributes.name + ' - Top Songs', 'top-songs')">{{app.getLz('term.seeAll')}}</button>
@ -83,10 +83,10 @@
<button class="showmoreless" <button class="showmoreless"
@click="topSongsExpanded = !topSongsExpanded"> @click="topSongsExpanded = !topSongsExpanded">
<template v-if="!topSongsExpanded"> <template v-if="!topSongsExpanded">
Show more {{app.getLz('term.showMore')}}
</template> </template>
<template v-else> <template v-else>
Show less {{app.getLz('term.showLess')}}
</template> </template>
</button> </button>
</div> </div>
@ -120,7 +120,7 @@
</template> </template>
<div class="row"> <div class="row">
<div class="col" v-if="data.attributes.artistBio"> <div class="col" v-if="data.attributes.artistBio">
<h3>About {{ data.attributes.name }}</h3> <h3>{{ app.getLz('term.about') }} {{ data.attributes.name }}</h3>
<p v-html="data.attributes.artistBio"></p> <p v-html="data.attributes.artistBio"></p>
</div> </div>
<div class="col"> <div class="col">
@ -164,14 +164,14 @@
let followActions = { let followActions = {
follow: { follow: {
icon: "./assets/feather/plus-circle.svg", icon: "./assets/feather/plus-circle.svg",
name: "Follow Artist", name: app.getLz('action.follow'),
action: ()=>{ action: ()=>{
self.app.cfg.home.followedArtists.push(self.data.id) self.app.cfg.home.followedArtists.push(self.data.id)
} }
}, },
unfollow: { unfollow: {
icon: "./assets/feather/x-circle.svg", icon: "./assets/feather/x-circle.svg",
name: "Unfollow Artist", name: app.getLz('action.unfollow'),
action: ()=>{ action: ()=>{
let index = self.app.cfg.home.followedArtists.indexOf(self.data.id) let index = self.app.cfg.home.followedArtists.indexOf(self.data.id)
if (index > -1) { if (index > -1) {
@ -187,7 +187,7 @@
items: [ items: [
{ {
icon: "./assets/feather/play.svg", icon: "./assets/feather/play.svg",
name: "Play Artist Radio", name: app.getLz('action.startRadio'),
action: ()=>{ action: ()=>{
app.mk.setStationQueue({artist:self.data.id}).then(()=>{ app.mk.setStationQueue({artist:self.data.id}).then(()=>{
app.mk.play() app.mk.play()
@ -197,7 +197,7 @@
followActions[followAction], followActions[followAction],
{ {
icon: "./assets/feather/share.svg", icon: "./assets/feather/share.svg",
name: "Share", name: app.getLz('action.share'),
action: ()=>{ action: ()=>{
self.app.copyToClipboard(self.data.attributes.url) self.app.copyToClipboard(self.data.attributes.url)
} }

View file

@ -8,7 +8,7 @@
<h3>{{ recom.attributes.name ?? ""}}</h3> <h3>{{ recom.attributes.name ?? ""}}</h3>
</div> </div>
<div class="col-auto flex-center" v-if="index != 0 && recom.relationships && ((recom.relationships.children && recom.relationships.children.data.length > 10) || (recom.relationships.contents && recom.relationships.contents.data.length > 10))"> <div class="col-auto flex-center" v-if="index != 0 && recom.relationships && ((recom.relationships.children && recom.relationships.children.data.length > 10) || (recom.relationships.contents && recom.relationships.contents.data.length > 10))">
<button class="cd-btn-seeall" @click="app.showCollection(recom.relationships.children ? recom.relationships.children : recom.relationships.contents, recom.attributes.name ?? '', 'listen_now')" >See All</button> <button class="cd-btn-seeall" @click="app.showCollection(recom.relationships.children ? recom.relationships.children : recom.relationships.contents, recom.attributes.name ?? '', 'listen_now')" >{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<template v-if="recom.relationships && ((recom.relationships.children && recom.relationships.children.data) || (recom.relationships.contents && recom.relationships.contents.data))"> <template v-if="recom.relationships && ((recom.relationships.children && recom.relationships.children.data) || (recom.relationships.contents && recom.relationships.contents.data))">

View file

@ -48,7 +48,7 @@
<div v-else-if="data.attributes.description.standard" class="content" v-html="data.attributes.description.standard"></div> <div v-else-if="data.attributes.description.standard" class="content" v-html="data.attributes.description.standard"></div>
<button v-if="data.attributes.description.short" class="more-btn" <button v-if="data.attributes.description.short" class="more-btn"
@click="editorialNotesExpanded = !editorialNotesExpanded"> @click="editorialNotesExpanded = !editorialNotesExpanded">
More {{app.getLz('term.more')}}
</button> </button>
</div> </div>
</div> </div>
@ -57,26 +57,26 @@
<div class="playlist-desc-expanded"> <div class="playlist-desc-expanded">
<div class="content" <div class="content"
v-html="((data.attributes.editorialNotes) ? (data.attributes.editorialNotes.standard ?? (data.attributes.editorialNotes.short ?? '') ) : (data.attributes.description ? (data.attributes.description.standard ?? (data.attributes.description.short ?? '')) : ''))"></div> v-html="((data.attributes.editorialNotes) ? (data.attributes.editorialNotes.standard ?? (data.attributes.editorialNotes.short ?? '') ) : (data.attributes.description ? (data.attributes.description.standard ?? (data.attributes.description.short ?? '')) : ''))"></div>
<button class="more-btn" @click="editorialNotesExpanded = !editorialNotesExpanded">Less <button class="more-btn" @click="editorialNotesExpanded = !editorialNotesExpanded">{{app.getLz('term.less')}}
</button> </button>
</div> </div>
</template> </template>
<div class="playlist-controls" v-observe-visibility="{callback: isHeaderVisible}"> <div class="playlist-controls" v-observe-visibility="{callback: isHeaderVisible}">
<button class="md-btn" style="min-width: 100px;" <button class="md-btn" style="min-width: 100px;"
@click="app.mk.shuffleMode = 0; play()"> <img class="md-ico-play"> @click="app.mk.shuffleMode = 0; play()"> <img class="md-ico-play">
Play {{app.getLz('term.play')}}
</button> </button>
<button class="md-btn" style="min-width: 100px;" <button class="md-btn" style="min-width: 100px;"
@click="app.mk.shuffleMode = 1;play()"> <img class="md-ico-shuffle"> @click="app.mk.shuffleMode = 1;play()"> <img class="md-ico-shuffle">
Shuffle {{app.getLz('term.shuffle')}}
</button> </button>
<button class="md-btn" style="min-width: 180px;" v-if="inLibrary!=null && confirm!=true" <button class="md-btn" style="min-width: 180px;" v-if="inLibrary!=null && confirm!=true"
@click="confirmButton()"> <img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'"> @click="confirmButton()"> <img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'">
{{ (!inLibrary) ? "Add to Library" : "Remove from Library" }} {{ (!inLibrary) ? app.getLz('action.addToLibrary') : app.getLz("action.removeFromLibrary") }}
</button> </button>
<button class="md-btn" style="min-width: 180px;" v-if="confirm==true" <button class="md-btn" style="min-width: 180px;" v-if="confirm==true"
@click="(!inLibrary) ? addToLibrary(data.attributes.playParams.id.toString()) : removeFromLibrary(data.attributes.playParams.id.toString()) "> <img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'"> @click="(!inLibrary) ? addToLibrary(data.attributes.playParams.id.toString()) : removeFromLibrary(data.attributes.playParams.id.toString()) "> <img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'">
Confirm? {{app.getLz('term.confirm')}}
</button> </button>
<button class="more-btn-round" style="float:right;" @click="menu"> <button class="more-btn-round" style="float:right;" @click="menu">
<div class="svg-icon"></div> <div class="svg-icon"></div>
@ -100,19 +100,19 @@
<div> <div>
<button class="md-btn" style="min-width: 100px;" <button class="md-btn" style="min-width: 100px;"
@click="app.mk.shuffleMode = 0; play()"> <img class="md-ico-play"> @click="app.mk.shuffleMode = 0; play()"> <img class="md-ico-play">
Play {{app.getLz('term.play')}}
</button> </button>
<button class="md-btn" style="min-width: 100px;" <button class="md-btn" style="min-width: 100px;"
@click="app.mk.shuffleMode = 1;play()"> <img class="md-ico-shuffle"> @click="app.mk.shuffleMode = 1;play()"> <img class="md-ico-shuffle">
Shuffle {{app.getLz('term.shuffle')}}
</button> </button>
<button class="md-btn" style="min-width: 180px;" v-if="inLibrary!=null && confirm!=true" <button class="md-btn" style="min-width: 180px;" v-if="inLibrary!=null && confirm!=true"
@click="confirmButton()"> <img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'"> @click="confirmButton()"> <img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'">
{{ (!inLibrary) ? "Add to Library" : "Remove from Library" }} {{ (!inLibrary) ? app.getLz('action.addToLibrary') : app.getLz("action.removeFromLibrary") }}
</button> </button>
<button class="md-btn" style="min-width: 180px;" v-if="confirm==true" <button class="md-btn" style="min-width: 180px;" v-if="confirm==true"
@click="(!inLibrary) ? addToLibrary(data.attributes.playParams.id.toString()) : removeFromLibrary(data.attributes.playParams.id.toString()) "> <img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'"> @click="(!inLibrary) ? addToLibrary(data.attributes.playParams.id.toString()) : removeFromLibrary(data.attributes.playParams.id.toString()) "> <img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'">
Confirm? {{app.getLz('term.confirm')}}
</button> </button>
</div> </div>
</div> </div>
@ -318,7 +318,7 @@
return { return {
normal: [ normal: [
{ {
name: 'Remove from Playlist', name: app.getLz('action.removeFromPlaylist'),
action: () => { action: () => {
self.remove() self.remove()
} }
@ -326,7 +326,7 @@
], ],
multiple: [ multiple: [
{ {
name: 'Remove selected tracks from Playlist', name: app.getLz('action.removeFromPlaylist'),
action: () => { action: () => {
self.remove() self.remove()
} }
@ -429,13 +429,13 @@
if (date == null || date === "") return ""; if (date == null || date === "") return "";
switch (date) { switch (date) {
case this.data.attributes.releaseDate: case this.data.attributes.releaseDate:
prefix = 'Released ' prefix = this.app.getLz('term.time.released')+ ' '
break; break;
case this.data.attributes.lastModifiedDate: case this.data.attributes.lastModifiedDate:
prefix = 'Updated ' prefix = this.app.getLz('term.time.updated')+ ' '
break; break;
case this.data.attributes.dateAdded: case this.data.attributes.dateAdded:
prefix = 'Added ' prefix = this.app.getLz('term.time.added')+ ' '
break; break;
} }
let month, year; let month, year;

View file

@ -15,7 +15,7 @@
</template> </template>
</template> </template>
<button v-if="triggerEnabled" style="opacity:0;height: 32px;" <button v-if="triggerEnabled" style="opacity:0;height: 32px;"
v-observe-visibility="{callback: visibilityChanged}">Show More v-observe-visibility="{callback: visibilityChanged}">{{app.getLz('term.showMore')}}
</button> </button>
</div> </div>
<transition name="fabfade"> <transition name="fabfade">
@ -51,7 +51,8 @@
showFab: false, showFab: false,
commonKind: "song", commonKind: "song",
api: this.$root.mk.api, api: this.$root.mk.api,
loading: false loading: false,
app: this.$root,
} }
}, },
methods: { methods: {

View file

@ -18,7 +18,7 @@
<h3>Your Artists Feed</h3> <h3>Your Artists Feed</h3>
</div> </div>
<div class="col-auto nopadding flex-center"> <div class="col-auto nopadding flex-center">
<button class="cd-btn-seeall" @click="app.appRoute('artist-feed')">See All</button> <button class="cd-btn-seeall" @click="app.appRoute('artist-feed')">{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<div class="well artistfeed-well" style="margin-top:0;"> <div class="well artistfeed-well" style="margin-top:0;">
@ -60,7 +60,7 @@
<h3>Friends Listening To</h3> <h3>Friends Listening To</h3>
</div> </div>
<div class="col-auto nopadding flex-center"> <div class="col-auto nopadding flex-center">
<button class="cd-btn-seeall" @click="app.showSocialListeningTo()">See All</button> <button class="cd-btn-seeall" @click="app.showSocialListeningTo()">{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<div class="well"> <div class="well">

View file

@ -2,7 +2,7 @@
<div class="content-inner"> <div class="content-inner">
<div class="row"> <div class="row">
<div class="col" style="padding:0;"> <div class="col" style="padding:0;">
<h1 class="header-text">Albums</h1> <h1 class="header-text">{{$root.getLz('term.albums')}}</h1>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button v-if="library.albums.downloadState == 2" @click="getLibraryAlbumsFull(true, 1)" class="reload-btn"><%- include('../svg/redo.svg') %></button> <button v-if="library.albums.downloadState == 2" @click="getLibraryAlbumsFull(true, 1)" class="reload-btn"><%- include('../svg/redo.svg') %></button>
@ -15,7 +15,7 @@
<input type="search" <input type="search"
style="width:100%;" style="width:100%;"
spellcheck="false" spellcheck="false"
placeholder="Search..." :placeholder="$root.getLz('term.search') + '...'"
@input="searchLibraryAlbums" @input="searchLibraryAlbums"
v-model="library.albums.search" class="search-input"> v-model="library.albums.search" class="search-input">
</div> </div>
@ -24,24 +24,24 @@
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<select class="md-select" v-model="library.albums.sorting[1]" @change="searchLibraryAlbums(1)"> <select class="md-select" v-model="library.albums.sorting[1]" @change="searchLibraryAlbums(1)">
<optgroup label="Sort By"> <optgroup :label="$root.getLz('term.sortBy')">
<option v-for="(sort, index) in library.albums.sortingOptions" :value="index">{{ sort }}</option> <option v-for="(sort, index) in library.albums.sortingOptions" :value="index">{{ sort }}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>
<div class="col"> <div class="col">
<select class="md-select" v-model="library.albums.sortOrder[1]" @change="searchLibraryAlbums(1)"> <select class="md-select" v-model="library.albums.sortOrder[1]" @change="searchLibraryAlbums(1)">
<optgroup label="Sort Order"> <optgroup :label="$root.getLz('term.sortOrder')">
<option value="asc">Ascending</option> <option value="asc">{{$root.getLz('term.sortOrder.ascending')}}</option>
<option value="desc">Descending</option> <option value="desc">{{$root.getLz('term.sortOrder.descending')}}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>
<div class="col"> <div class="col">
<select class="md-select" v-model="library.albums.viewAs"> <select class="md-select" v-model="library.albums.viewAs">
<optgroup label="View As"> <optgroup :label="$root.getLz('term.viewAs')">
<option value="covers">Cover Art</option> <option value="covers">{{$root.getLz('term.viewAs.coverArt')}}</option>
<option value="list">List</option> <option value="list">{{$root.getLz('term.viewAs.list')}}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>

View file

@ -1,7 +1,7 @@
<div class="content-inner"> <div class="content-inner">
<div class="row"> <div class="row">
<div class="col" style="padding:0;"> <div class="col" style="padding:0;">
<h1 class="header-text">Artists</h1> <h1 class="header-text">{{app.getLz('term.artists')}}</h1>
</div> </div>
</div> </div>
@ -12,7 +12,7 @@
<input type="search" <input type="search"
style="width:100%;" style="width:100%;"
spellcheck="false" spellcheck="false"
placeholder="Search..." :placeholder="app.getLz('term.search') + '...'"
@input="searchLibraryArtists" @input="searchLibraryArtists"
v-model="library.artists.search" class="search-input"> v-model="library.artists.search" class="search-input">
</div> </div>
@ -28,9 +28,9 @@
</div> --> </div> -->
<div class="col"> <div class="col">
<select class="md-select" v-model="library.artists.sortOrder[1]" @change="searchLibraryArtists(1)"> <select class="md-select" v-model="library.artists.sortOrder[1]" @change="searchLibraryArtists(1)">
<optgroup label="Sort Order"> <optgroup :label="app.getLz('term.sortOrder')">
<option value="asc">Ascending</option> <option value="asc">{{app.getLz('term.sortOrder.ascending')}}</option>
<option value="desc">Descending</option> <option value="desc">{{app.getLz('term.sortOrder.descending')}}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>

View file

@ -2,7 +2,7 @@
<div class="content-inner"> <div class="content-inner">
<div class="row"> <div class="row">
<div class="col" style="padding:0;"> <div class="col" style="padding:0;">
<h1 class="header-text">Recently Added</h1> <h1 class="header-text">{{$root.getLz('term.recentlyAdded')}}</h1>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button v-if="library.albums.downloadState == 2" @click="getLibraryAlbumsFull(true, 0)" <button v-if="library.albums.downloadState == 2" @click="getLibraryAlbumsFull(true, 0)"
@ -16,7 +16,7 @@
<input type="search" <input type="search"
style="width:100%;" style="width:100%;"
spellcheck="false" spellcheck="false"
placeholder="Search..." :placeholder="$root.getLz('term.search') + '...'"
@input="searchLibraryAlbums" @input="searchLibraryAlbums"
v-model="library.albums.search" class="search-input"> v-model="library.albums.search" class="search-input">
</div> </div>
@ -26,17 +26,17 @@
<div class="col"> <div class="col">
<select class="md-select" v-model="library.albums.sortOrder[0]" <select class="md-select" v-model="library.albums.sortOrder[0]"
@change="searchLibraryAlbums(0)"> @change="searchLibraryAlbums(0)">
<optgroup label="Sort Order"> <optgroup :label="$root.getLz('term.sortOrder')">
<option value="asc">Ascending</option> <option value="asc">{{$root.getLz('term.sortOrder.ascending')}}</option>
<option value="desc">Descending</option> <option value="desc">{{$root.getLz('term.sortOrder.descending')}}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>
<div class="col"> <div class="col">
<select class="md-select" v-model="library.albums.viewAs"> <select class="md-select" v-model="library.albums.viewAs">
<optgroup label="View As"> <optgroup :label="$root.getLz('term.viewAs')">
<option value="covers">Cover Art</option> <option value="covers">{{$root.getLz('term.viewAs.coverArt')}}</option>
<option value="list">List</option> <option value="list">{{$root.getLz('term.viewAs.list')}}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>

View file

@ -10,7 +10,7 @@
<input type="search" <input type="search"
style="width:100%;" style="width:100%;"
spellcheck="false" spellcheck="false"
placeholder="Search..." :placeholder="app.getLz('term.search') + '...'"
@input="$root.searchLibrarySongs" @input="$root.searchLibrarySongs"
v-model="library.songs.search" class="search-input"> v-model="library.songs.search" class="search-input">
</div> </div>
@ -19,24 +19,24 @@
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<select class="md-select" v-model="prefs.sort" @change="$root.searchLibrarySongs()"> <select class="md-select" v-model="prefs.sort" @change="$root.searchLibrarySongs()">
<optgroup label="Sort By"> <optgroup :label="app.getLz('term.sortBy')">
<option v-for="(sort, index) in library.songs.sortingOptions" :value="index">{{ sort }}</option> <option v-for="(sort, index) in library.songs.sortingOptions" :value="index">{{ sort }}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>
<div class="col"> <div class="col">
<select class="md-select" v-model="prefs.sortOrder" @change="$root.searchLibrarySongs()"> <select class="md-select" v-model="prefs.sortOrder" @change="$root.searchLibrarySongs()">
<optgroup label="Sort Order"> <optgroup :label="app.getLz('term.sortOrder')">
<option value="asc">Ascending</option> <option value="asc">{{app.getLz('term.sortOrder.ascending')}}</option>
<option value="desc">Descending</option> <option value="desc">{{app.getLz('term.sortOrder.descending')}}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>
<div class="col"> <div class="col">
<select class="md-select" v-model="prefs.size" @change="$root.searchLibrarySongs()"> <select class="md-select" v-model="prefs.size" @change="$root.searchLibrarySongs()">
<optgroup label="Size"> <optgroup :label="app.getLz('term.size')">
<option value="normal">Normal</option> <option value="normal">{{app.getLz('term.size.normal')}}</option>
<option value="compact">Compact</option> <option value="compact">{{app.getLz('term.size.compact')}}</option>
</optgroup> </optgroup>
</select> </select>
</div> </div>
@ -68,7 +68,8 @@
return { return {
library: this.$root.library, library: this.$root.library,
mediaItemSize: "compact", mediaItemSize: "compact",
prefs: this.$root.cfg.libraryPrefs.songs prefs: this.$root.cfg.libraryPrefs.songs,
app : this.$root
} }
}, },
methods: { methods: {

View file

@ -1,6 +1,6 @@
<script type="text/x-template" id="cider-listen-now"> <script type="text/x-template" id="cider-listen-now">
<div class="content-inner"> <div class="content-inner">
<h1 class="header-text">Listen Now</h1> <h1 class="header-text">{{app.getLz('term.listenNow')}}</h1>
<template v-for="recom in data.data"> <template v-for="recom in data.data">
<listennow-child :recom="recom"></listennow-child> <listennow-child :recom="recom"></listennow-child>
</template> </template>
@ -10,6 +10,11 @@
<script> <script>
Vue.component('cider-listen-now', { Vue.component('cider-listen-now', {
template: "#cider-listen-now", template: "#cider-listen-now",
props: ["data"] props: ["data"],
data: function(){
return {
app : this.$root
}
}
}) })
</script> </script>

View file

@ -1,7 +1,7 @@
<div class="content-inner"> <div class="content-inner">
<div class="row"> <div class="row">
<div class="col" style="padding:0"> <div class="col" style="padding:0">
<h1 class="header-text">Made For You</h1> <h1 class="header-text">{{$root.getLz('home.madeForYou')}}</h1>
</div> </div>
</div> </div>
<div class="madeforyou-body"> <div class="madeforyou-body">

View file

@ -33,7 +33,7 @@
<h3>{{ data.views["latest-releases"].attributes.title ?? ""}}</h3> <h3>{{ data.views["latest-releases"].attributes.title ?? ""}}</h3>
</div> </div>
<div class="col-auto flex-center" v-if="data.views['latest-releases'].data.length >= 10"> <div class="col-auto flex-center" v-if="data.views['latest-releases'].data.length >= 10">
<button class="cd-btn-seeall" @click="app.showRecordLabelView(data.id, data.attributes.name + ' - Latest Releases', 'latest-releases')">See All</button> <button class="cd-btn-seeall" @click="app.showRecordLabelView(data.id, data.attributes.name + ' - Latest Releases', 'latest-releases')">{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<mediaitem-square :item="item" v-for="item in data.views['latest-releases'].data"> <mediaitem-square :item="item" v-for="item in data.views['latest-releases'].data">
@ -45,7 +45,7 @@
<h3>{{ data.views["top-releases"].attributes.title ?? ""}}</h3> <h3>{{ data.views["top-releases"].attributes.title ?? ""}}</h3>
</div> </div>
<div class="col-auto flex-center" v-if="data.views['top-releases'].data.length >= 10"> <div class="col-auto flex-center" v-if="data.views['top-releases'].data.length >= 10">
<button class="cd-btn-seeall" @click="app.showRecordLabelView(data.id, data.attributes.name + ' - Top Releases', 'top-releases')">See All</button> <button class="cd-btn-seeall" @click="app.showRecordLabelView(data.id, data.attributes.name + ' - Top Releases', 'top-releases')">{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<mediaitem-square :item="item" v-for="item in data.views['top-releases'].data"> <mediaitem-square :item="item" v-for="item in data.views['top-releases'].data">
@ -57,7 +57,7 @@
<h3>Playlists</h3> <h3>Playlists</h3>
</div> </div>
<div class="col-auto flex-center" v-if="data.relationships.playlists.data.length >= 5"> <div class="col-auto flex-center" v-if="data.relationships.playlists.data.length >= 5">
<button class="cd-btn-seeall" @click="app.showCollection(data.relationships.playlists, data.attributes.name + ' - Playlists', 'curator')">See All</button> <button class="cd-btn-seeall" @click="app.showCollection(data.relationships.playlists, data.attributes.name + ' - Playlists', 'curator')">{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<mediaitem-square :item="item" v-for="item in data.relationships.playlists.data.limit(5)"> <mediaitem-square :item="item" v-for="item in data.relationships.playlists.data.limit(5)">

View file

@ -20,7 +20,7 @@
<div class="col-auto flex-center" <div class="col-auto flex-center"
@click="app.showSearchView(app.search.term, 'song', app.friendlyTypes('song'))" @click="app.showSearchView(app.search.term, 'song', app.friendlyTypes('song'))"
v-if="search.results.song.data.length >= 6"> v-if="search.results.song.data.length >= 6">
<button class="cd-btn-seeall">See All</button> <button class="cd-btn-seeall">{{app.getLz('term.seeAll')}}</button>
</div> </div>
</div> </div>
<div> <div>
@ -61,7 +61,7 @@
</div> </div>
<div class="col-auto flex-center" v-if="search.resultsSocial.playlist.data.length >= 10"> <div class="col-auto flex-center" v-if="search.resultsSocial.playlist.data.length >= 10">
<button class="cd-btn-seeall" <button class="cd-btn-seeall"
@click="app.showCollection(search.resultsSocial.playlist, 'Shared Playlists', 'default')">See All @click="app.showCollection(search.resultsSocial.playlist, 'Shared Playlists', 'default')">{{app.getLz('term.seeAll')}}
</button> </button>
</div> </div>
</div> </div>
@ -75,7 +75,7 @@
</div> </div>
<div class="col-auto flex-center" v-if="search.resultsSocial.profile.data.length >= 10"> <div class="col-auto flex-center" v-if="search.resultsSocial.profile.data.length >= 10">
<button class="cd-btn-seeall" <button class="cd-btn-seeall"
@click="app.showCollection(search.resultsSocial.profile, 'People', 'default')">See All @click="app.showCollection(search.resultsSocial.profile, 'People', 'default')">{{app.getLz('term.seeAll')}}
</button> </button>
</div> </div>
</div> </div>