chore(ui): 精简对话与回忆录页,移除冗余元素

- 移除对话/回忆录页顶部标题(与底部 Tab 重复)
- 移除回忆录卡片右上角状态图标
This commit is contained in:
Kevin
2026-03-19 11:03:30 +08:00
parent 9a1d31c71f
commit 687f41df2e
2 changed files with 35 additions and 79 deletions

View File

@@ -162,7 +162,6 @@ const SKELETON_COUNT = 3;
export default function ConversationsScreen() {
const { t } = useTranslation('conversation');
const { t: tApp } = useTranslation('app');
const { data: conversations = [], isLoading } = useConversations();
const createConversation = useCreateConversation();
@@ -197,12 +196,6 @@ export default function ConversationsScreen() {
return (
<View className="flex-1 bg-background">
<SafeAreaView className="flex-1" edges={['top']}>
<View className="border-b border-border px-4 py-3">
<Text variant="h3" className="text-foreground">
{tApp('tabs.conversations')}
</Text>
</View>
<ScrollView
contentInsetAdjustmentBehavior="automatic"
className="flex-1"

View File

@@ -10,14 +10,7 @@ import {
} from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context';
import { useTranslation } from 'react-i18next';
import {
BookOpen,
CheckCircle,
Clock,
FileText,
Lock,
Map,
} from 'lucide-react-native';
import { BookOpen, FileText } from 'lucide-react-native';
import { Icon } from '@/components/ui/icon';
import { Skeleton } from '@/components/ui/skeleton';
@@ -150,16 +143,6 @@ function ChapterCard({
overflow: 'hidden',
}}
>
<View
style={{
position: 'absolute',
right: 12,
top: 12,
zIndex: 1,
}}
>
<Icon as={CheckCircle} className="text-primary" size={24} />
</View>
{hasCoverImage ? (
<Image
source={{ uri: item.coverImageUrl! }}
@@ -236,25 +219,22 @@ function ChapterCard({
<View className="flex-row gap-4">
<MemoirImagePlaceholder size={80} muted />
<View className="flex-1">
<View className="flex-row items-start justify-between">
<View>
<Text
className="text-xs font-medium text-muted-foreground"
selectable
>
{chapterLabel}
</Text>
<Text
variant="h4"
className="mt-0.5 text-foreground"
style={{ lineHeight: 28 }}
numberOfLines={2}
selectable
>
{item.title}
</Text>
</View>
<Icon as={Clock} className="text-secondary" size={22} />
<View>
<Text
className="text-xs font-medium text-muted-foreground"
selectable
>
{chapterLabel}
</Text>
<Text
variant="h4"
className="mt-0.5 text-foreground"
style={{ lineHeight: 28 }}
numberOfLines={2}
selectable
>
{item.title}
</Text>
</View>
<View className="mt-2 flex-row items-center gap-2">
<Text className="text-sm font-medium text-secondary" selectable>
@@ -305,8 +285,7 @@ function ChapterCard({
>
{item.title}
</Text>
<View className="mt-2 flex-row items-center gap-2">
<Icon as={Lock} className="text-muted-foreground" size={14} />
<View className="mt-2">
<Text
className="text-sm font-medium text-muted-foreground"
selectable
@@ -345,28 +324,24 @@ function ChapterCard({
<MemoirImagePlaceholder size={64} muted />
</View>
<View style={{ padding: gutter, gap: 10 }}>
<View className="flex-row items-start justify-between">
<View>
<Text
className="text-xs font-medium text-muted-foreground"
selectable
>
{chapterLabel}
</Text>
<Text
variant="h4"
className="mt-0.5 text-foreground/90"
style={{ lineHeight: 28 }}
numberOfLines={2}
selectable
>
{item.title}
</Text>
</View>
<Icon as={Lock} className="text-muted-foreground" size={20} />
<View>
<Text
className="text-xs font-medium text-muted-foreground"
selectable
>
{chapterLabel}
</Text>
<Text
variant="h4"
className="mt-0.5 text-foreground/90"
style={{ lineHeight: 28 }}
numberOfLines={2}
selectable
>
{item.title}
</Text>
</View>
<View className="flex-row items-center gap-2">
<Icon as={Map} className="text-muted-foreground" size={14} />
<View>
<Text
className="text-sm font-medium text-muted-foreground"
selectable
@@ -436,18 +411,6 @@ export default function MemoirScreen() {
return (
<View className="flex-1 bg-background">
<SafeAreaView className="flex-1" edges={['top']}>
<View
className="border-b border-border"
style={{
paddingHorizontal: Math.max(ScreenGutter, 16),
paddingVertical: 16,
}}
>
<Text variant="h3" className="text-foreground">
{t('pageTitle')}
</Text>
</View>
<ScrollView
contentInsetAdjustmentBehavior="automatic"
className="flex-1"