import { GuideArticleList } from './guide-article-list';
import { createMockArticleSummary } from '@/components/__test-utils__/mock-article';
import type { ArticleSummary } from '@/lib/articles/get-all-articles';
import type { ControlsMap } from '../../sub-packages/styleguide/src/data/control-types';
const mockArticles: ArticleSummary[] = [
createMockArticleSummary({
slug: 'col005-power',
title: 'モジュラーシンセ電源入門 その1: 電源の基礎知識',
description: 'モジュラーシンセの電源について基礎から解説します。',
createdAt: '2024-06-01',
imageSlug: 'https://takazudomodular.com/images/p/col-power-denkyu/1200w.webp',
tags: ['guide'],
contentType: 'guides',
}),
createMockArticleSummary({
slug: 'col001-diy-kits',
title: 'DIYキット入門 その1: DIYキットとは',
description: 'シンセDIYとDIYキットについて解説します。',
createdAt: '2024-03-10',
updatedAt: '2024-05-20',
imageSlug: 'https://takazudomodular.com/images/p/column-001-cover/1200w.webp',
tags: ['guide'],
contentType: 'guides',
}),
createMockArticleSummary({
slug: 'how-to-build-zudo-block',
title: 'ZUDO BLOCKの組み立て方',
description: 'ZUDO BLOCKの組み立て手順を解説します。',
createdAt: '2025-02-01',
imageSlug: 'https://takazudomodular.com/images/p/zudo-block-build__og/1200w.webp',
tags: ['guide'],
contentType: 'guides',
}),
createMockArticleSummary({
slug: 'oxi-one-guide1',
title: 'OXI ONE 解説 その1: 全体の設定とMono modeの操作',
description: 'OXI ONEシーケンサーの基本操作を解説します。',
createdAt: '2023-10-24',
imageSlug: 'https://takazudomodular.com/images/p/oxi-front/1200w.webp',
tags: ['guide'],
contentType: 'guides',
}),
createMockArticleSummary({
slug: 'col006-power-vol2',
title: 'モジュラーシンセ電源入門 その2: 電源モジュールの選び方',
description: '電源モジュールの選び方について解説します。',
createdAt: '2024-07-15',
updatedAt: '2024-12-01',
imageSlug: 'https://takazudomodular.com/images/p/col-power-denkyu/1200w.webp',
tags: ['guide'],
contentType: 'guides',
}),
createMockArticleSummary({
slug: 'col002-diy-tools',
title: 'DIYキット入門 その2: 必要な道具',
description: 'DIYキットの組み立てに必要な道具を解説します。',
createdAt: '2024-04-20',
imageSlug: 'https://takazudomodular.com/images/p/column-001-cover/1200w.webp',
tags: ['guide'],
contentType: 'guides',
}),
];
export const meta = {
title: 'List/GuideArticleList',
};
export const controls: ControlsMap = {
count: { type: 'number', default: 6, min: 0, max: 6 },
};
export const Default = {
args: { count: 6 },
render: ({ count }: { count: number }) => (
<GuideArticleList articles={mockArticles.slice(0, count)} />
),
};
export const SingleItem = () => <GuideArticleList articles={[mockArticles[0]]} />;
export const TwoItems = () => <GuideArticleList articles={mockArticles.slice(0, 2)} />;
export const Empty = () => <GuideArticleList articles={[]} />;