fix: 暂无会话适配

This commit is contained in:
tim
2025-08-23 01:02:35 +08:00
parent e8e7b9a245
commit 2f261983ac
3 changed files with 40 additions and 23 deletions

View File

@@ -28,6 +28,13 @@
</div> </div>
</template> </template>
</BaseTimeline> </BaseTimeline>
<div class="empty-container">
<BasePlaceholder
v-if="messages.length === 0"
text="暂无会话,发送消息试试 🎉"
icon="fas fa-inbox"
/>
</div>
</template> </template>
</div> </div>
@@ -57,6 +64,7 @@ import { useWebSocket } from '~/composables/useWebSocket'
import { useUnreadCount } from '~/composables/useUnreadCount' import { useUnreadCount } from '~/composables/useUnreadCount'
import TimeManager from '~/utils/time' import TimeManager from '~/utils/time'
import BaseTimeline from '~/components/BaseTimeline.vue' import BaseTimeline from '~/components/BaseTimeline.vue'
import BasePlaceholder from '~/components/BasePlaceholder.vue'
const config = useRuntimeConfig() const config = useRuntimeConfig()
const route = useRoute() const route = useRoute()

View File

@@ -8,14 +8,14 @@
<div class="error-text">{{ error }}</div> <div class="error-text">{{ error }}</div>
</div> </div>
<div v-else-if="conversations.length === 0" class="empty-container">
<div class="empty-text">暂无会话</div>
</div>
<div v-if="!loading" class="search-container"> <div v-if="!loading" class="search-container">
<SearchDropdown /> <SearchDropdown />
</div> </div>
<div v-if="!loading && conversations.length === 0" class="empty-container">
<BasePlaceholder v-if="conversations.length === 0" text="暂无会话" icon="fas fa-inbox" />
</div>
<div <div
v-if="!loading" v-if="!loading"
v-for="convo in conversations" v-for="convo in conversations"
@@ -67,6 +67,7 @@ import { useUnreadCount } from '~/composables/useUnreadCount'
import TimeManager from '~/utils/time' import TimeManager from '~/utils/time'
import { stripMarkdownLength } from '~/utils/markdown' import { stripMarkdownLength } from '~/utils/markdown'
import SearchDropdown from '~/components/SearchDropdown.vue' import SearchDropdown from '~/components/SearchDropdown.vue'
import BasePlaceholder from '~/components/BasePlaceholder.vue'
const config = useRuntimeConfig() const config = useRuntimeConfig()
const conversations = ref([]) const conversations = ref([])

View File

@@ -12,25 +12,27 @@
<div class="profile-page-header-user-info"> <div class="profile-page-header-user-info">
<div class="profile-page-header-user-info-name">{{ user.username }}</div> <div class="profile-page-header-user-info-name">{{ user.username }}</div>
<div class="profile-page-header-user-info-description">{{ user.introduction }}</div> <div class="profile-page-header-user-info-description">{{ user.introduction }}</div>
<div <div class="profile-page-header-user-info-buttons">
v-if="!isMine && !subscribed" <div
class="profile-page-header-subscribe-button" v-if="!isMine && !subscribed"
@click="subscribeUser" class="profile-page-header-subscribe-button"
> @click="subscribeUser"
<i class="fas fa-user-plus"></i> >
关注 <i class="fas fa-user-plus"></i>
</div> 关注
<div </div>
v-if="!isMine && subscribed" <div
class="profile-page-header-unsubscribe-button" v-if="!isMine && subscribed"
@click="unsubscribeUser" class="profile-page-header-unsubscribe-button"
> @click="unsubscribeUser"
<i class="fas fa-user-minus"></i> >
取消关注 <i class="fas fa-user-minus"></i>
</div> 取消关注
<div v-if="!isMine" class="profile-page-header-subscribe-button" @click="sendMessage"> </div>
<i class="fas fa-paper-plane"></i> <div v-if="!isMine" class="profile-page-header-subscribe-button" @click="sendMessage">
发私信 <i class="fas fa-paper-plane"></i>
发私信
</div>
</div> </div>
<LevelProgress <LevelProgress
:exp="levelInfo.exp" :exp="levelInfo.exp"
@@ -640,6 +642,12 @@ watch(selectedTab, async (val) => {
color: #666; color: #666;
} }
.profile-page-header-user-info-buttons {
display: flex;
flex-direction: row;
gap: 10px;
}
.profile-page-header-subscribe-button { .profile-page-header-subscribe-button {
display: flex; display: flex;
flex-direction: row; flex-direction: row;