feat(plugin): add onPlayerApiReady hook

Co-authored-by: JellyBrick <shlee1503@naver.com>
This commit is contained in:
Su-Yong
2023-11-12 01:51:26 +09:00
parent 2097f42efb
commit a4f4ecb569
22 changed files with 273 additions and 291 deletions

View File

@ -22,8 +22,8 @@ export default builder.createRenderer(({ getConfig }) => {
const switchButtonDiv = ElementFromHtml(buttonTemplate);
function setup(e: CustomEvent<YoutubePlayer>) {
api = e.detail;
function setup(playerApi: YoutubePlayer) {
api = playerApi;
player = document.querySelector<(HTMLElement & { videoMode_: boolean; })>('ytmusic-player');
video = document.querySelector<HTMLVideoElement>('video');
@ -194,13 +194,11 @@ export default builder.createRenderer(({ getConfig }) => {
document.querySelector('ytmusic-player')?.removeAttribute('has-av-switcher');
return;
}
default:
case 'custom': {
document.addEventListener('apiLoaded', setup, { once: true, passive: true });
}
}
},
onPlayerApiReady(playerApi) {
if (config.mode !== 'native' && config.mode != 'disabled') setup(playerApi);
},
onConfigChange(newConfig) {
config = newConfig;