You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.7 KiB
49 lines
1.7 KiB
import React from 'react'; |
|
import { ComponentStory, ComponentMeta } from '@storybook/react'; |
|
import ActionButtonRow from '../components/action-buttons/ActionButtonRow'; |
|
import ActionButton from '../components/action-buttons/ActionButton'; |
|
|
|
export default { |
|
title: 'owncast/Components/Action Buttons/Buttons Row', |
|
component: ActionButtonRow, |
|
parameters: { |
|
docs: { |
|
description: { |
|
component: `This is a horizontal row of buttons that could be statically created by the Owncast application (such as Notify, Follow) or are user-generated external actions (Donate, Learn more, etc). |
|
There can be any number of buttons, including zero. They should wrap if needed and handle resizing.`, |
|
}, |
|
}, |
|
}, |
|
} as ComponentMeta<typeof ActionButtonRow>; |
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars |
|
const Template: ComponentStory<typeof ActionButtonRow> = args => { |
|
const { buttons } = args as any; |
|
return <ActionButtonRow>{buttons}</ActionButtonRow>; |
|
}; |
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars |
|
const actions = [ |
|
{ |
|
url: 'https://owncast.online/docs', |
|
title: 'Documentation', |
|
description: 'Owncast Documentation', |
|
icon: 'https://owncast.online/images/logo.svg', |
|
color: '#5232c8', |
|
openExternally: false, |
|
}, |
|
{ |
|
url: 'https://opencollective.com/embed/owncast/donate', |
|
title: 'Support Owncast', |
|
description: 'Contribute to Owncast', |
|
icon: 'https://opencollective.com/static/images/opencollective-icon.svg', |
|
color: '#2b4863', |
|
openExternally: false, |
|
}, |
|
]; |
|
|
|
const buttons = actions.map(action => <ActionButton action={action} />); |
|
export const Example1 = Template.bind({}); |
|
Example1.args = { |
|
buttons, |
|
};
|
|
|