import type { Meta, StoryObj } from '@storybook/react' import { useState } from 'react' import { Button } from '../button/Button' import { AlertModal } from './AlertModal' import { ConfirmModal } from './ConfirmModal' const meta = { title: 'Components/Modal/AlertModal', component: AlertModal, } satisfies Meta export default meta type Story = StoryObj export const Default: Story = { render: function Render() { const [isOpen, setIsOpen] = useState(false) return ( <> console.log('확인 클릭')} /> ) }, } export const WithoutTitle: Story = { render: function Render() { const [isOpen, setIsOpen] = useState(false) return ( <> console.log('확인 클릭')} /> ) }, } export const CustomConfirmText: Story = { render: function Render() { const [isOpen, setIsOpen] = useState(false) return ( <> console.log('닫기 클릭')} /> ) }, } export const MultilineContent: Story = { render: function Render() { const [isOpen, setIsOpen] = useState(false) return ( <> console.log('확인 클릭')} /> ) }, } const confirmMeta = { title: 'Components/Modal/ConfirmModal', component: ConfirmModal, } satisfies Meta export const Confirm: StoryObj = { render: function Render() { const [isOpen, setIsOpen] = useState(false) return ( <> console.log('삭제 확인')} onCancel={() => console.log('취소 클릭')} /> ) }, } export const ConfirmWithCustomText: StoryObj = { render: function Render() { const [isOpen, setIsOpen] = useState(false) return ( <> console.log('저장 확인')} onCancel={() => console.log('저장 안 함 클릭')} /> ) }, } export const ConfirmWithAsyncAction: StoryObj = { render: function Render() { const [isOpen, setIsOpen] = useState(false) const handleConfirm = async () => { await new Promise((resolve) => setTimeout(resolve, 2000)) console.log('비동기 작업 완료') } return ( <> ) }, }