mirror of
https://github.com/hellodigua/ChatLab.git
synced 2026-05-14 18:39:07 +08:00
feat: 样式优化
This commit is contained in:
@@ -21,12 +21,12 @@ const activeSubTab = ref('chat-explorer')
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex h-full flex-col -m-6">
|
||||
<div class="flex h-full flex-col">
|
||||
<!-- 子 Tab 导航 -->
|
||||
<SubTabs v-model="activeSubTab" :items="subTabs" />
|
||||
|
||||
<!-- 子 Tab 内容 -->
|
||||
<div class="flex-1 min-h-0 overflow-hidden p-6">
|
||||
<div class="flex-1 min-h-0 overflow-hidden">
|
||||
<Transition name="fade" mode="out-in">
|
||||
<!-- 对话式探索 -->
|
||||
<ChatExplorer
|
||||
@@ -38,26 +38,28 @@ const activeSubTab = ref('chat-explorer')
|
||||
/>
|
||||
|
||||
<!-- 实验室 - 暂未实现 -->
|
||||
<div
|
||||
v-else-if="activeSubTab === 'lab'"
|
||||
class="flex h-full items-center justify-center rounded-xl border-2 border-dashed border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900/50"
|
||||
>
|
||||
<div class="text-center">
|
||||
<UIcon name="i-heroicons-beaker" class="mx-auto h-12 w-12 text-gray-400" />
|
||||
<p class="mt-3 text-sm font-medium text-gray-600 dark:text-gray-400">实验室功能开发中</p>
|
||||
<p class="mt-1 text-xs text-gray-400">敬请期待...</p>
|
||||
<div v-else-if="activeSubTab === 'lab'" class="flex h-full items-center justify-center p-6">
|
||||
<div
|
||||
class="flex h-full w-full items-center justify-center rounded-xl border-2 border-dashed border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900/50"
|
||||
>
|
||||
<div class="text-center">
|
||||
<UIcon name="i-heroicons-beaker" class="mx-auto h-12 w-12 text-gray-400" />
|
||||
<p class="mt-3 text-sm font-medium text-gray-600 dark:text-gray-400">实验室功能开发中</p>
|
||||
<p class="mt-1 text-xs text-gray-400">敬请期待...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 手动分析 - 暂未实现 -->
|
||||
<div
|
||||
v-else-if="activeSubTab === 'manual'"
|
||||
class="flex h-full items-center justify-center rounded-xl border-2 border-dashed border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900/50"
|
||||
>
|
||||
<div class="text-center">
|
||||
<UIcon name="i-heroicons-adjustments-horizontal" class="mx-auto h-12 w-12 text-gray-400" />
|
||||
<p class="mt-3 text-sm font-medium text-gray-600 dark:text-gray-400">手动分析功能开发中</p>
|
||||
<p class="mt-1 text-xs text-gray-400">敬请期待...</p>
|
||||
<div v-else-if="activeSubTab === 'manual'" class="flex h-full items-center justify-center p-6">
|
||||
<div
|
||||
class="flex h-full w-full items-center justify-center rounded-xl border-2 border-dashed border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900/50"
|
||||
>
|
||||
<div class="text-center">
|
||||
<UIcon name="i-heroicons-adjustments-horizontal" class="mx-auto h-12 w-12 text-gray-400" />
|
||||
<p class="mt-3 text-sm font-medium text-gray-600 dark:text-gray-400">手动分析功能开发中</p>
|
||||
<p class="mt-1 text-xs text-gray-400">敬请期待...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Transition>
|
||||
|
||||
@@ -225,7 +225,7 @@ const weekdayVsWeekend = computed(() => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="space-y-6">
|
||||
<div class="space-y-6 p-6">
|
||||
<!-- 群聊身份卡 -->
|
||||
<div class="rounded-2xl bg-linear-to-br from-pink-400 via-pink-500 to-pink-600 p-6 text-white shadow-lg">
|
||||
<div class="flex items-start justify-between">
|
||||
|
||||
@@ -65,7 +65,7 @@ watch(
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="mx-auto max-w-3xl space-y-6">
|
||||
<div class="mx-auto max-w-3xl space-y-6 p-6">
|
||||
<!-- 口头禅分析模块 -->
|
||||
<LoadingState v-if="isLoadingCatchphrase" text="正在分析口头禅数据..." />
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ const memberRankData = computed<RankItem[]>(() => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div ref="contentRef" class="flex gap-6">
|
||||
<div ref="contentRef" class="flex gap-6 p-6">
|
||||
<!-- 主内容区 -->
|
||||
<div class="min-w-0 flex-1 px-8 mx-auto max-w-3xl space-y-6">
|
||||
<!-- 赛季大标题 -->
|
||||
|
||||
@@ -72,7 +72,7 @@ watch(
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="space-y-6">
|
||||
<div class="space-y-6 p-6">
|
||||
<!-- @ 互动分析模块 -->
|
||||
<LoadingState v-if="isLoadingMention" text="正在分析 @ 互动数据..." />
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ watch(
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="space-y-6">
|
||||
<div class="space-y-6 p-6">
|
||||
<!-- 标题 -->
|
||||
<div>
|
||||
<h2 class="text-xl font-bold text-gray-900 dark:text-white">时间轴分析</h2>
|
||||
|
||||
@@ -218,7 +218,7 @@ watch(
|
||||
<!-- AI 思考中指示器 -->
|
||||
<div v-if="isAIThinking && !messages[messages.length - 1]?.isStreaming" class="flex items-start gap-3">
|
||||
<div
|
||||
class="flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-violet-500 to-purple-600"
|
||||
class="flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-linear-to-br from-violet-500 to-purple-600"
|
||||
>
|
||||
<UIcon name="i-heroicons-sparkles" class="h-4 w-4 text-white" />
|
||||
</div>
|
||||
|
||||
@@ -301,8 +301,7 @@ onMounted(() => {
|
||||
<UIcon name="i-heroicons-arrow-path" class="h-8 w-8 animate-spin text-pink-500" />
|
||||
</div>
|
||||
|
||||
<!-- Content with padding -->
|
||||
<div class="p-6">
|
||||
<div class="h-full">
|
||||
<Transition name="tab-slide" mode="out-in">
|
||||
<OverviewTab
|
||||
v-if="activeTab === 'overview'"
|
||||
|
||||
Reference in New Issue
Block a user