import type { Meta, StoryObj } from '@storybook/vue3-vite' import ProjectSidebarDetails from '../../components/project/ProjectSidebarDetails.vue' const now = new Date() const daysAgo = (days: number) => new Date(now.getTime() - days * 86400000).toISOString() const meta = { title: 'Sidebar/ProjectSidebarDetails', component: ProjectSidebarDetails, decorators: [ (story) => ({ components: { story }, template: '
', }), ], } satisfies Meta export default meta type Story = StoryObj export const Default: Story = { args: { project: { id: 'project-1', published: daysAgo(365), updated: daysAgo(3), approved: daysAgo(360), queued: '', status: 'approved', license: { id: 'LGPL-3.0-only', url: 'https://www.gnu.org/licenses/lgpl-3.0.html', }, }, linkTarget: '_blank', hasVersions: true, }, } export const AllRightsReserved: Story = { args: { project: { id: 'project-2', published: daysAgo(180), updated: daysAgo(7), approved: daysAgo(175), queued: '', status: 'approved', license: { id: 'LicenseRef-All-Rights-Reserved', url: '', }, }, linkTarget: '_blank', hasVersions: true, }, } export const CustomLicense: Story = { args: { project: { id: 'project-3', published: daysAgo(90), updated: daysAgo(1), approved: daysAgo(85), queued: '', status: 'approved', license: { id: 'LicenseRef-My-Custom-License', url: 'https://example.com/license', }, }, linkTarget: '_blank', hasVersions: true, }, } export const Processing: Story = { args: { project: { id: 'project-4', published: daysAgo(2), updated: '', approved: '', queued: daysAgo(1), status: 'processing', license: { id: 'MIT', url: 'https://opensource.org/licenses/MIT', }, }, linkTarget: '_blank', hasVersions: false, }, } export const HiddenLicense: Story = { args: { project: { id: 'project-5', published: daysAgo(30), updated: daysAgo(5), approved: daysAgo(28), queued: '', status: 'approved', license: { id: 'MIT', url: '', }, }, linkTarget: '_blank', hasVersions: true, hideLicense: true, }, }