mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
import { defineComponentMetadata } from '@/components/define'
|
|
import { videoChange } from '@/core/observer'
|
|
import { videoUrls, watchlaterUrls } from '@/core/utils/urls'
|
|
import { playerAgent } from '@/components/video/player-agent'
|
|
import { getWatchlaterList, toggleWatchlater } from '@/components/video/watchlater'
|
|
|
|
let listener: (() => Promise<void>) | null = null
|
|
export const component = defineComponentMetadata({
|
|
name: 'autoRemoveWatchlater',
|
|
displayName: '自动移出稍后再看',
|
|
tags: [componentsTags.video],
|
|
urlInclude: [...watchlaterUrls, ...videoUrls],
|
|
entry: () => {
|
|
videoChange(async ({ aid }) => {
|
|
const videoElement = await playerAgent.query.video.element()
|
|
if (listener !== null) {
|
|
videoElement.removeEventListener('ended', listener)
|
|
}
|
|
listener = async () => {
|
|
const list = await getWatchlaterList()
|
|
if (list.includes(parseInt(aid))) {
|
|
await toggleWatchlater(aid)
|
|
}
|
|
}
|
|
videoElement.addEventListener('ended', listener)
|
|
})
|
|
},
|
|
})
|