// Copyright 2021-2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import React, { useState } from 'react'; import { action } from '@storybook/addon-actions'; import { text } from '@storybook/addon-knobs'; import type { Props } from './MessageBodyReadMore'; import { MessageBodyReadMore } from './MessageBodyReadMore'; import { setupI18n } from '../../util/setupI18n'; import enMessages from '../../../_locales/en/messages.json'; const i18n = setupI18n('en', enMessages); export default { title: 'Components/Conversation/MessageBodyReadMore', }; const createProps = (overrideProps: Partial = {}): Props => ({ bodyRanges: overrideProps.bodyRanges, direction: 'incoming', displayLimit: overrideProps.displayLimit, i18n, id: 'some-id', messageExpanded: action('messageExpanded'), text: text('text', overrideProps.text || ''), }); function MessageBodyReadMoreTest({ text: messageBodyText, }: { text: string; }): JSX.Element { const [displayLimit, setDisplayLimit] = useState(); return ( setDisplayLimit(newDisplayLimit)} /> ); } export const LongText100More = (): JSX.Element => ( ); LongText100More.story = { name: 'Long text + 100 more', }; export const LotsOfCakeWithSomeCherriesOnTop = (): JSX.Element => ( ); LotsOfCakeWithSomeCherriesOnTop.story = { name: 'Lots of cake with some cherries on top', }; export const LeafyNotBuffered = (): JSX.Element => ( ); LeafyNotBuffered.story = { name: 'Leafy not buffered', }; export const Links = (): JSX.Element => ( ); export const ExcessiveAmountsOfCake = (): JSX.Element => ( ); ExcessiveAmountsOfCake.story = { name: 'Excessive amounts of cake', }; export const LongText = (): JSX.Element => ( ); LongText.story = { name: 'Long text', };