diff --git a/src/background/messageListeners/video.ts b/src/background/messageListeners/video.ts index 2d73043b..51d0d733 100644 --- a/src/background/messageListeners/video.ts +++ b/src/background/messageListeners/video.ts @@ -69,6 +69,13 @@ function handleMessage(message: any) { .then(data => data) .catch(error => console.error(error)) } + else if (message.contentScriptQuery === 'dislikeVideo') { + const url = `https://api.bilibili.com/x/feed/dislike?access_key=${message.accessKey}&appkey=${message.appkey}&feedback_id=${message.feedbackId}&reason_id=${message.reasonId}` + return fetch(url) + .then(response => response.json()) + .then(data => data) + .catch(error => console.error(error)) + } // https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/video/info.md#%E8%8E%B7%E5%8F%96%E8%A7%86%E9%A2%91%E8%B6%85%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AFweb%E7%AB%AF else if (message.contentScriptQuery === 'getVideoInfo') { const url = `https://api.bilibili.com/x/web-interface/view/detail?${ diff --git a/src/components/Dock/Dock.vue b/src/components/Dock/Dock.vue index 1af16cc9..8116f403 100644 --- a/src/components/Dock/Dock.vue +++ b/src/components/Dock/Dock.vue @@ -181,7 +181,7 @@ function toggleDockHide(hide: boolean) { }" style="backdrop-filter: var(--bew-filter-glass-1);" absolute duration-300 ease-in-out - p-2 m-2 bg="$bew-content-2" flex="~ col gap-2 shrink-0" + p-2 m-2 bg="$bew-content-2 dark:$bew-elevated-1" flex="~ col gap-2 shrink-0" rounded="60px" border="1px $bew-border-color" shadow="$bew-shadow-2" @mouseenter="toggleDockHide(false)" diff --git a/src/components/Settings/Settings.vue b/src/components/Settings/Settings.vue index e706a537..487d7770 100644 --- a/src/components/Settings/Settings.vue +++ b/src/components/Settings/Settings.vue @@ -128,7 +128,8 @@ function setCurrentTitle() { --un-shadow: var(--bew-shadow-4), var(--bew-shadow-edge-glow-2); backdrop-filter: var(--bew-filter-glass-2); " - flex="~ gap-2 col" rounded="30px hover:25px" bg="$bew-elevated-1 hover:$bew-elevated-2" p-2 shadow + flex="~ gap-2 col" rounded="30px hover:25px" p-2 shadow + bg="$bew-content-2 hover:$bew-elevated-1 dark:$bew-elevated-1 dark-hover:$bew-elevated-2" scale="group-hover:105" duration-300 overflow-hidden antialiased border="1 $bew-border-color" > @@ -165,39 +166,52 @@ function setCurrentTitle() { --un-shadow: var(--bew-shadow-4), var(--bew-shadow-edge-glow-2); backdrop-filter: var(--bew-filter-glass-2); " - relative overflow="x-hidde" w-full h-full bg="$bew-elevated-1" - shadow rounded="$bew-radius" + relative overflow="x-hidde" w-full h-full bg="$bew-content-2 dark:$bew-elevated-1" + shadow rounded="$bew-radius" border="1 $bew-border-color" > - -
+ +
+
+ {{ title }} +
+
+ +
+
+ +
- -
-
- {{ title }} -
-
- -
- - -
diff --git a/src/components/Settings/components/ChildSettingsDialog.vue b/src/components/Settings/components/ChildSettingsDialog.vue index c2ea6d19..898e4429 100644 --- a/src/components/Settings/components/ChildSettingsDialog.vue +++ b/src/components/Settings/components/ChildSettingsDialog.vue @@ -24,7 +24,7 @@ function handleClose() { --un-shadow: var(--bew-shadow-3) var(--bew-shadow-edge-glow-2); backdrop-filter: var(--bew-filter-glass-2); " - pos="fixed top-1/2 left-1/2" bg="$bew-elevated-1" rounded="$bew-radius" + pos="fixed top-1/2 left-1/2" bg="$bew-content-2 dark:$bew-elevated-1" rounded="$bew-radius" transform="translate--1/2" z-2 shadow overflow="x-hidden y-overlay" w="$b-dialog-width" h="$b-dialog-height" antialiased > diff --git a/src/components/Settings/components/SettingsItemGroup.vue b/src/components/Settings/components/SettingsItemGroup.vue index eda41960..a381d57b 100644 --- a/src/components/Settings/components/SettingsItemGroup.vue +++ b/src/components/Settings/components/SettingsItemGroup.vue @@ -16,7 +16,7 @@ defineProps<{
diff --git a/src/components/VideoCard/VideoCard.vue b/src/components/VideoCard/VideoCard.vue index ddc88ac2..276ada4e 100644 --- a/src/components/VideoCard/VideoCard.vue +++ b/src/components/VideoCard/VideoCard.vue @@ -34,12 +34,22 @@ interface Props { rank?: number topRightContent?: boolean showPreview?: boolean + moreBtn?: boolean + moreBtnActive?: boolean + removed?: boolean + showDislikeOptions?: boolean + feedbackReason?: { id: number, name: string } + dislikeReason?: { id: number, name: string } } const props = withDefaults(defineProps(), { topRightContent: true, }) +const emit = defineEmits<{ + (e: 'moreClick', event: MouseEvent): MouseEvent +}>() + const videoUrl = computed(() => { if (props.bvid || props.aid) return `https://www.bilibili.com/video/${props.bvid ?? `av${props.aid}`}` @@ -70,8 +80,6 @@ const wValue = computed((): string => { const isDislike = ref(false) const isInWatchLater = ref(false) const isHover = ref(false) -// const dislikeReasonId = ref(null) -const showPopCtrl = ref(false) const contentVisibility = ref<'auto' | 'visible'>('auto') const mouseEnterTimeOut = ref() const mouseLeaveTimeOut = ref() @@ -141,60 +149,9 @@ function handelMouseLeave() { }, 300) } -// function submitDislike( -// reasonID: number, -// goto: string, -// id: string, -// mid: number, -// rid: number, -// tagID: number, -// ) { -// browser.runtime -// .sendMessage({ -// contentScriptQuery: 'submitDislike', -// accessKey: accessKey.value, -// reasonID, -// goto, -// id, -// mid, -// rid, -// tagID, -// }) -// .then((res) => { -// if (res.code === 0) { -// isDislike.value = true -// dislikeReasonId.value = reasonID -// } -// }) -// } - -// function undoDislike( -// reasonID: number, -// goto: string, -// id: string, -// mid: number, -// rid: number, -// tagID: number, -// ) { -// browser.runtime -// .sendMessage({ -// contentScriptQuery: 'undoDislike', -// accessKey, -// reasonID, -// goto, -// id, -// mid, -// rid, -// tagID, -// }) -// .then((res) => { -// if (res.code === 0) { -// isDislike.value = false -// dislikeReasonId.value = null -// showPopCtrl.value = false -// } -// }) -// } +function handleMoreBtnClick(event: MouseEvent) { + emit('moreClick', event) +}