import React from 'react'; import { AlertButton, View } from 'react-native'; import Modal from '../../components/Modal'; import Text from '../../components/Text'; import createStyleSheet from '../../styles/createStyleSheet'; import useHeaderStyle from '../../styles/useHeaderStyle'; import useUIKitTheme from '../../theme/useUIKitTheme'; import Button from '../Button'; import DialogBox from '../Dialog/DialogBox'; export type AlertItem = { title?: string; message?: string; buttons?: AlertButton[]; }; type Props = { visible: boolean; onHide: () => void; onDismiss?: () => void; } & AlertItem; const Alert = ({ onDismiss, visible, onHide, title = '', message = '', buttons = [{ text: 'OK' }] }: Props) => { const { statusBarTranslucent } = useHeaderStyle(); const { colors } = useUIKitTheme(); return ( {Boolean(title) && ( {title} )} {Boolean(message) && ( {message} )} {buttons.map(({ text = 'OK', style = 'default', onPress }, index) => { return ( ); })} ); }; const styles = createStyleSheet({ container: { paddingTop: 20, }, titleContainer: { paddingBottom: 16, paddingHorizontal: 24, alignItems: 'flex-start', }, messageContainer: { paddingHorizontal: 24, marginBottom: 12, alignItems: 'flex-start', }, button: { marginStart: 8, }, buttonContainer: { flexDirection: 'row', alignItems: 'center', justifyContent: 'flex-end', padding: 12, }, }); export default Alert;