mirror of
				https://github.com/owncast/owncast.git
				synced 2025-11-04 05:17:27 +08:00 
			
		
		
		
	* Migrate web action-buttons directory to CSF3 notation * Migrate web chat directory to CSF3 notation * Migrate web common directory to CSF3 notation * Migrate web layout directory to CSF3 notation * Migrate web modals directory to CSF3 notation * Migrate web ui directory to CSF3 notation * Migrate web video directory to CSF3 notation * Migrate web stories directory to CSF3 notation
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { StoryFn, Meta } from '@storybook/react';
 | 
						|
import { action } from '@storybook/addon-actions';
 | 
						|
import { ActionButtonMenu } from './ActionButtonMenu';
 | 
						|
 | 
						|
const meta = {
 | 
						|
  title: 'owncast/Components/Action Buttons/Action Menu',
 | 
						|
  component: ActionButtonMenu,
 | 
						|
  parameters: {},
 | 
						|
} satisfies Meta<typeof ActionButtonMenu>;
 | 
						|
 | 
						|
export default meta;
 | 
						|
 | 
						|
const itemSelected = a => {
 | 
						|
  console.log('itemSelected', a);
 | 
						|
  action(a.title);
 | 
						|
};
 | 
						|
 | 
						|
const Template: StoryFn<typeof ActionButtonMenu> = args => (
 | 
						|
  <ActionButtonMenu {...args} externalActionSelected={a => itemSelected(a)} />
 | 
						|
);
 | 
						|
 | 
						|
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,
 | 
						|
  },
 | 
						|
];
 | 
						|
 | 
						|
export const Example = {
 | 
						|
  render: Template,
 | 
						|
 | 
						|
  args: {
 | 
						|
    actions,
 | 
						|
  },
 | 
						|
};
 | 
						|
 | 
						|
export const ShowFollowExample = {
 | 
						|
  render: Template,
 | 
						|
 | 
						|
  args: {
 | 
						|
    actions,
 | 
						|
    showFollowItem: true,
 | 
						|
  },
 | 
						|
};
 | 
						|
 | 
						|
export const ShowNotifyExample = {
 | 
						|
  render: Template,
 | 
						|
 | 
						|
  args: {
 | 
						|
    actions,
 | 
						|
    showNotifyItem: true,
 | 
						|
  },
 | 
						|
};
 | 
						|
 | 
						|
export const ShowNotifyAndFollowExample = {
 | 
						|
  render: Template,
 | 
						|
 | 
						|
  args: {
 | 
						|
    actions,
 | 
						|
    showNotifyItem: true,
 | 
						|
    showFollowItem: true,
 | 
						|
  },
 | 
						|
};
 |