// Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import * as React from 'react'; import { isBoolean } from 'lodash'; import { storiesOf } from '@storybook/react'; import { action } from '@storybook/addon-actions'; import { setupI18n } from '../../../util/setupI18n'; import enMessages from '../../../../_locales/en/messages.json'; import { ConversationDetailsActions, Props, } from './ConversationDetailsActions'; const i18n = setupI18n('en', enMessages); const story = storiesOf( 'Components/Conversation/ConversationDetails/ConversationDetailsActions', module ); const createProps = (overrideProps: Partial = {}): Props => ({ cannotLeaveBecauseYouAreLastAdmin: isBoolean( overrideProps.cannotLeaveBecauseYouAreLastAdmin ) ? overrideProps.cannotLeaveBecauseYouAreLastAdmin : false, conversationTitle: overrideProps.conversationTitle || '', left: isBoolean(overrideProps.left) ? overrideProps.left : false, onBlock: action('onBlock'), onLeave: action('onLeave'), onUnblock: action('onUnblock'), i18n, isBlocked: false, isGroup: true, }); story.add('Basic', () => { const props = createProps(); return ; }); story.add('Left the group', () => { const props = createProps({ left: true }); return ; }); story.add('Cannot leave because you are the last admin', () => { const props = createProps({ cannotLeaveBecauseYouAreLastAdmin: true }); return ; }); story.add('1:1', () => ( )); story.add('1:1 Blocked', () => ( ));