mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-11 02:31:45 +00:00
Use metadata URL in downloader (fallback to current URL)
This commit is contained in:
@ -35,7 +35,7 @@ const reinit = () => {
|
||||
// contextBridge.exposeInMainWorld("downloader", {
|
||||
// download: () => {
|
||||
global.download = () => {
|
||||
const videoUrl = window.location.href;
|
||||
const videoUrl = global.songInfo.url || window.location.href;
|
||||
|
||||
downloadVideoToMP3(
|
||||
videoUrl,
|
||||
|
||||
@ -7,16 +7,28 @@ const is = require("electron-is");
|
||||
const ytpl = require("ytpl");
|
||||
|
||||
const { setOptions } = require("../../config/plugins");
|
||||
const getSongInfo = require("../../providers/song-info");
|
||||
const { sendError } = require("./back");
|
||||
const { defaultMenuDownloadLabel, getFolder } = require("./utils");
|
||||
|
||||
let downloadLabel = defaultMenuDownloadLabel;
|
||||
let metadataURL = undefined;
|
||||
let callbackIsRegistered = false;
|
||||
|
||||
module.exports = (win, options, refreshMenu) => [
|
||||
module.exports = (win, options, refreshMenu) => {
|
||||
if (!callbackIsRegistered) {
|
||||
const registerCallback = getSongInfo(win);
|
||||
registerCallback((info) => {
|
||||
metadataURL = info.url;
|
||||
});
|
||||
callbackIsRegistered = true;
|
||||
}
|
||||
|
||||
return [
|
||||
{
|
||||
label: downloadLabel,
|
||||
click: async () => {
|
||||
const currentURL = win.webContents.getURL();
|
||||
const currentURL = metadataURL || win.webContents.getURL();
|
||||
const playlistID = new URL(currentURL).searchParams.get("list");
|
||||
if (!playlistID) {
|
||||
sendError(win, new Error("No playlist ID found"));
|
||||
@ -75,3 +87,4 @@ module.exports = (win, options, refreshMenu) => [
|
||||
},
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user