Files
youtube-music/plugins/quality-changer/front.js
Araxeus 768ec7bda7 v2
2022-04-10 19:19:20 +03:00

41 lines
1.3 KiB
JavaScript

const { ElementFromFile, templatePath } = require("../utils");
const { dialog } = require('@electron/remote');
function $(selector) { return document.querySelector(selector); }
const qualitySettingsButton = ElementFromFile(
templatePath(__dirname, "qualitySettingsTemplate.html")
);
module.exports = () => {
document.addEventListener('apiLoaded', setup, { once: true, passive: true });
}
function setup(event) {
const api = event.detail;
$('.top-row-buttons.ytmusic-player').prepend(qualitySettingsButton);
qualitySettingsButton.onclick = function chooseQuality() {
setTimeout(() => $('#player').click());
const currentIndex = api.getAvailableQualityLevels().indexOf(api.getPlaybackQuality())
dialog.showMessageBox({
type: "question",
buttons: api.getAvailableQualityLabels(),
defaultId: currentIndex,
title: "Choose Video Quality",
message: "Choose Video Quality:",
detail: `Current Quality: ${api.getAvailableQualityLabels()[currentIndex]}`,
cancelId: -1
}).then((promise) => {
if (promise.response === -1) return;
const newQuality = api.getAvailableQualityLevels()[promise.response];
api.setPlaybackQualityRange(newQuality);
api.setPlaybackQuality(newQuality)
})
}
}