fix: empty session page

This commit is contained in:
2024-04-08 17:11:20 +08:00
parent 671755fa0d
commit 9c8c15bdfd
2 changed files with 17 additions and 2 deletions

View File

@@ -4,7 +4,13 @@ import {useLazyAsyncData} from '#app'
const loginState = useLoginState()
const props = defineProps()
const props = defineProps({
nonBack: {
type: Boolean,
default: false,
},
})
// noinspection JSUnusedLocalSymbols
const emit = defineEmits({
select: (assistant: Assistant | null) => true,
cancel: () => true,
@@ -58,6 +64,7 @@ const {
</Transition>
<div class="w-full p-2">
<UButton
v-if="!nonBack"
variant="ghost"
size="xs"
@click="emit('cancel')"
@@ -123,6 +130,7 @@ const {
</div>
</template>
<!--suppress CssUnusedSymbol -->
<style scoped>
.loading-screen-leave-active {
@apply transition duration-300;

View File

@@ -265,6 +265,12 @@ onMounted(() => {
<!-- ClientOnly avoids hydrate exception -->
<ClientOnly>
<TransitionGroup name="chat-item">
<div v-if="chatSessions.length === 0">
<div class="text-center text-neutral-400 dark:text-neutral-500 py-4 flex flex-col items-center gap-2">
<Icon name="i-tabler-messages" class="text-2xl" />
<span>没有会话</span>
</div>
</div>
<ChatItem
v-for="session in chatSessions"
:chat-session="session" :key="session.id"
@@ -297,7 +303,8 @@ onMounted(() => {
<Transition name="message" mode="out-in">
<NewSessionScreen
v-if="modals.newSessionScreen"
v-if="modals.newSessionScreen || getSessionCopyById(currentSessionId!) === undefined"
:non-back="getSessionCopyById(currentSessionId!) === undefined"
@select="createSession"
@cancel="modals.newSessionScreen = false"
/>