import React from 'react';
import { Image, Pressable, StyleSheet, Text, View } from 'react-native';
import { useTranslation } from 'react-i18next';
import SheetModal from '@/components/ui/SheetModal';
import type { ThemeMode } from '@/src/storage/appStorage';
type Props = {
visible: boolean;
mode: ThemeMode;
onSelect: (mode: ThemeMode) => void;
onClose: () => void;
};
export default function ThemeModal({ visible, mode, onSelect, onClose }: Props) {
const { t } = useTranslation();
return (
onSelect('scenery')}
>
onSelect('color')}
>
onSelect('suixin')}
>
);
}
function ThemeCard({
title,
selected,
onPress,
children,
}: {
title: string;
selected: boolean;
onPress: () => void;
children: React.ReactNode;
}) {
return (
{children}
{/* 文案展示在图片中心 */}
{title}
);
}
const styles = StyleSheet.create({
row: {
flexDirection: 'row',
flexWrap: 'nowrap',
gap: 12,
paddingHorizontal: 4,
paddingBottom: 50,
paddingTop: 20,
justifyContent: 'space-between',
},
cardContainer: {
flex: 1,
minWidth: 0,
alignItems: 'stretch',
},
previewWrapper: {
width: '100%',
aspectRatio: 110 / 178,
borderRadius: 26,
padding: 6.5,
justifyContent: 'center',
alignItems: 'center',
},
selectedWrapper: {
borderWidth: 4,
borderColor: '#E7837A',
borderRadius: 26,
},
previewInner: {
width: '100%',
height: '100%',
borderRadius: 21,
overflow: 'hidden',
backgroundColor: '#F5F5F5',
position: 'relative',
},
previewImage: {
width: '100%',
height: '100%',
},
textOverlay: {
...StyleSheet.absoluteFillObject,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'rgba(0,0,0,0.05)', // 轻微遮罩增加文字可读性
},
overlayTitle: {
color: '#FFFFFF',
fontSize: 15,
fontWeight: '700',
textAlign: 'center',
textShadowColor: 'rgba(0, 0, 0, 0.3)',
textShadowOffset: { width: 0, height: 1 },
textShadowRadius: 3,
},
selectedOverlayTitle: {
color: '#FFFFFF',
},
});