From 1167f721dc805a6bfd3d4bcba753607eff4bacd5 Mon Sep 17 00:00:00 2001 From: RieN7 Date: Sat, 22 Apr 2023 19:51:08 +0800 Subject: [PATCH] feat: Player On Top New --- .../components/style/player-on-top-new.js | 1 + .../style/player-on-top-new/index.ts | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 registry/dist/components/style/player-on-top-new.js create mode 100644 registry/lib/components/style/player-on-top-new/index.ts diff --git a/registry/dist/components/style/player-on-top-new.js b/registry/dist/components/style/player-on-top-new.js new file mode 100644 index 000000000..b291589f7 --- /dev/null +++ b/registry/dist/components/style/player-on-top-new.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["style/player-on-top-new"]=o():e["style/player-on-top-new"]=o()}(globalThis,(()=>(()=>{"use strict";var e={d:(o,t)=>{for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o)},o={};e.d(o,{component:()=>p});const t=coreApis.componentApis.define,n=coreApis.utils;function r(e,o){const t=e.parentElement;t&&(t.removeChild(e),t.insertBefore(e,o.nextSibling))}const p=(0,t.defineComponentMetadata)({name:"playerOnTopNew",author:{name:"RieN7",link:"https://github.com/rien7"},tags:[componentsTags.style,componentsTags.video],displayName:"播放器置顶(新)",description:"原来的播放器置顶插件,现在已经不可用了,这是一个新的版本,可以在视频页面中将播放器放在页面最上方.",entry:async()=>{await(0,n.playerReady)();r(document.querySelector("#viewbox_report"),document.querySelector("#arc_toolbar_report"));r(document.querySelector("#v_upinfo").parentElement,document.querySelector("#danmukuBox"))},commitHash:"b08ebfbef7d0b5320ae67d8f0568d8bb0ed24635",coreVersion:"2.7.0"});return o=o.component})())); \ No newline at end of file diff --git a/registry/lib/components/style/player-on-top-new/index.ts b/registry/lib/components/style/player-on-top-new/index.ts new file mode 100644 index 000000000..542712644 --- /dev/null +++ b/registry/lib/components/style/player-on-top-new/index.ts @@ -0,0 +1,36 @@ +import { defineComponentMetadata } from '@/components/define' +import { playerReady } from '@/core/utils' + +function moveElementAfter(element: Element, after: Element) { + const parent = element.parentElement + if (!parent) { + return + } + parent.removeChild(element) + parent.insertBefore(element, after.nextSibling) +} + +const playerOnTop = async () => { + await playerReady() + const title = document.querySelector('#viewbox_report') + const toolbar = document.querySelector('#arc_toolbar_report') + moveElementAfter(title, toolbar) + + const author = document.querySelector('#v_upinfo').parentElement + const danmuku = document.querySelector('#danmukuBox') + moveElementAfter(author, danmuku) +} + +export const component = defineComponentMetadata({ + name: 'playerOnTopNew', + author: { + name: 'RieN7', + link: 'https://github.com/rien7', + }, + tags: [componentsTags.style, componentsTags.video], + displayName: '播放器置顶(新)', + description: + '原来的播放器置顶插件,现在已经不可用了,这是一个新的版本,可以在视频页面中将播放器放在页面最上方.', + entry: playerOnTop, + reload: playerOnTop, +})