import { Dialog, DialogTitle, Transition } from "@headlessui/react"; import { CheckCircleIcon } from "@heroicons/react/24/outline"; import React, { Fragment } from "react"; interface SuccessModalProps { isOpen: boolean; onClose: () => void; } const SuccessModal: React.FC<SuccessModalProps> = ({ isOpen, onClose }) => ( <Transition show={isOpen} as={Fragment}> <Dialog as="div" className="fixed z-10 inset-0 overflow-y-auto" open={isOpen} onClose={onClose} > <div className="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"> <Transition.Child as={Fragment} enter="ease-out duration-300" enterFrom="opacity-0" enterTo="opacity-100" leave="ease-in duration-200" leaveFrom="opacity-100" leaveTo="opacity-0" > <div className="fixed inset-0 bg-gray-500 dark:bg-gray-800 bg-opacity-75 transition-opacity" /> </Transition.Child> <span className="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true" > ​ </span> <Transition.Child as={Fragment} enter="ease-out duration-300" enterFrom="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" enterTo="opacity-100 translate-y-0 sm:scale-100" leave="ease-in duration-200" leaveFrom="opacity-100 translate-y-0 sm:scale-100" leaveTo="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" > <div className="inline-block align-bottom bg-white dark:bg-gray-900 rounded-lg px-6 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:align-middle sm:max-w-lg sm:w-full sm:p-6"> <div className="sm:flex sm:items-start"> <div className="mx-auto flex items-center justify-center h-12 w-12 rounded-full bg-green-100 dark:bg-green-900 sm:mx-0 sm:h-12 sm:w-12"> <CheckCircleIcon className="h-6 w-6 text-green-600 dark:text-green-400" aria-hidden="true" /> </div> <div className="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left"> <DialogTitle as="h3" className="text-lg leading-6 font-medium text-gray-900 dark:text-gray-200" > Documents Updated </DialogTitle> <div className="mt-2"> <p className="text-sm text-gray-500 dark:text-gray-400"> The documents have been successfully updated with the new titles and tags. </p> </div> </div> </div> <div className="mt-5 sm:mt-4 sm:flex sm:flex-row-reverse"> <button onClick={onClose} className="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-green-600 dark:bg-green-700 text-base font-medium text-white hover:bg-green-700 dark:hover:bg-green-800 focus:outline-none sm:ml-3 sm:w-auto sm:text-sm" > OK </button> </div> </div> </Transition.Child> </div> </Dialog> </Transition> ); export default SuccessModal;