fix: 深色模式导出图片的样式问题

This commit is contained in:
ChenZhaoYu 2023-03-09 18:57:46 +08:00
parent a4ef23d603
commit f084460d1c
3 changed files with 12 additions and 10 deletions

View File

@ -38,7 +38,7 @@ const wrapClass = computed(() => {
'text-wrap', 'text-wrap',
'min-w-[20px]', 'min-w-[20px]',
'rounded-md', 'rounded-md',
isMobile.value ? 'p-2' : 'p-3', isMobile.value ? 'p-2' : 'px-3 py-2',
props.inversion ? 'bg-[#d2f9d1]' : 'bg-[#f4f6f8]', props.inversion ? 'bg-[#d2f9d1]' : 'bg-[#f4f6f8]',
props.inversion ? 'dark:bg-[#a1dc95]' : 'dark:bg-[#1e1e20]', props.inversion ? 'dark:bg-[#a1dc95]' : 'dark:bg-[#1e1e20]',
{ 'text-red-500': props.error }, { 'text-red-500': props.error },

View File

@ -7,7 +7,7 @@ interface ScrollReturn {
scrollRef: Ref<ScrollElement> scrollRef: Ref<ScrollElement>
scrollToBottom: () => Promise<void> scrollToBottom: () => Promise<void>
scrollToTop: () => Promise<void> scrollToTop: () => Promise<void>
scrollToBottomIfAtBottom: () => Promise<void> scrollToBottomIfAtBottom: () => Promise<void>
} }
export function useScroll(): ScrollReturn { export function useScroll(): ScrollReturn {
@ -26,20 +26,19 @@ export function useScroll(): ScrollReturn {
} }
const scrollToBottomIfAtBottom = async () => { const scrollToBottomIfAtBottom = async () => {
await nextTick() await nextTick()
if (scrollRef.value) { if (scrollRef.value) {
const threshold = 50 // 阈值,表示滚动条到底部的距离阈值 const threshold = 50 // 阈值,表示滚动条到底部的距离阈值
const distanceToBottom = scrollRef.value.scrollHeight - scrollRef.value.scrollTop - scrollRef.value.clientHeight const distanceToBottom = scrollRef.value.scrollHeight - scrollRef.value.scrollTop - scrollRef.value.clientHeight
if (distanceToBottom <= threshold) { if (distanceToBottom <= threshold)
scrollRef.value.scrollTop = scrollRef.value.scrollHeight scrollRef.value.scrollTop = scrollRef.value.scrollHeight
}
} }
} }
return { return {
scrollRef, scrollRef,
scrollToBottom, scrollToBottom,
scrollToTop, scrollToTop,
scrollToBottomIfAtBottom, scrollToBottomIfAtBottom,
} }
} }

View File

@ -120,7 +120,6 @@ async function onConversation() {
} }
}, },
}) })
scrollToBottomIfAtBottom()
} }
catch (error: any) { catch (error: any) {
const errorMessage = error?.message ?? t('common.wrong') const errorMessage = error?.message ?? t('common.wrong')
@ -165,10 +164,10 @@ async function onConversation() {
requestOptions: { prompt: message, options: { ...options } }, requestOptions: { prompt: message, options: { ...options } },
}, },
) )
scrollToBottom()
} }
finally { finally {
loading.value = false loading.value = false
scrollToBottom()
} }
} }
@ -406,7 +405,11 @@ onUnmounted(() => {
ref="scrollRef" ref="scrollRef"
class="h-full overflow-hidden overflow-y-auto" class="h-full overflow-hidden overflow-y-auto"
> >
<div id="image-wrapper" class="w-full max-w-screen-xl m-auto" :class="[isMobile ? 'p-2' : 'p-4']"> <div
id="image-wrapper"
class="w-full max-w-screen-xl m-auto dark:bg-[#101014]"
:class="[isMobile ? 'p-2' : 'p-4']"
>
<template v-if="!dataSources.length"> <template v-if="!dataSources.length">
<div class="flex items-center justify-center mt-4 text-center text-neutral-300"> <div class="flex items-center justify-center mt-4 text-center text-neutral-300">
<SvgIcon icon="ri:bubble-chart-fill" class="mr-2 text-3xl" /> <SvgIcon icon="ri:bubble-chart-fill" class="mr-2 text-3xl" />