// Copyright 2020 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import * as React from 'react'; import { boolean, number } from '@storybook/addon-knobs'; import { action } from '@storybook/addon-actions'; import type { PropsType } from './CallingHeader'; import { CallingHeader } from './CallingHeader'; import { setupI18n } from '../util/setupI18n'; import enMessages from '../../_locales/en/messages.json'; const i18n = setupI18n('en', enMessages); const createProps = (overrideProps: Partial = {}): PropsType => ({ i18n, isGroupCall: boolean('isGroupCall', Boolean(overrideProps.isGroupCall)), message: overrideProps.message, participantCount: number( 'participantCount', overrideProps.participantCount || 0 ), showParticipantsList: boolean( 'showParticipantsList', Boolean(overrideProps.showParticipantsList) ), title: overrideProps.title || 'With Someone', toggleParticipants: () => action('toggle-participants'), togglePip: () => action('toggle-pip'), toggleSettings: () => action('toggle-settings'), }); export default { title: 'Components/CallingHeader', }; export function Default(): JSX.Element { return ; } export function LobbyStyle(): JSX.Element { return ( ); } LobbyStyle.story = { name: 'Lobby style', }; export function WithParticipants(): JSX.Element { return ( ); } export function WithParticipantsShown(): JSX.Element { return ( ); } WithParticipantsShown.story = { name: 'With Participants (shown)', }; export function LongTitle(): JSX.Element { return ( ); } export function TitleWithMessage(): JSX.Element { return ( ); } TitleWithMessage.story = { name: 'Title with message', };