mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-13 11:21:46 +00:00
chore: improve readability
This commit is contained in:
@ -23,15 +23,15 @@ import {
|
||||
} from '@/utils/trusted-types';
|
||||
|
||||
import type { PluginConfig } from '@/types/plugins';
|
||||
import type { YoutubePlayer } from '@/types/youtube-player';
|
||||
import type { MusicPlayer } from '@/types/music-player';
|
||||
import type { QueueElement } from '@/types/queue';
|
||||
import type { QueueResponse } from '@/types/youtube-music-desktop-internal';
|
||||
import type { YouTubeMusicAppElement } from '@/types/youtube-music-app-element';
|
||||
import type { QueueResponse } from '@/types/music-player-desktop-internal';
|
||||
import type { MusicPlayerAppElement } from '@/types/music-player-app-element';
|
||||
import type { SearchBoxElement } from '@/types/search-box-element';
|
||||
|
||||
setTheme('dark');
|
||||
|
||||
let api: (Element & YoutubePlayer) | null = null;
|
||||
let api: (Element & MusicPlayer) | null = null;
|
||||
let isPluginLoaded = false;
|
||||
let isApiLoaded = false;
|
||||
let firstDataLoaded = false;
|
||||
@ -70,29 +70,29 @@ async function onApiLoaded() {
|
||||
window.dispatchEvent(new Event('resize')),
|
||||
);
|
||||
|
||||
window.ipcRenderer.on('ytmd:previous-video', () => {
|
||||
window.ipcRenderer.on('peard:previous-video', () => {
|
||||
document
|
||||
.querySelector<HTMLElement>('.previous-button.ytmusic-player-bar')
|
||||
?.click();
|
||||
});
|
||||
window.ipcRenderer.on('ytmd:next-video', () => {
|
||||
window.ipcRenderer.on('peard:next-video', () => {
|
||||
document
|
||||
.querySelector<HTMLElement>('.next-button.ytmusic-player-bar')
|
||||
?.click();
|
||||
});
|
||||
window.ipcRenderer.on('ytmd:play', (_) => {
|
||||
window.ipcRenderer.on('peard:play', (_) => {
|
||||
api?.playVideo();
|
||||
});
|
||||
window.ipcRenderer.on('ytmd:pause', (_) => {
|
||||
window.ipcRenderer.on('peard:pause', (_) => {
|
||||
api?.pauseVideo();
|
||||
});
|
||||
window.ipcRenderer.on('ytmd:toggle-play', (_) => {
|
||||
window.ipcRenderer.on('peard:toggle-play', (_) => {
|
||||
if (api?.getPlayerState() === 2) api?.playVideo();
|
||||
else api?.pauseVideo();
|
||||
});
|
||||
window.ipcRenderer.on('ytmd:seek-to', (_, t: number) => api!.seekTo(t));
|
||||
window.ipcRenderer.on('ytmd:seek-by', (_, t: number) => api!.seekBy(t));
|
||||
window.ipcRenderer.on('ytmd:shuffle', () => {
|
||||
window.ipcRenderer.on('peard:seek-to', (_, t: number) => api!.seekTo(t));
|
||||
window.ipcRenderer.on('peard:seek-by', (_, t: number) => api!.seekBy(t));
|
||||
window.ipcRenderer.on('peard:shuffle', () => {
|
||||
document
|
||||
.querySelector<
|
||||
HTMLElement & { queue: { shuffle: () => void } }
|
||||
@ -109,12 +109,12 @@ async function onApiLoaded() {
|
||||
return isShuffled !== null;
|
||||
};
|
||||
|
||||
window.ipcRenderer.on('ytmd:get-shuffle', () => {
|
||||
window.ipcRenderer.send('ytmd:get-shuffle-response', isShuffled());
|
||||
window.ipcRenderer.on('peard:get-shuffle', () => {
|
||||
window.ipcRenderer.send('peard:get-shuffle-response', isShuffled());
|
||||
});
|
||||
|
||||
window.ipcRenderer.on(
|
||||
'ytmd:update-like',
|
||||
'peard:update-like',
|
||||
(_, status: 'LIKE' | 'DISLIKE' = 'LIKE') => {
|
||||
document
|
||||
.querySelector<
|
||||
@ -123,7 +123,7 @@ async function onApiLoaded() {
|
||||
?.updateLikeStatus(status);
|
||||
},
|
||||
);
|
||||
window.ipcRenderer.on('ytmd:switch-repeat', (_, repeat = 1) => {
|
||||
window.ipcRenderer.on('peard:switch-repeat', (_, repeat = 1) => {
|
||||
for (let i = 0; i < repeat; i++) {
|
||||
document
|
||||
.querySelector<
|
||||
@ -132,7 +132,7 @@ async function onApiLoaded() {
|
||||
?.onRepeatButtonClick();
|
||||
}
|
||||
});
|
||||
window.ipcRenderer.on('ytmd:update-volume', (_, volume: number) => {
|
||||
window.ipcRenderer.on('peard:update-volume', (_, volume: number) => {
|
||||
document
|
||||
.querySelector<
|
||||
HTMLElement & { updateVolume: (volume: number) => void }
|
||||
@ -162,18 +162,18 @@ async function onApiLoaded() {
|
||||
}
|
||||
};
|
||||
|
||||
window.ipcRenderer.on('ytmd:get-fullscreen', () => {
|
||||
window.ipcRenderer.send('ytmd:set-fullscreen', isFullscreen());
|
||||
window.ipcRenderer.on('peard:get-fullscreen', () => {
|
||||
window.ipcRenderer.send('peard:set-fullscreen', isFullscreen());
|
||||
});
|
||||
|
||||
window.ipcRenderer.on(
|
||||
'ytmd:click-fullscreen-button',
|
||||
'peard:click-fullscreen-button',
|
||||
(_, fullscreen: boolean | undefined) => {
|
||||
clickFullscreenButton(fullscreen ?? false);
|
||||
},
|
||||
);
|
||||
|
||||
window.ipcRenderer.on('ytmd:toggle-mute', (_) => {
|
||||
window.ipcRenderer.on('peard:toggle-mute', (_) => {
|
||||
document
|
||||
.querySelector<
|
||||
HTMLElement & { onVolumeClick: () => void }
|
||||
@ -181,9 +181,9 @@ async function onApiLoaded() {
|
||||
?.onVolumeClick();
|
||||
});
|
||||
|
||||
window.ipcRenderer.on('ytmd:get-queue', () => {
|
||||
window.ipcRenderer.on('peard:get-queue', () => {
|
||||
const queue = document.querySelector<QueueElement>('#queue');
|
||||
window.ipcRenderer.send('ytmd:get-queue-response', {
|
||||
window.ipcRenderer.send('peard:get-queue-response', {
|
||||
items: queue?.queue.getItems(),
|
||||
autoPlaying: queue?.queue.autoPlaying,
|
||||
continuation: queue?.queue.continuation,
|
||||
@ -191,10 +191,10 @@ async function onApiLoaded() {
|
||||
});
|
||||
|
||||
window.ipcRenderer.on(
|
||||
'ytmd:add-to-queue',
|
||||
'peard:add-to-queue',
|
||||
(_, videoId: string, queueInsertPosition: string) => {
|
||||
const queue = document.querySelector<QueueElement>('#queue');
|
||||
const app = document.querySelector<YouTubeMusicAppElement>('ytmusic-app');
|
||||
const app = document.querySelector<MusicPlayerAppElement>('ytmusic-app');
|
||||
if (!app) return;
|
||||
|
||||
const store = queue?.queue.store.store;
|
||||
@ -246,7 +246,7 @@ async function onApiLoaded() {
|
||||
},
|
||||
);
|
||||
window.ipcRenderer.on(
|
||||
'ytmd:move-in-queue',
|
||||
'peard:move-in-queue',
|
||||
(_, fromIndex: number, toIndex: number) => {
|
||||
const queue = document.querySelector<QueueElement>('#queue');
|
||||
queue?.dispatch({
|
||||
@ -258,21 +258,21 @@ async function onApiLoaded() {
|
||||
});
|
||||
},
|
||||
);
|
||||
window.ipcRenderer.on('ytmd:remove-from-queue', (_, index: number) => {
|
||||
window.ipcRenderer.on('peard:remove-from-queue', (_, index: number) => {
|
||||
const queue = document.querySelector<QueueElement>('#queue');
|
||||
queue?.dispatch({
|
||||
type: 'REMOVE_ITEM',
|
||||
payload: index,
|
||||
});
|
||||
});
|
||||
window.ipcRenderer.on('ytmd:set-queue-index', (_, index: number) => {
|
||||
window.ipcRenderer.on('peard:set-queue-index', (_, index: number) => {
|
||||
const queue = document.querySelector<QueueElement>('#queue');
|
||||
queue?.dispatch({
|
||||
type: 'SET_INDEX',
|
||||
payload: index,
|
||||
});
|
||||
});
|
||||
window.ipcRenderer.on('ytmd:clear-queue', () => {
|
||||
window.ipcRenderer.on('peard:clear-queue', () => {
|
||||
const queue = document.querySelector<QueueElement>('#queue');
|
||||
queue?.queue.store.store.dispatch({
|
||||
type: 'SET_PLAYER_PAGE_INFO',
|
||||
@ -284,9 +284,9 @@ async function onApiLoaded() {
|
||||
});
|
||||
|
||||
window.ipcRenderer.on(
|
||||
'ytmd:search',
|
||||
'peard:search',
|
||||
async (_, query: string, params?: string, continuation?: string) => {
|
||||
const app = document.querySelector<YouTubeMusicAppElement>('ytmusic-app');
|
||||
const app = document.querySelector<MusicPlayerAppElement>('ytmusic-app');
|
||||
const searchBox =
|
||||
document.querySelector<SearchBoxElement>('ytmusic-search-box');
|
||||
|
||||
@ -307,7 +307,7 @@ async function onApiLoaded() {
|
||||
suggestStats: searchBox.getSearchboxStats(),
|
||||
});
|
||||
|
||||
window.ipcRenderer.send('ytmd:search-results', result);
|
||||
window.ipcRenderer.send('peard:search-results', result);
|
||||
},
|
||||
);
|
||||
|
||||
@ -334,7 +334,7 @@ async function onApiLoaded() {
|
||||
|
||||
const audioCanPlayEventDispatcher = () => {
|
||||
document.dispatchEvent(
|
||||
new CustomEvent('ytmd:audio-can-play', {
|
||||
new CustomEvent('peard:audio-can-play', {
|
||||
detail: {
|
||||
audioContext,
|
||||
audioSource,
|
||||
@ -356,13 +356,13 @@ async function onApiLoaded() {
|
||||
|
||||
video.addEventListener('loadstart', loadstartListener, { passive: true });
|
||||
|
||||
window.ipcRenderer.send('ytmd:player-api-loaded');
|
||||
window.ipcRenderer.send('peard:player-api-loaded');
|
||||
|
||||
// Navigate to "Starting page"
|
||||
const startingPage: string = window.mainConfig.get('options.startingPage');
|
||||
if (startingPage && startingPages[startingPage]) {
|
||||
document
|
||||
.querySelector<YouTubeMusicAppElement>('ytmusic-app')
|
||||
.querySelector<MusicPlayerAppElement>('ytmusic-app')
|
||||
?.navigate(startingPages[startingPage]);
|
||||
}
|
||||
|
||||
@ -372,7 +372,7 @@ async function onApiLoaded() {
|
||||
let selector = 'ytmusic-guide-entry-renderer:last-child';
|
||||
|
||||
const upgradeBtnIcon = document.querySelector<SVGGElement>(
|
||||
'iron-iconset-svg[name="yt-sys-icons"] #youtube_music_monochrome',
|
||||
'iron-iconset-svg[name="yt-sys-icons"] #\u0079\u006f\u0075\u0074\u0075\u0062\u0065_music_monochrome',
|
||||
);
|
||||
if (upgradeBtnIcon) {
|
||||
const path = upgradeBtnIcon.firstChild as SVGPathElement;
|
||||
@ -409,7 +409,7 @@ async function onApiLoaded() {
|
||||
}
|
||||
|
||||
/**
|
||||
* YouTube Music still using ES5, so we need to define custom elements using ES5 style
|
||||
* Original still using ES5, so we need to define custom elements using ES5 style
|
||||
*/
|
||||
const defineYTMDTransElements = () => {
|
||||
const YTMDTrans = function () {};
|
||||
@ -475,7 +475,7 @@ const main = async () => {
|
||||
},
|
||||
);
|
||||
|
||||
// Wait for complete load of YouTube api
|
||||
// Wait for complete load of the api
|
||||
await listenForApiLoad();
|
||||
|
||||
// Blocks the "Are You Still There?" popup by setting the last active time to Date.now every 15min
|
||||
@ -502,7 +502,7 @@ const initObserver = async () => {
|
||||
});
|
||||
|
||||
const observer = new MutationObserver(() => {
|
||||
const playerApi = document.querySelector<Element & YoutubePlayer>(
|
||||
const playerApi = document.querySelector<Element & MusicPlayer>(
|
||||
'#movie_player',
|
||||
);
|
||||
if (playerApi) {
|
||||
|
||||
Reference in New Issue
Block a user