feat: 协议标题

This commit is contained in:
jinyaqiu 2025-07-29 11:55:41 +08:00
parent 792c3a0888
commit 1d420773cd

View File

@ -5,8 +5,21 @@ import { Modal, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'rea
import RenderHtml from 'react-native-render-html';
import { useSafeAreaInsets } from "react-native-safe-area-context";
const PrivacyModal = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void, type: string }) => {
const { modalVisible, setModalVisible, type } = props;
interface PrivacyModalProps {
modalVisible: boolean;
setModalVisible: (visible: boolean) => void;
type: 'ai' | 'terms' | 'privacy' | 'user' | 'membership';
}
const titleMap = {
ai: 'AI Policy',
terms: 'Terms of Service',
privacy: 'Privacy Policy',
user: 'User Agreement',
membership: 'Membership Agreement'
};
const PrivacyModal = ({ modalVisible, setModalVisible, type }: PrivacyModalProps) => {
const [article, setArticle] = useState<Policy>({} as Policy);
const insets = useSafeAreaInsets();
useEffect(() => {
@ -44,7 +57,7 @@ const PrivacyModal = (props: { modalVisible: boolean, setModalVisible: (visible:
})
}
// 会员协议
if (type === 'member') {
if (type === 'membership') {
fetchApi<Policy>(`/system-config/policy/membership_agreement`).then((res: any) => {
setArticle(res)
}).catch((error: any) => {
@ -77,7 +90,9 @@ const PrivacyModal = (props: { modalVisible: boolean, setModalVisible: (visible:
<View style={styles.modalView}>
<View style={styles.modalHeader}>
<Text style={{ opacity: 0 }}>Settings</Text>
<Text style={styles.modalTitle}>{type === 'ai' ? 'AI Policy' : type === 'terms' ? 'Terms of Service' : type === 'privacy' ? 'Privacy Policy' : 'User Agreement'}</Text>
<Text style={styles.modalTitle}>
{titleMap[type] || 'User Agreement'}
</Text>
<TouchableOpacity onPress={() => setModalVisible(false)}>
<Text style={styles.closeButton}>×</Text>
</TouchableOpacity>