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.coverArt": "Cover Art",
"term.viewAs.list": "List",
"term.size": "Size",
"term.size.normal": "Normal",
"term.size.compact": "Compact",
"term.enable": "Enable",
@ -67,6 +68,19 @@
"term.enabled": "Enabled",
"term.disabled": "Disabled",
"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.title": "Home",
@ -92,6 +106,7 @@
"action.removeFromQueue.success": "Removed from Queue",
"action.removeFromQueue.error": "Error Removing from Queue",
"action.addToPlaylist": "Add to Playlist",
"action.removeFromPlaylist": "Remove from Playlist",
"action.addToFavorites": "Add to Favorites",
"action.follow": "Follow",
"action.follow.success": "Followed",

View file

@ -3155,7 +3155,7 @@ const app = new Vue({
headerItems: [{
"icon": "./assets/feather/heart.svg",
"id": "love",
"name": "Love",
"name": app.getLz('action.love'),
"hidden": false,
"disabled": true,
"action": function() {
@ -3166,7 +3166,7 @@ const app = new Vue({
"icon": "./assets/feather/heart.svg",
"id": "unlove",
"active": true,
"name": "Unlove",
"name": app.getLz('action.unlove'),
"hidden": true,
"action": function() {
app.unlove(app.mk.nowPlayingItem)
@ -3175,7 +3175,7 @@ const app = new Vue({
{
"icon": "./assets/feather/thumbs-down.svg",
"id": "dislike",
"name": "Dislike",
"name": app.getLz('action.dislike'),
"hidden": false,
"disabled": true,
"action": function() {
@ -3185,7 +3185,7 @@ const app = new Vue({
{
"icon": "./assets/feather/thumbs-down.svg",
"id": "undo_dislike",
"name": "Undo dislike",
"name": app.getLz('action.undoDislike'),
"active": true,
"hidden": true,
"action": function() {
@ -3195,7 +3195,7 @@ const app = new Vue({
],
items: [{
"icon": "./assets/feather/list.svg",
"name": "Add to Playlist...",
"name": app.getLz('action.addToPlaylist')+" ...",
"action": function() {
app.promptAddToPlaylist()
}
@ -3203,7 +3203,7 @@ const app = new Vue({
{
"icon": "./assets/feather/plus.svg",
"id": "addToLibrary",
"name": "Add to Library...",
"name": app.getLz('action.addToLibrary')+" ...",
"disabled": false,
"action": function() {
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-window">
<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>
</div>
<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-window">
<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>
</div>
<div class="modal-content">
@ -21,7 +21,7 @@
ref="searchInput"
style="width:100%;"
spellcheck="false"
placeholder="Search..."
:placeholder="app.getLz('term.search') + '...'"
v-model="searchQuery"
@input="search()"
class="search-input">

View file

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

View file

@ -6,7 +6,7 @@
<h3>{{ recom.attributes.title ? recom.attributes.title.stringForDisplay : ""}}</h3>
</div>
<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>
<template v-if="recom.attributes.display.kind == 'MusicCoverShelf'">

View file

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

View file

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

View file

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

View file

@ -2,7 +2,7 @@
<div class="queue-panel">
<div class="row">
<div class="col">
<h3 class="queue-header-text">Queue</h3>
<h3 class="queue-header-text">{{app.getLz('term.queue')}}</h3>
</div>
<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>
@ -76,7 +76,7 @@
let menus = {
single: {
items: [{
"name": "Remove from queue",
"name": app.getLz('action.removeFromQueue'),
"action": function () {
self.queueItems.splice(position, 1)
app.mk.queue._queueItems = self.queueItems;
@ -84,7 +84,7 @@
}
},
{
"name": "Start Radio",
"name": app.getLz('action.startRadio'),
"action": function () {
app.mk.setStationQueue({
song: item.attributes.playParams.id ?? item.id

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -15,7 +15,7 @@
</template>
</template>
<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>
</div>
<transition name="fabfade">
@ -51,7 +51,8 @@
showFab: false,
commonKind: "song",
api: this.$root.mk.api,
loading: false
loading: false,
app: this.$root,
}
},
methods: {

View file

@ -18,7 +18,7 @@
<h3>Your Artists Feed</h3>
</div>
<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 class="well artistfeed-well" style="margin-top:0;">
@ -60,7 +60,7 @@
<h3>Friends Listening To</h3>
</div>
<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 class="well">

View file

@ -2,7 +2,7 @@
<div class="content-inner">
<div class="row">
<div class="col" style="padding:0;">
<h1 class="header-text">Albums</h1>
<h1 class="header-text">{{$root.getLz('term.albums')}}</h1>
</div>
<div class="col-auto">
<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"
style="width:100%;"
spellcheck="false"
placeholder="Search..."
:placeholder="$root.getLz('term.search') + '...'"
@input="searchLibraryAlbums"
v-model="library.albums.search" class="search-input">
</div>
@ -24,24 +24,24 @@
<div class="row">
<div class="col">
<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>
</optgroup>
</select>
</div>
<div class="col">
<select class="md-select" v-model="library.albums.sortOrder[1]" @change="searchLibraryAlbums(1)">
<optgroup label="Sort Order">
<option value="asc">Ascending</option>
<option value="desc">Descending</option>
<optgroup :label="$root.getLz('term.sortOrder')">
<option value="asc">{{$root.getLz('term.sortOrder.ascending')}}</option>
<option value="desc">{{$root.getLz('term.sortOrder.descending')}}</option>
</optgroup>
</select>
</div>
<div class="col">
<select class="md-select" v-model="library.albums.viewAs">
<optgroup label="View As">
<option value="covers">Cover Art</option>
<option value="list">List</option>
<optgroup :label="$root.getLz('term.viewAs')">
<option value="covers">{{$root.getLz('term.viewAs.coverArt')}}</option>
<option value="list">{{$root.getLz('term.viewAs.list')}}</option>
</optgroup>
</select>
</div>

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
<script type="text/x-template" id="cider-listen-now">
<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">
<listennow-child :recom="recom"></listennow-child>
</template>
@ -10,6 +10,11 @@
<script>
Vue.component('cider-listen-now', {
template: "#cider-listen-now",
props: ["data"]
props: ["data"],
data: function(){
return {
app : this.$root
}
}
})
</script>

View file

@ -1,7 +1,7 @@
<div class="content-inner">
<div class="row">
<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 class="madeforyou-body">

View file

@ -33,7 +33,7 @@
<h3>{{ data.views["latest-releases"].attributes.title ?? ""}}</h3>
</div>
<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>
<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>
</div>
<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>
<mediaitem-square :item="item" v-for="item in data.views['top-releases'].data">
@ -57,7 +57,7 @@
<h3>Playlists</h3>
</div>
<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>
<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"
@click="app.showSearchView(app.search.term, 'song', app.friendlyTypes('song'))"
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>
@ -61,7 +61,7 @@
</div>
<div class="col-auto flex-center" v-if="search.resultsSocial.playlist.data.length >= 10">
<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>
</div>
</div>
@ -75,7 +75,7 @@
</div>
<div class="col-auto flex-center" v-if="search.resultsSocial.profile.data.length >= 10">
<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>
</div>
</div>