Added quality select modal to download buttons

This commit is contained in:
RemixDev
2020-04-16 13:38:59 +02:00
parent 7afa9ddefe
commit ee2f43fa56
5 changed files with 90 additions and 20 deletions

View File

@@ -166,7 +166,7 @@ socket.on("logged_out", function(){
var settingsTab = new Vue({
el: '#settings_tab',
data: {
settings: {},
settings: {tags: {}},
spotifyFeatures: {}
}
})
@@ -217,3 +217,27 @@ function changeTab(evt, section, tabName) {
scrolledSearch(window[search_selected.split("_")[0]+"Search"])
}
}
// quality modal stuff
var modalQuality = document.getElementById('modal_quality');
modalQuality.open = false
function openQualityModal(link){
$(modalQuality).data("url", link)
$(modalQuality).css('display', 'block')
$(modalQuality).addClass('animated fadeIn')
}
function modalQualityButton(bitrate){
var url=$(modalQuality).data("url")
if (url.indexOf(";") != -1){
urls = url.split(";")
urls.forEach(url=>{
sendAddToQueue(url, bitrate)
})
}else{
sendAddToQueue(url, bitrate)
}
$(modalQuality).addClass('animated fadeOut')
$(modalQuality).css('display', 'none')
}

View File

@@ -10,14 +10,14 @@ socket.on("init_downloadQueue", function(data){
})
}
if (data.currentItem){
addToQueue(data['queueList'][data.currentItem])
addToQueue(data['queueList'][data.currentItem], true)
}
data.queue.forEach(item=>{
addToQueue(data.queueList[item])
})
})
function addToQueue(queueItem){
function addToQueue(queueItem, current=false){
queueList[queueItem.uuid] = queueItem
if ((queueItem.downloaded + queueItem.failed) == queueItem.size)
queueComplete.push(queueItem.uuid)
@@ -40,7 +40,7 @@ function addToQueue(queueItem){
<i onclick="downloadAction(event)" class="material-icons queue_icon" data-uuid="${queueItem.uuid}">remove</i>
</div>
</div>`)
if (queueItem.progress>0){
if (queueItem.progress>0 || current){
$('#bar_' + queueItem.uuid).removeClass('indeterminate').addClass('determinate')
}
$('#bar_' +queueItem.uuid).css('width', queueItem.progress + '%')

View File

@@ -71,7 +71,8 @@ var mainSearch = new Vue({
if (section != "TOP_RESULT")
clickElement('search_'+section.toLowerCase()+'_tab')
},
addToQueue: function(url){sendAddToQueue(url)}
addToQueue: function(e){sendAddToQueue(e.currentTarget.dataset.link)},
openQualityModal: function(e){e.preventDefault(); openQualityModal(e.currentTarget.dataset.link)}
}
})
@@ -88,7 +89,8 @@ var trackSearch = new Vue({
}
},
methods: {
addToQueue: function(url){sendAddToQueue(url)}
addToQueue: function(e){sendAddToQueue(e.currentTarget.dataset.link)},
openQualityModal: function(e){e.preventDefault(); openQualityModal(e.currentTarget.dataset.link)}
}
})
@@ -105,7 +107,8 @@ var albumSearch = new Vue({
}
},
methods: {
addToQueue: function(url){sendAddToQueue(url)}
addToQueue: function(e){sendAddToQueue(e.currentTarget.dataset.link)},
openQualityModal: function(e){e.preventDefault(); openQualityModal(e.currentTarget.dataset.link)}
}
})
@@ -122,7 +125,8 @@ var artistSearch = new Vue({
}
},
methods: {
addToQueue: function(url){sendAddToQueue(url)}
addToQueue: function(e){sendAddToQueue(e.currentTarget.dataset.link)},
openQualityModal: function(e){e.preventDefault(); openQualityModal(e.currentTarget.dataset.link)}
}
})
@@ -139,7 +143,8 @@ var playlistSearch = new Vue({
}
},
methods: {
addToQueue: function(url){sendAddToQueue(url)}
addToQueue: function(e){sendAddToQueue(e.currentTarget.dataset.link)},
openQualityModal: function(e){e.preventDefault(); openQualityModal(e.currentTarget.dataset.link)}
}
})