import type { Meta, StoryObj } from '@storybook/nextjs-vite' import { BlogCard } from '../components/chat/entity-cards' import { ChatColumnDecorator } from './__fixtures__/chat-card-decorator' import { blogPostSummary } from './__fixtures__/chat-cards' const meta: Meta = { title: 'Chat/EntityCards/BlogCard', component: BlogCard, parameters: { layout: 'fullscreen', docs: { description: { component: 'Card for the `blog_post` doc type. Has two densities — `sm` is the compact horizontal chat-inline form (~80px tall), `default` is the full vertical catalog card. The card composes its own `` from `href`; callers resolve the URL via `buildContentURL` or `useNavLink`.', }, }, }, decorators: [(Story) => ], } export default meta type Story = StoryObj export const ChatInlineSm: Story = { args: { post: blogPostSummary, href: '/blog/' + blogPostSummary.slug, size: 'sm', target: '_blank', rel: 'noopener noreferrer', }, } export const ChatInlineWithVideoBadge: Story = { args: { post: blogPostSummary, href: '/blog/' + blogPostSummary.slug, size: 'sm', target: '_blank', rel: 'noopener noreferrer', hasEmbeddedVideo: true, }, } export const Default: Story = { args: { post: blogPostSummary, href: '/blog/' + blogPostSummary.slug, size: 'default', target: '_blank', rel: 'noopener noreferrer', }, parameters: { docs: { description: { story: 'Full vertical catalog card. Not used inline in chat (the chat dispatch always passes `size="sm"`), but the card supports it for the related-content rail.', }, }, }, }