diff --git a/ts/components/conversation/TimerNotification.md b/ts/components/conversation/TimerNotification.md deleted file mode 100644 index 1826e1010..000000000 --- a/ts/components/conversation/TimerNotification.md +++ /dev/null @@ -1,67 +0,0 @@ -### From other - -```jsx - - - - -``` - -### You changed - -```jsx - - - - -``` - -### Changed via sync - -```jsx - - - - -``` diff --git a/ts/components/conversation/TimerNotification.stories.tsx b/ts/components/conversation/TimerNotification.stories.tsx new file mode 100644 index 000000000..6cf98a7f9 --- /dev/null +++ b/ts/components/conversation/TimerNotification.stories.tsx @@ -0,0 +1,90 @@ +import * as React from 'react'; +import { storiesOf } from '@storybook/react'; +import { boolean, select, text } from '@storybook/addon-knobs'; + +// @ts-ignore +import { setup as setupI18n } from '../../../js/modules/i18n'; + +// @ts-ignore +import enMessages from '../../../_locales/en/messages.json'; + +import { Props, TimerNotification } from './TimerNotification'; + +const i18n = setupI18n('en', enMessages); + +const story = storiesOf('Components/Conversation/TimerNotification', module); + +const createProps = (overrideProps: Partial = {}): Props => ({ + i18n, + type: select( + 'type', + { + fromOther: 'fromOther', + fromMe: 'fromMe', + fromSync: 'fromSync', + }, + overrideProps.type || 'fromOther' + ), + phoneNumber: + text('phoneNumber', overrideProps.phoneNumber || '') || undefined, + profileName: + text('profileName', overrideProps.profileName || '') || undefined, + title: text('title', overrideProps.title || ''), + name: text('name', overrideProps.name || '') || undefined, + disabled: boolean('disabled', overrideProps.disabled || false), + timespan: text('timespan', overrideProps.timespan || ''), +}); + +story.add('Set By Other', () => { + const props = createProps({ + type: 'fromOther', + phoneNumber: '(202) 555-1000', + profileName: 'Mr. Fire', + title: 'Mr. Fire', + timespan: '1 hour', + }); + + return ( + <> + +
+ + + ); +}); + +story.add('Set By You', () => { + const props = createProps({ + type: 'fromMe', + phoneNumber: '(202) 555-1000', + profileName: 'Mr. Fire', + title: 'Mr. Fire', + timespan: '1 hour', + }); + + return ( + <> + +
+ + + ); +}); + +story.add('Set By Sync', () => { + const props = createProps({ + type: 'fromSync', + phoneNumber: '(202) 555-1000', + profileName: 'Mr. Fire', + title: 'Mr. Fire', + timespan: '1 hour', + }); + + return ( + <> + +
+ + + ); +}); diff --git a/ts/components/conversation/TimerNotification.tsx b/ts/components/conversation/TimerNotification.tsx index c0cdf6d0b..b889cef29 100644 --- a/ts/components/conversation/TimerNotification.tsx +++ b/ts/components/conversation/TimerNotification.tsx @@ -19,7 +19,7 @@ type PropsHousekeeping = { i18n: LocalizerType; }; -type Props = PropsData & PropsHousekeeping; +export type Props = PropsData & PropsHousekeeping; export class TimerNotification extends React.Component { public renderContents() {