2022-04-28 08:19:20 +02:00
import React from 'react' ;
import { ComponentStory , ComponentMeta } from '@storybook/react' ;
2022-05-08 01:13:06 +02:00
import ActionButtonRow from '../components/action-buttons/ActionButtonRow' ;
import ActionButton from '../components/action-buttons/ActionButton' ;
2022-04-28 08:19:20 +02:00
export default {
2022-05-17 23:24:48 +02:00
title : 'owncast/Components/Action Buttons/Buttons Row' ,
2022-05-08 01:13:06 +02:00
component : ActionButtonRow ,
2022-05-13 05:52:19 +02:00
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 . ` ,
} ,
} ,
} ,
2022-05-08 01:13:06 +02:00
} as ComponentMeta < typeof ActionButtonRow > ;
2022-04-28 08:19:20 +02:00
// eslint-disable-next-line @typescript-eslint/no-unused-vars
2022-05-12 08:31:31 +02:00
const Template : ComponentStory < typeof ActionButtonRow > = args = > {
const { buttons } = args as any ;
return < ActionButtonRow > { buttons } < / ActionButtonRow > ;
} ;
2022-04-28 08:19:20 +02:00
// eslint-disable-next-line @typescript-eslint/no-unused-vars
2022-05-08 01:13:06 +02:00
const actions = [
{
2022-04-28 08:19:20 +02:00
url : 'https://owncast.online/docs' ,
title : 'Documentation' ,
description : 'Owncast Documentation' ,
icon : 'https://owncast.online/images/logo.svg' ,
color : '#5232c8' ,
openExternally : false ,
} ,
2022-05-08 01:13:06 +02:00
{
2022-04-28 08:19:20 +02:00
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 ,
} ,
2022-05-08 01:13:06 +02:00
] ;
const buttons = actions . map ( action = > < ActionButton action = { action } / > ) ;
export const Example1 = Template . bind ( { } ) ;
Example1 . args = {
buttons ,
2022-04-28 08:19:20 +02:00
} ;