import React from "react"; import { StyleSheet } from "react-native"; import { Modal, Card, Text, Button, Layout } from "@ui-kitten/components"; import { useModel, setModel } from "flooks"; import dialogModel from "../models/dialogModel"; import Textarea from "react-native-textarea"; setModel("dialogModel", dialogModel); const Header = (props, title) => ( {title} ); const Footer = ( props, cancelLabelText, confirmLabelText, cancelable, confirmCallback, cancelCallback ) => ( {cancelable && ( )} ); export default function Dialog(props) { const { tip, confirm, cancel } = useModel("wordsModel"); const { hideDialog, diloadShow, showInfo, title, cancelLabelText, confirmLabelText, cancelable, confirmCallback, cancelCallback, bodyText, status, isEdit, textAreaInfo, } = useModel("dialogModel"); const showAllInfo = React.useMemo(() => { if (diloadShow) { console.log({ title, cancelLabelText, confirmLabelText, cancelable, confirmCallback, cancelCallback, bodyText, isEdit, status, ...textAreaInfo, ...showInfo, }); return { title, cancelLabelText, confirmLabelText, cancelable, confirmCallback, cancelCallback, bodyText, isEdit, status, ...textAreaInfo, ...showInfo, }; } else { return {}; } }, [showInfo, diloadShow]); const [introduction, changeIntroduction] = React.useState(); return ( { return Header(props, showAllInfo.title || tip); }} footer={(props) => { return Footer( props, showAllInfo.cancelLabelText || cancel, showAllInfo.confirmLabelText || confirm, showAllInfo.cancelable || false, () => { hideDialog(); if (showAllInfo.confirmCallback) { if (showAllInfo.isEdit) { showAllInfo.confirmCallback(introduction); } else { showAllInfo.confirmCallback(); } } }, () => { hideDialog(); if (showAllInfo.cancelCallback) { showAllInfo.cancelCallback(); } } ); }} > {showAllInfo.isEdit ? (