import type { Meta, StoryObj } from '@storybook/react'; import { useRef, useState } from 'react'; import MiniModal from './MiniModal'; import Button from '../Button/Button'; import './MiniModal.scss'; import Typography from '../Typography'; const meta: Meta = { title: 'Components/MiniModal', component: MiniModal, parameters: { layout: 'centered', }, tags: ['autodocs'], }; type Story = StoryObj; const useModal = () => { const [currentModal, setCurrentModal] = useState(null); const openModal = (modalId: number) => { setCurrentModal((prevModal) => (prevModal === modalId ? null : modalId)); }; const closeModal = () => setCurrentModal(null); return { currentModal, openModal, closeModal }; }; const BasicModalComponent = () => { const btnRef1 = useRef(null); const btnRef2 = useRef(null); const { currentModal, openModal, closeModal } = useModal(); const handleCancel = () => { closeModal(); }; return (
); }; export const BasicModal: Story = { render: () => , }; export const CustomModalWithWrapper = () => { const btnRef1 = useRef(null); const btnRef2 = useRef(null); const btnRef3 = useRef(null); const { currentModal, openModal, closeModal } = useModal(); const handleCancel = () => { closeModal(); }; return (
); }; export const CustomModalWithArrow = () => { const btnRef1 = useRef(null); const btnRef2 = useRef(null); const btnRef3 = useRef(null); const btnRef4 = useRef(null); const btnRef5 = useRef(null); const { currentModal, openModal, closeModal } = useModal(); const handleCancel = () => { closeModal(); }; return (
); }; export default meta;