import React, { ReactNode } from 'react'; import { View, Text, Modal, ScrollView, TouchableOpacity, StyleSheet, Dimensions } from 'react-native'; import { CheckCircle, X } from 'lucide-react-native'; // Updated icons import colors from '../../Constant/Color'; type ModalProps = { visible: boolean; onClose: () => void; onChecked: () => void } const TermsAndConditionsModal: React.FC = ({ visible, onClose, onChecked }) => { return ( Terms & Conditions Last updated: {new Date().toLocaleDateString()}
By accessing or using our services, you agree to be bound by these Terms and Conditions. If you do not agree with any part of these terms, you must not use our services.
You are responsible for maintaining the confidentiality of your account information and for all activities that occur under your account. You agree to notify us immediately of any unauthorized use of your account.
All content included on our platform, such as text, graphics, logos, and software, is the property of our company and protected by intellectual property laws. You may not reproduce, distribute, or create derivative works without our express permission.
Our company shall not be liable for any indirect, incidental, special, or consequential damages resulting from the use or inability to use our services, even if we have been advised of the possibility of such damages.
Your use of our services is also governed by our Privacy Policy, which explains how we collect, use, and protect your personal information. Please review our Privacy Policy to understand our practices.
We reserve the right to modify these terms at any time. We will notify you of any changes by posting the new Terms and Conditions on this page. Your continued use of the service after such modifications constitutes your acceptance of the new terms.
These Terms shall be governed by and construed in accordance with the laws of the jurisdiction in which our company is registered, without regard to its conflict of law provisions.
If you have any questions about these Terms, please contact us at legal@company.com.
{/* Accept Button */} { onClose(); onChecked(); }} > I Accept
); }; // Reusable Section component type SectionProps = { title: string; children: ReactNode; }; const Section: React.FC = ({ title, children }) => ( {title} {children} ); const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: colors.lightGray, // Updated with your colors }, scrollContainer: { paddingBottom: 120, // Space for accept button flexGrow: 1, }, header: { backgroundColor: colors.primary, // Orange header paddingVertical: 32, paddingHorizontal: 24, borderBottomLeftRadius: 24, borderBottomRightRadius: 24, marginBottom: 24, shadowColor: colors.shadow, shadowOffset: { width: 0, height: 6 }, shadowOpacity: 0.25, shadowRadius: 12, elevation: 8, }, title: { fontSize: 28, fontWeight: '800', color: colors.white, marginBottom: 4, }, subtitle: { fontSize: 14, color: 'rgba(255,255,255,0.85)', }, content: { paddingHorizontal: 24, paddingBottom: 40, }, section: { marginBottom: 28, }, sectionTitle: { fontSize: 20, fontWeight: '700', color: colors.darkText, marginBottom: 12, }, paragraph: { fontSize: 16, lineHeight: 25, color: colors.grayText, }, footerText: { fontSize: 15, fontStyle: 'italic', color: colors.lightText, marginTop: 24, textAlign: 'center', lineHeight: 22, }, acceptButton: { position: 'absolute', bottom: 40, left: 24, right: 24, backgroundColor: colors.primary, borderRadius: 16, flexDirection: 'row', alignItems: 'center', justifyContent: 'center', paddingVertical: 18, paddingHorizontal: 20, shadowColor: colors.shadow, shadowOffset: { width: 0, height: 8 }, shadowOpacity: 0.35, shadowRadius: 16, elevation: 12, }, acceptButtonText: { color: colors.white, fontSize: 18, fontWeight: '700', marginLeft: 12, letterSpacing: 0.5, }, }); export default TermsAndConditionsModal;