Merge branch 'upcoming' of https://github.com/ciderapp/Cider into upcoming

This commit is contained in:
vapormusic 2022-01-28 21:42:25 +07:00
commit 7aeff80ce4
6 changed files with 50 additions and 32 deletions

View file

@ -2139,7 +2139,7 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
} }
.md-btn { .md-btn {
background: rgba(100, 100, 100, 0.5); background: rgb(100 100 100 / 25%);
padding: 8px 14px; padding: 8px 14px;
border-radius: 6px; border-radius: 6px;
font-size: 14px; font-size: 14px;
@ -2161,8 +2161,10 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
} }
&.md-btn-primary { &.md-btn-primary {
background: var(--keyColor); background: rgb(255 43 82 / 50%);
color: white; color: white;
border: 1px solid rgb(220 53 69 / 25%);
border-top: 1px solid rgb(220 53 69 / 50%);
} }
&:hover { &:hover {
@ -2230,11 +2232,11 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
padding: 6px; padding: 6px;
border-radius: 6px; border-radius: 6px;
border: 1px solid rgba(200, 200, 200, 0.1); border: 1px solid rgba(200, 200, 200, 0.1);
border-top: 1px solid rgba(100, 100, 100, 0.5);
font-family: inherit; font-family: inherit;
font-size: 14px; font-size: 14px;
background: rgba(100, 100, 100, 0.25); background: rgba(100, 100, 100, 0.25);
color: #c8c8c8; color: #eee;
font-weight: 500;
option { option {
font-size: 1em; font-size: 1em;

View file

@ -1,18 +1,15 @@
<script type="text/x-template" id="add-to-playlist"> <script type="text/x-template" id="add-to-playlist">
<template> <template>
<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">{{app.getLz('action.addToLibrary')}}</div> <div class="modal-title">{{app.getLz('action.addToPlaylist')}}</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">
<button class="playlist-item" <sidebar-playlist :playlist-select="playlistSelect" v-for="item in $root.getPlaylistFolderChildren('p.playlistsroot')" :item="item">
:class="{ focused: playlist.id == focused }" </sidebar-playlist>
@click="addToPlaylist(playlist.id)" style="width:100%;" v-for="playlist in playlistSorted" v-if="playlist.attributes.canEdit && playlist.type != 'library-playlist-folders'">
<div class="icon"><%- include("../svg/playlist.svg") %></div>
<div class="name">{{ playlist.attributes.name }}</div>
</button>
</div> </div>
<div class="modal-search"> <div class="modal-search">
<div class="search-input-container" style="width:100%;margin: 16px 0;"> <div class="search-input-container" style="width:100%;margin: 16px 0;">
@ -61,6 +58,11 @@
}) })
}, },
methods: { methods: {
playlistSelect(playlist) {
if(playlist.type != "library-playlist-folders") {
this.addToPlaylist(playlist.id)
}
},
addToPlaylist(id) { addToPlaylist(id) {
app.addSelectedToPlaylist(id) app.addSelectedToPlaylist(id)
}, },

View file

@ -1,11 +1,10 @@
<script type="text/x-template" id="mediaitem-artwork"> <script type="text/x-template" id="mediaitem-artwork">
<div class="mediaitem-artwork" :class="[{'rounded': (type == 'artists')}, classes]" :key="url" <div class="mediaitem-artwork" :class="[{'rounded': (type == 'artists')}, classes]" :key="url">
v-observe-visibility="{callback: visibilityChanged}">
<img :src="app.getMediaItemArtwork(url, size, width)" <img :src="app.getMediaItemArtwork(url, size, width)"
decoding="async" loading="lazy" decoding="async"
:style="{background: bgcolor}" :style="{background: bgcolor}"
class="mediaitem-artwork--img"> class="mediaitem-artwork--img">
<div v-if="video && isVisible && getVideoPriority()" class="animatedartwork-view-box"> <div v-if="video && getVideoPriority()" class="animatedartwork-view-box">
<animatedartwork-view :priority="getVideoPriority()" :video="video"></animatedartwork-view> <animatedartwork-view :priority="getVideoPriority()" :video="video"></animatedartwork-view>
</div> </div>
</div> </div>
@ -93,9 +92,6 @@
width: this.size + 'px', width: this.size + 'px',
height: this.size + 'px' height: this.size + 'px'
}; };
},
visibilityChanged: function (isVisible, entry) {
this.isVisible = isVisible
} }
} }
}); });

View file

@ -7,7 +7,7 @@
@dragover="dragOver" @dragover="dragOver"
@drop="onDrop" @drop="onDrop"
:href="item.href" :href="item.href"
@click='item.type != "library-playlist-folders" ? openPlaylist(item) : getPlaylistChildren(item)'> @click='clickEvent()'>
<template v-if="!renaming"> <template v-if="!renaming">
<div class="sidebar-icon" v-html="icon"></div> {{ item.attributes.name }} <div class="sidebar-icon" v-html="icon"></div> {{ item.attributes.name }}
</template> </template>
@ -15,7 +15,7 @@
</button> </button>
<div class="folder-body" v-if="item.type === 'library-playlist-folders' && folderOpened"> <div class="folder-body" v-if="item.type === 'library-playlist-folders' && folderOpened">
<template v-if="children.length != 0"> <template v-if="children.length != 0">
<sidebar-playlist v-for="item in children" :item="item" :key="item.id"></sidebar-playlist> <sidebar-playlist v-for="item in children" :playlist-select="playlistSelect" :item="item" :key="item.id"></sidebar-playlist>
</template> </template>
<template v-else> <template v-else>
<div class="spinner"></div> <div class="spinner"></div>
@ -31,6 +31,10 @@
item: { item: {
type: Object, type: Object,
required: true required: true
},
playlistSelect: {
type: Function,
required: false
} }
}, },
data: function () { data: function () {
@ -50,6 +54,17 @@
} }
}, },
methods: { methods: {
clickEvent() {
if(this.item.type != "library-playlist-folders") {
if(this.playlistSelect) {
this.playlistSelect(this.item)
}else{
this.openPlaylist(this.item)
}
}else{
this.getPlaylistChildren(this.item)
}
},
rename() { rename() {
this.renaming = false this.renaming = false

View file

@ -62,11 +62,11 @@
</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 md-btn-icon" style="min-width: 100px;" <button class="md-btn md-btn-primary md-btn-icon" 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">
{{app.getLz('term.play')}} {{app.getLz('term.play')}}
</button> </button>
<button class="md-btn md-btn-icon" style="min-width: 100px;" <button class="md-btn md-btn-primary md-btn-icon" 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">
{{app.getLz('term.shuffle')}} {{app.getLz('term.shuffle')}}
</button> </button>
@ -98,11 +98,11 @@
</div> </div>
<div class="col-auto flex-center"> <div class="col-auto flex-center">
<div> <div>
<button class="md-btn md-btn-icon" style="min-width: 100px;" <button class="md-btn md-btn-primary md-btn-icon" 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">
{{app.getLz('term.play')}} {{app.getLz('term.play')}}
</button> </button>
<button class="md-btn md-btn-icon" style="min-width: 100px;" <button class="md-btn md-btn-primary md-btn-icon" 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">
{{app.getLz('term.shuffle')}} {{app.getLz('term.shuffle')}}
</button> </button>

View file

@ -40,9 +40,10 @@
<div class="md-option-segment"> <div class="md-option-segment">
{{$root.getLz('term.equalizer')}} {{$root.getLz('term.equalizer')}}
</div> </div>
<div class="md-option-segment md-btn md-option-segment_auto"> <div class="md-option-segment md-option-segment_auto">
<label class="list-button list-element" <button class="md-btn" onclick="app.modals.equalizer = true">
onclick="app.modals.equalizer = true">{{$root.getLz('term.equalizer')}}</label> {{$root.getLz('term.equalizer')}}
</button>
</div> </div>
</div> </div>
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext"> <div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
@ -475,9 +476,11 @@
<div class="md-option-segment"> <div class="md-option-segment">
{{$root.getLz('settings.option.connectivity.lastfmScrobble')}} {{$root.getLz('settings.option.connectivity.lastfmScrobble')}}
</div> </div>
<div class="md-option-segment md-btn md-option-segment_auto"> <div class="md-option-segment md-option-segment_auto">
<label class="list-button list-element" id="lfmConnect" ref="lfmConnect" <button class="md-btn" id="lfmConnect" ref="lfmConnect"
onclick="app.LastFMAuthenticate()">{{$root.getLz('term.connect')}}</label> onclick="app.LastFMAuthenticate()">
{{$root.getLz('term.connect')}}
</button>
</div> </div>
</div> </div>
<div class="md-option-line" v-show ="app.cfg.lastfm.enabled"> <div class="md-option-line" v-show ="app.cfg.lastfm.enabled">