Skip to content

Instantly share code, notes, and snippets.

@arifikhsan
Created November 11, 2021 06:41
Show Gist options
  • Select an option

  • Save arifikhsan/d2b2a16663e66c4ed57b3a91c942370d to your computer and use it in GitHub Desktop.

Select an option

Save arifikhsan/d2b2a16663e66c4ed57b3a91c942370d to your computer and use it in GitHub Desktop.

Revisions

  1. arifikhsan created this gist Nov 11, 2021.
    60 changes: 60 additions & 0 deletions MessageVerifyDialog.jsx
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,60 @@
    import React, { useEffect, useState } from 'react';
    import Button from '@material-ui/core/Button';
    import Dialog from '@material-ui/core/Dialog';
    import DialogActions from '@material-ui/core/DialogActions';
    import DialogContent from '@material-ui/core/DialogContent';
    import DialogContentText from '@material-ui/core/DialogContentText';
    import DialogTitle from '@material-ui/core/DialogTitle';
    import Verify from './user/Verify';

    function MessageVerifyDialog({ messageData, onClose, onSuccess }) {
    const isConfirmation = typeof onSuccess !== 'undefined';

    const [open, setOpen] = useState(false);

    const handleCancel = () => {
    setOpen(false);
    onClose();
    };

    const handleOk = () => {
    setOpen(false);
    if (isConfirmation) {
    onSuccess(messageData?.data);
    } else {
    onClose();
    }
    };

    useEffect(() => {
    if (messageData?.message) {
    setOpen(true);
    }
    }, [messageData]);

    return (
    <>
    <Dialog
    open={open}
    onClose={handleCancel}
    aria-labelledby='message-dialog-title'>
    <DialogTitle id='message-dialog-title'>
    {messageData?.title || ''}
    </DialogTitle>
    <DialogContent>
    <DialogContentText>
    <Verify />
    </DialogContentText>
    </DialogContent>
    <DialogActions>
    {isConfirmation && <Button onClick={handleCancel}>Cancel</Button>}
    <Button onClick={handleOk} color='primary'>
    OK
    </Button>
    </DialogActions>
    </Dialog>
    </>
    );
    }

    export default MessageVerifyDialog;