42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import type { Meta, StoryObj } from '@storybook/react';
|
|
import { ShareDialog } from './ShareDialog';
|
|
import { ToastProvider } from '@/components/feedback/ToastProvider';
|
|
|
|
const meta = {
|
|
title: 'Components/Features/Tracks/ShareDialog',
|
|
component: ShareDialog,
|
|
parameters: { layout: 'centered' },
|
|
tags: ['autodocs'],
|
|
argTypes: {
|
|
onClose: { action: 'closed' },
|
|
},
|
|
decorators: [
|
|
(Story) => (
|
|
<ToastProvider>
|
|
<div className="min-h-layout-story flex items-center justify-center p-4">
|
|
<Story />
|
|
</div>
|
|
</ToastProvider>
|
|
),
|
|
],
|
|
} satisfies Meta<typeof ShareDialog>;
|
|
|
|
export default meta;
|
|
type Story = StoryObj<typeof meta>;
|
|
|
|
export const Default: Story = {
|
|
args: {
|
|
open: true,
|
|
trackId: 't1',
|
|
trackTitle: 'Neon Nights',
|
|
},
|
|
};
|
|
|
|
/** Long share URL to validate layout and tokens. */
|
|
export const VisualStressTest: Story = {
|
|
args: {
|
|
open: true,
|
|
trackId: 'stress-long-id-for-share',
|
|
trackTitle: 'A Very Long Track Title That Might Wrap in the Dialog',
|
|
},
|
|
};
|