chore(ui): 精简对话与回忆录页,移除冗余元素
- 移除对话/回忆录页顶部标题(与底部 Tab 重复) - 移除回忆录卡片右上角状态图标
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user