import type { Meta, StoryObj } from '@storybook/react-vite'; import { fn } from 'storybook/test'; import { BanUserModal } from './BanUserModal'; /** * BanUserModal - Modal de suspension d'utilisateur * * Modal permettant de configurer et confirmer la suspension * d'un utilisateur avec raison, durée et notes internes. */ const meta: Meta = { title: 'Components/Features/Admin/Modals/BanUserModal', component: BanUserModal, parameters: { layout: 'centered', docs: { description: { component: 'Modal de suspension avec options temporaire/permanent et raisons prédéfinies.', }, }, }, tags: ['autodocs'], args: { username: 'troublemaker_user', onClose: fn(), onConfirm: fn(), }, argTypes: { username: { control: 'text', description: 'Nom d\'utilisateur à suspendre', }, onClose: { action: 'onClose', description: 'Callback appelé à la fermeture', }, onConfirm: { action: 'onConfirm', description: 'Callback appelé à la confirmation avec (reason, details, duration)', }, }, decorators: [ (Story) => (
), ], }; export default meta; type Story = StoryObj; /** * État par défaut de la modal. */ export const Default: Story = { name: 'Par défaut', }; /** * Étape de confirmation avant suspension. */ export const Confirm: Story = { name: 'Confirmation', args: { username: 'spammer_account', }, parameters: { docs: { description: { story: 'Prêt à confirmer la suspension de l\'utilisateur.', }, }, }, };