import type { Meta, StoryObj } from "@storybook/react"; import { useState } from "react"; import { ThemeProviderDecorators } from "@/storybook/Decorator"; import { Button } from "../button/button"; import { Modal, ModalDescription, ModalHeader, ModalTitle } from "./modal"; import { useModal } from "./modal.hook"; const meta = { title: "UI/Modal", component: Modal, tags: ["autodocs"], decorators: ThemeProviderDecorators, } satisfies Meta; export default meta; type Story = StoryObj; export const DefaultModal: Story = { render: () => { // eslint-disable-next-line react-hooks/rules-of-hooks const [open, setOpen] = useState(true); const modalHeader = ( Rezervasyonu değiştirme talebi oluşturmak istediğine emin misin? Seçilen uçak bileti talep oluşturan kişinin onayına gönderilecektir. ); const handleCloseModal = () => setOpen(false); const handleOpenModal = () => setOpen(true); return ( <> ); }, }; /** * @desc this modal used with useModal hook. */ export const CustomModal: Story = { args: { /* @desc This parameter works only once when first time. */ open: false, variant: "warning", onOkText: "Onayla", onCancelText: "Vazgeç", title: "Rezervasyonu değiştirme talebi oluşturmak istediğine emin misin?", description: "Seçilen uçak bileti talep oluşturan kişinin onayına gönderilecektir.", closable: false, }, render: ({ open, ...props }) => { // eslint-disable-next-line react-hooks/rules-of-hooks const { openModal, closeModal, modalOpen } = useModal({ open }); return ( <> ); }, }; /** * @desc this modal used with useModal hook. */ export const CustomModalWithChildren: Story = { args: { /* @desc This parameter works only once when first time. */ open: false, variant: "error", onOkText: "Evet, eminim", okVariant: "error", onCancelText: "Vazgeç", title: "Rezervasyonu değiştirme talebini silmek istediğine emin misin?", description: "Seçilen uçak bileti silinecektir. Buna emin misiniz?", closable: false, }, render: ({ open, ...props }) => { // eslint-disable-next-line react-hooks/rules-of-hooks const { openModal, closeModal, modalOpen } = useModal({ open }); return ( <>
Silinecek rezervasyon detayları:
Rezervasyon Kodu: 123456789
Ad Soyad: John Doe
Telefon: 555 555 55 55
E-posta: aaa@aaa.com
); }, };