import * as React from 'react'; import { Dialog, Divider, Surface, Text } from 'react-native-paper'; import { DialogType, ButtonDialogData } from './types'; import { StyleSheet, ViewStyle } from 'react-native'; import { useMemo } from 'react'; import PromptButton from './PromptButton'; interface Props { dialog: ButtonDialogData; containerStyle: ViewStyle; themeId: number; } const useStyles = (isMenu: boolean) => { return useMemo(() => { return StyleSheet.create({ dialogContent: { paddingBottom: 14, }, dialogActions: { paddingBottom: 14, paddingTop: 4, ...(isMenu ? { flexDirection: 'column', alignItems: 'stretch', } : {}), }, dialogLabel: { textAlign: isMenu ? 'center' : undefined, }, }); }, [isMenu]); }; const PromptDialog: React.FC = ({ dialog, containerStyle, themeId }) => { const isMenu = dialog.type === DialogType.Menu; const styles = useStyles(isMenu); const buttons = dialog.buttons.map((button, index) => { return ; }); const titleComponent = {dialog.title}; return ( {dialog.title ? titleComponent : null} {dialog.message} {isMenu ? : null} {buttons} ); }; export default PromptDialog;