NeoScan_Physician/app/modules/Auth/components/EmailAlreadyRegisteredModal.tsx

148 lines
3.5 KiB
TypeScript

/*
* File: EmailAlreadyRegisteredModal.tsx
* Description: Modal popup for when email is already registered
* Design & Developed by Tech4Biz Solutions
* Copyright (c) Spurrin Innovations. All rights reserved.
*/
import React from 'react'
import {
Modal,
View,
Text,
TouchableOpacity,
StyleSheet,
Dimensions,
} from 'react-native'
import { Colors } from '../../../../shared/src/theme'
interface EmailAlreadyRegisteredModalProps {
visible: boolean
onClose: () => void
onGoToLogin: () => void
}
const { width } = Dimensions.get('window')
const EmailAlreadyRegisteredModal: React.FC<EmailAlreadyRegisteredModalProps> = ({
visible,
onClose,
onGoToLogin,
}) => {
return (
<Modal
animationType="fade"
transparent={true}
visible={visible}
onRequestClose={onClose}
>
<View style={styles.overlay}>
<View style={styles.modalContainer}>
<View style={styles.content}>
<Text style={styles.title}>Email Already Registered</Text>
<Text style={styles.message}>
Your email is already registered. The login credentials have been sent to your emailplease check your inbox to proceed.
</Text>
<View style={styles.buttonContainer}>
<TouchableOpacity
style={[styles.button, styles.secondaryButton]}
onPress={onClose}
activeOpacity={0.8}
>
<Text style={styles.secondaryButtonText}>Cancel</Text>
</TouchableOpacity>
<TouchableOpacity
style={[styles.button, styles.primaryButton]}
onPress={onGoToLogin}
activeOpacity={0.8}
>
<Text style={styles.primaryButtonText}>Go to Login</Text>
</TouchableOpacity>
</View>
</View>
</View>
</View>
</Modal>
)
}
const styles = StyleSheet.create({
overlay: {
flex: 1,
backgroundColor: 'rgba(0, 0, 0, 0.5)',
justifyContent: 'center',
alignItems: 'center',
},
modalContainer: {
width: width * 0.85,
backgroundColor: Colors.background || '#FFFFFF',
borderRadius: 12,
elevation: 5,
shadowColor: '#000',
shadowOffset: {
width: 0,
height: 2,
},
shadowOpacity: 0.25,
shadowRadius: 3.84,
},
content: {
padding: 24,
},
title: {
fontSize: 20,
fontWeight: 'bold',
color: '#333333',
textAlign: 'center',
marginBottom: 16,
},
message: {
fontSize: 16,
color: Colors.textSecondary || '#666666',
textAlign: 'center',
lineHeight: 24,
marginBottom: 24,
},
buttonContainer: {
flexDirection: 'row',
justifyContent: 'space-between',
gap: 12,
},
button: {
flex: 1,
paddingVertical: 12,
paddingHorizontal: 16,
borderRadius: 8,
alignItems: 'center',
justifyContent: 'center',
minHeight: 48,
},
primaryButton: {
backgroundColor: Colors.primary || '#007AFF',
},
secondaryButton: {
backgroundColor: 'transparent',
borderWidth: 1,
borderColor: Colors.border || '#E0E0E0',
},
primaryButtonText: {
color: '#FFFFFF',
fontSize: 16,
fontWeight: '600',
},
secondaryButtonText: {
color: '#333333',
fontSize: 16,
fontWeight: '600',
},
})
export default EmailAlreadyRegisteredModal
/*
* End of File: EmailAlreadyRegisteredModal.tsx
* Design & Developed by Tech4Biz Solutions
* Copyright (c) Spurrin Innovations. All rights reserved.
*/