mirror of
https://github.com/hellodigua/ChatLab.git
synced 2026-05-07 05:20:59 +08:00
feat: 样式优化
This commit is contained in:
@@ -121,6 +121,10 @@ function getSessionRouteName(session: AnalysisSession): string {
|
||||
function isPrivateChat(session: AnalysisSession): boolean {
|
||||
return session.type === 'private'
|
||||
}
|
||||
|
||||
function handleClickXhs() {
|
||||
window.open('https://www.xiaohongshu.com/user/profile/6841741e000000001d0091b4', '_blank')
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -294,22 +298,23 @@ function isPrivateChat(session: AnalysisSession): boolean {
|
||||
</UModal>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="px-4 py-2 dark:border-gray-800 space-y-2">
|
||||
<div class="px-4 py-2 dark:border-gray-800 space-y-2 mb-4">
|
||||
<!-- 帮助和反馈 -->
|
||||
<UTooltip :text="isCollapsed ? '帮助和反馈' : ''" :popper="{ placement: 'right' }">
|
||||
<UTooltip :text="isCollapsed ? '关注更新' : ''" :popper="{ placement: 'right' }">
|
||||
<UButton
|
||||
:block="!isCollapsed"
|
||||
class="transition-all rounded-full hover:bg-gray-200/60 dark:hover:bg-gray-800 h-12 cursor-pointer"
|
||||
:class="[isCollapsed ? 'flex w-12 items-center justify-center px-0' : 'justify-start pl-4']"
|
||||
color="gray"
|
||||
variant="ghost"
|
||||
@click="handleClickXhs"
|
||||
>
|
||||
<UIcon
|
||||
name="i-heroicons-chat-bubble-left-right"
|
||||
class="h-5 w-5 shrink-0"
|
||||
:class="[isCollapsed ? '' : 'mr-2']"
|
||||
/>
|
||||
<span v-if="!isCollapsed" class="truncate">帮助和反馈</span>
|
||||
<span v-if="!isCollapsed" class="truncate">关注更新</span>
|
||||
</UButton>
|
||||
</UTooltip>
|
||||
|
||||
|
||||
@@ -36,10 +36,10 @@ const isInitialLoad = ref(true) // 用于跳过初始加载时的 watch 触发
|
||||
// Tab 配置
|
||||
const tabs = [
|
||||
{ id: 'overview', label: '总览', icon: 'i-heroicons-chart-pie' },
|
||||
{ id: 'ranking', label: '群榜单', icon: 'i-heroicons-trophy' },
|
||||
{ id: 'quotes', label: '群语录', icon: 'i-heroicons-chat-bubble-bottom-center-text' },
|
||||
{ id: 'relationships', label: '群关系', icon: 'i-heroicons-heart' },
|
||||
{ id: 'timeline', label: '群趋势', icon: 'i-heroicons-chart-bar' },
|
||||
// { id: 'ranking', label: '群榜单', icon: 'i-heroicons-trophy' },
|
||||
// { id: 'quotes', label: '群语录', icon: 'i-heroicons-chat-bubble-bottom-center-text' },
|
||||
// { id: 'relationships', label: '群关系', icon: 'i-heroicons-heart' },
|
||||
// { id: 'timeline', label: '群趋势', icon: 'i-heroicons-chart-bar' },
|
||||
{ id: 'members', label: '群成员', icon: 'i-heroicons-user-group' },
|
||||
{ id: 'ai', label: 'AI实验室', icon: 'i-heroicons-sparkles' },
|
||||
]
|
||||
|
||||
+21
-19
@@ -14,12 +14,12 @@ const showTutorialModal = ref(false)
|
||||
|
||||
const features = [
|
||||
{
|
||||
icon: '⚡️',
|
||||
title: '极致性能',
|
||||
desc: '将聊天记录导入为本地数据库方案,千万级数据秒级索引,体验流畅',
|
||||
color: 'text-yellow-500',
|
||||
bg: 'bg-yellow-50',
|
||||
delay: '0ms',
|
||||
icon: '🔒',
|
||||
title: '隐私至上',
|
||||
desc: '聊天记录本地存储本地分析,保护你的隐私。',
|
||||
color: 'text-green-500',
|
||||
bg: 'bg-green-50',
|
||||
delay: '200ms',
|
||||
},
|
||||
{
|
||||
icon: '📊',
|
||||
@@ -29,14 +29,6 @@ const features = [
|
||||
bg: 'bg-blue-50',
|
||||
delay: '100ms',
|
||||
},
|
||||
{
|
||||
icon: '🔒',
|
||||
title: '隐私至上',
|
||||
desc: '聊天记录本地存储本地分析,保护你的隐私。',
|
||||
color: 'text-green-500',
|
||||
bg: 'bg-green-50',
|
||||
delay: '200ms',
|
||||
},
|
||||
{
|
||||
icon: '🤖',
|
||||
title: 'AI 洞察',
|
||||
@@ -155,13 +147,23 @@ function getProgressDetail(): string {
|
||||
ChatLab
|
||||
</h1>
|
||||
</div>
|
||||
<p class="text-xl font-medium text-gray-600 dark:text-gray-300 max-w-2xl mx-auto leading-relaxed">
|
||||
你的本地聊天分析实验室
|
||||
</p>
|
||||
<div class="mx-auto flex items-center justify-center">
|
||||
<div class="relative">
|
||||
<span
|
||||
class="text-xl font-black italic tracking-wide text-gray-500 transition-transform duration-300 hover:scale-105 dark:text-gray-400"
|
||||
>
|
||||
你的本地 AI 聊天分析实验室
|
||||
</span>
|
||||
<UIcon
|
||||
name="i-heroicons-sparkles"
|
||||
class="absolute -right-6 -top-3 h-5 w-5 animate-bounce text-gray-400"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Feature Cards -->
|
||||
<div class="xl:mb-16 mb-8 grid max-w-6xl grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4 px-4">
|
||||
<div class="xl:mb-16 mb-8 grid max-w-4xl grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-3 px-4">
|
||||
<div
|
||||
v-for="feature in features"
|
||||
:key="feature.title"
|
||||
@@ -236,7 +238,7 @@ function getProgressDetail(): string {
|
||||
<template v-else>
|
||||
<!-- 默认状态 -->
|
||||
<p class="text-lg font-semibold text-gray-900 dark:text-white">
|
||||
{{ isDragOver ? '松开鼠标导入文件' : '点击选择或拖拽文件到这里' }}
|
||||
{{ isDragOver ? '松开鼠标导入文件' : '点击选择或拖拽聊天记录导入' }}
|
||||
</p>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user