// Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import * as React from 'react'; import { boolean, number, text } from '@storybook/addon-knobs'; import { action } from '@storybook/addon-actions'; import type { PropsType } from './GroupV2JoinDialog'; import { GroupV2JoinDialog } from './GroupV2JoinDialog'; import { setupI18n } from '../util/setupI18n'; import enMessages from '../../_locales/en/messages.json'; const i18n = setupI18n('en', enMessages); const createProps = (overrideProps: Partial = {}): PropsType => ({ memberCount: number('memberCount', overrideProps.memberCount || 12), avatar: overrideProps.avatar, title: text('title', overrideProps.title || 'Random Group!'), approvalRequired: boolean( 'approvalRequired', overrideProps.approvalRequired || false ), groupDescription: overrideProps.groupDescription, join: action('join'), onClose: action('onClose'), i18n, }); export default { title: 'Components/GroupV2JoinDialog', }; export function Basic(): JSX.Element { return ; } export function ApprovalRequired(): JSX.Element { return ( ); } ApprovalRequired.story = { name: 'Approval required', }; export function WithAvatar(): JSX.Element { return ( ); } WithAvatar.story = { name: 'With avatar', }; export function WithOneMember(): JSX.Element { return ( ); } WithOneMember.story = { name: 'With one member', }; export function AvatarLoadingState(): JSX.Element { return ( ); } AvatarLoadingState.story = { name: 'Avatar loading state', }; export function Full(): JSX.Element { return ( ); }