Finished implementing Album/Artist/Playlist tab
This commit is contained in:
parent
55e002b9c9
commit
5564ef5092
@ -66,7 +66,7 @@ table {
|
||||
-webkit-border-vertical-spacing: 0px;
|
||||
}
|
||||
|
||||
table td {
|
||||
table td, table th {
|
||||
padding: 4px 12px 4px 5px;
|
||||
vertical-align: middle;
|
||||
border: 0px black solid;
|
||||
@ -146,6 +146,15 @@ button.selective.active {
|
||||
color: var(--accent-text);
|
||||
}
|
||||
|
||||
button.with_icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
button.with_icon i {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
input[type="number"] {
|
||||
@ -234,6 +243,7 @@ th.sort-desc:after {content: "\25bc";font-size: 0.7em;padding-left: 3px;line-hei
|
||||
display: inline-block;
|
||||
background-color: var(--accent-color);
|
||||
color: var(--accent-text);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fab i{
|
||||
font-size: 24px;
|
||||
|
@ -4,3 +4,14 @@
|
||||
padding: 220px 24px 8px;
|
||||
border-radius: 8px 8px 0px 0px;
|
||||
}
|
||||
|
||||
.image_header header h1,
|
||||
.image_header header h2{
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.image_header header h2{
|
||||
margin: 0px;
|
||||
font-size: 18px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
@ -482,6 +482,7 @@ <h1>{{ title }}</h1>
|
||||
<thead>
|
||||
<tr>
|
||||
<th v-for="data in head" v-on:click="data.sortKey ? sortBy(data.sortKey) : null"
|
||||
v-bind:style="{ 'width': data.width ? data.width : 'auto'}"
|
||||
v-bind:class="{ 'sort-asc': data.sortKey == sortKey && sortOrder == 'asc', 'sort-desc': data.sortKey == sortKey && sortOrder == 'desc', 'sortable': data.sortKey, 'clickable': data.sortKey }">
|
||||
{{data.title}}
|
||||
</th>
|
||||
@ -512,15 +513,15 @@ <h1>{{ title }}</h1>
|
||||
<div id="tracklist_tab" class="main_tabcontent fixed_footer image_header">
|
||||
<header
|
||||
v-bind:style="{ 'background-image': 'linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(\''+image+'\')' }">
|
||||
<h1>{{ title }} <i v-if="explicit" class="material-icons">explicit</i></h1>
|
||||
<h2><span v-if="metadata">{{ metadata }}</span><span v-if="release_date">{{ release_date }}</span></h2>
|
||||
<h1 class="inline-flex">{{ title }} <i v-if="explicit" class="material-icons">explicit</i></h1>
|
||||
<h2 class="inline-flex"><span v-if="metadata">{{ metadata }}</span><span class="right" v-if="release_date">{{ release_date }}</span></h2>
|
||||
</header>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th v-for="data in head" v-html="data.title"></th>
|
||||
<th><input v-on:click="toggleAll(event)" class="selectAll" type="checkbox"></th>
|
||||
<th v-for="data in head" v-html="data.title" v-bind:style="{ 'width': data.width ? data.width : 'auto'}"></th>
|
||||
<th style="width: 32px"><input v-on:click="toggleAll(event)" class="selectAll" type="checkbox"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -528,7 +529,7 @@ <h2><span v-if="metadata">{{ metadata }}</span><span v-if="release_date">{{ rele
|
||||
<tr v-if="track.type == 'track'">
|
||||
<td><i class="material-icons">play_arrow</i></td>
|
||||
<td>{{ track.track_position }}</td>
|
||||
<td><i v-if="track.explicit_lyrics" class="material-icons">explicit</i>{{ track.title }} <span
|
||||
<td class="inline-flex"><i v-if="track.explicit_lyrics" class="material-icons">explicit</i>{{ track.title }} <span
|
||||
v-if="track.title_version">{{track.title_version}}</span></td>
|
||||
<td class="clickable" v-on:click="artistView(event)" v-bind:data-id="track.artist.id">
|
||||
{{ track.artist.name }}</td>
|
||||
@ -549,9 +550,9 @@ <h2><span v-if="metadata">{{ metadata }}</span><span v-if="release_date">{{ rele
|
||||
<footer>
|
||||
<button v-on:contextmenu="openQualityModal(event)" v-on:click="addToQueue(event)"
|
||||
v-bind:data-link="link">Download {{ type }}</button>
|
||||
<button v-on:contextmenu="openQualityModal(event)" v-on:click="addToQueue(event)"
|
||||
<button class="with_icon" v-on:contextmenu="openQualityModal(event)" v-on:click="addToQueue(event)"
|
||||
v-bind:data-link="selectedLinks()">Download selection<i
|
||||
class="material-icons right">file_download</i></button>
|
||||
class="material-icons">file_download</i></button>
|
||||
<button onclick="backTab()">Back</button>
|
||||
</footer>
|
||||
</div>
|
||||
|
@ -434,7 +434,7 @@ socket.on('show_artist', function (data) {
|
||||
artistTab.head = [
|
||||
{ title: 'Title', sortKey: 'title' },
|
||||
{ title: 'Release Date', sortKey: 'release_date' },
|
||||
{ title: '', width: '56px' }
|
||||
{ title: '', width: '32px' }
|
||||
]
|
||||
if (_.isEmpty(data.releases)) {
|
||||
artistTab.body = null
|
||||
@ -512,7 +512,7 @@ window.search = function (type) {
|
||||
}
|
||||
|
||||
window.scrolledSearch = function (type) {
|
||||
query = MainSearch.results.query
|
||||
let query = MainSearch.results.query
|
||||
if (MainSearch.results[type + 'Tab'].next < MainSearch.results[type + 'Tab'].total) {
|
||||
socket.emit('search', {
|
||||
term: query,
|
||||
|
Loading…
Reference in New Issue
Block a user