2021-05-07 22:21:10 +00:00
|
|
|
// Copyright 2020-2021 Signal Messenger, LLC
|
2020-10-30 20:34:04 +00:00
|
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
2020-06-26 00:08:58 +00:00
|
|
|
import * as React from 'react';
|
2020-09-12 00:46:52 +00:00
|
|
|
import { action } from '@storybook/addon-actions';
|
|
|
|
import { storiesOf } from '@storybook/react';
|
|
|
|
|
2020-06-26 00:08:58 +00:00
|
|
|
import { SafetyNumberChangeDialog } from './SafetyNumberChangeDialog';
|
2021-05-07 22:21:10 +00:00
|
|
|
import { getDefaultConversation } from '../test-both/helpers/getDefaultConversation';
|
2021-09-18 00:30:08 +00:00
|
|
|
import { setupI18n } from '../util/setupI18n';
|
2020-06-26 00:08:58 +00:00
|
|
|
import enMessages from '../../_locales/en/messages.json';
|
2021-11-17 21:58:34 +00:00
|
|
|
import { StorybookThemeContext } from '../../.storybook/StorybookThemeContext';
|
|
|
|
import { getFakeBadge } from '../test-both/helpers/getFakeBadge';
|
2020-06-26 00:08:58 +00:00
|
|
|
|
|
|
|
const i18n = setupI18n('en', enMessages);
|
|
|
|
|
2021-05-07 22:21:10 +00:00
|
|
|
const contactWithAllData = getDefaultConversation({
|
2021-04-27 19:29:59 +00:00
|
|
|
id: 'abc',
|
2020-06-26 00:08:58 +00:00
|
|
|
avatarPath: undefined,
|
2020-07-24 01:35:32 +00:00
|
|
|
profileName: '-*Smartest Dude*-',
|
2020-07-29 23:20:05 +00:00
|
|
|
title: 'Rick Sanchez',
|
2020-06-26 00:08:58 +00:00
|
|
|
name: 'Rick Sanchez',
|
2020-07-24 01:35:32 +00:00
|
|
|
phoneNumber: '(305) 123-4567',
|
2021-05-07 22:21:10 +00:00
|
|
|
});
|
2020-07-24 01:35:32 +00:00
|
|
|
|
2021-05-07 22:21:10 +00:00
|
|
|
const contactWithJustProfile = getDefaultConversation({
|
2021-04-27 19:29:59 +00:00
|
|
|
id: 'def',
|
2020-07-24 01:35:32 +00:00
|
|
|
avatarPath: undefined,
|
2020-07-29 23:20:05 +00:00
|
|
|
title: '-*Smartest Dude*-',
|
2020-07-24 01:35:32 +00:00
|
|
|
profileName: '-*Smartest Dude*-',
|
|
|
|
name: undefined,
|
|
|
|
phoneNumber: '(305) 123-4567',
|
2021-05-07 22:21:10 +00:00
|
|
|
});
|
2020-07-24 01:35:32 +00:00
|
|
|
|
2021-05-07 22:21:10 +00:00
|
|
|
const contactWithJustNumber = getDefaultConversation({
|
2021-04-27 19:29:59 +00:00
|
|
|
id: 'xyz',
|
2020-07-24 01:35:32 +00:00
|
|
|
avatarPath: undefined,
|
|
|
|
profileName: undefined,
|
|
|
|
name: undefined,
|
2020-07-29 23:20:05 +00:00
|
|
|
title: '(305) 123-4567',
|
2020-07-24 01:35:32 +00:00
|
|
|
phoneNumber: '(305) 123-4567',
|
2021-05-07 22:21:10 +00:00
|
|
|
});
|
2020-07-24 01:35:32 +00:00
|
|
|
|
2021-05-07 22:21:10 +00:00
|
|
|
const contactWithNothing = getDefaultConversation({
|
2020-07-24 01:35:32 +00:00
|
|
|
id: 'some-guid',
|
|
|
|
avatarPath: undefined,
|
|
|
|
profileName: undefined,
|
|
|
|
name: undefined,
|
|
|
|
phoneNumber: undefined,
|
2020-07-29 23:20:05 +00:00
|
|
|
title: 'Unknown contact',
|
2021-05-07 22:21:10 +00:00
|
|
|
});
|
2020-06-26 00:08:58 +00:00
|
|
|
|
2021-11-17 21:58:34 +00:00
|
|
|
const useTheme = () => React.useContext(StorybookThemeContext);
|
|
|
|
|
2020-06-26 00:08:58 +00:00
|
|
|
storiesOf('Components/SafetyNumberChangeDialog', module)
|
|
|
|
.add('Single Contact Dialog', () => {
|
2021-11-17 21:58:34 +00:00
|
|
|
const theme = useTheme();
|
2020-06-26 00:08:58 +00:00
|
|
|
return (
|
|
|
|
<SafetyNumberChangeDialog
|
2020-07-24 01:35:32 +00:00
|
|
|
contacts={[contactWithAllData]}
|
2021-11-17 21:58:34 +00:00
|
|
|
getPreferredBadge={() => undefined}
|
2020-06-26 00:08:58 +00:00
|
|
|
i18n={i18n}
|
|
|
|
onCancel={action('cancel')}
|
|
|
|
onConfirm={action('confirm')}
|
|
|
|
renderSafetyNumber={() => {
|
|
|
|
action('renderSafetyNumber');
|
|
|
|
return <div>This is a mock Safety Number View</div>;
|
|
|
|
}}
|
2021-11-17 21:58:34 +00:00
|
|
|
theme={theme}
|
2020-06-26 00:08:58 +00:00
|
|
|
/>
|
|
|
|
);
|
|
|
|
})
|
2020-08-26 20:30:10 +00:00
|
|
|
.add('Different Confirmation Text', () => {
|
2021-11-17 21:58:34 +00:00
|
|
|
const theme = useTheme();
|
2020-08-26 20:30:10 +00:00
|
|
|
return (
|
|
|
|
<SafetyNumberChangeDialog
|
|
|
|
confirmText="You are awesome"
|
|
|
|
contacts={[contactWithAllData]}
|
2021-11-17 21:58:34 +00:00
|
|
|
getPreferredBadge={() => undefined}
|
2020-08-26 20:30:10 +00:00
|
|
|
i18n={i18n}
|
|
|
|
onCancel={action('cancel')}
|
|
|
|
onConfirm={action('confirm')}
|
|
|
|
renderSafetyNumber={() => {
|
|
|
|
action('renderSafetyNumber');
|
|
|
|
return <div>This is a mock Safety Number View</div>;
|
|
|
|
}}
|
2021-11-17 21:58:34 +00:00
|
|
|
theme={theme}
|
2020-08-26 20:30:10 +00:00
|
|
|
/>
|
|
|
|
);
|
|
|
|
})
|
2020-06-26 00:08:58 +00:00
|
|
|
.add('Multi Contact Dialog', () => {
|
2021-11-17 21:58:34 +00:00
|
|
|
const theme = useTheme();
|
|
|
|
return (
|
|
|
|
<SafetyNumberChangeDialog
|
|
|
|
contacts={[
|
|
|
|
contactWithAllData,
|
|
|
|
contactWithJustProfile,
|
|
|
|
contactWithJustNumber,
|
|
|
|
contactWithNothing,
|
|
|
|
]}
|
|
|
|
getPreferredBadge={() => undefined}
|
|
|
|
i18n={i18n}
|
|
|
|
onCancel={action('cancel')}
|
|
|
|
onConfirm={action('confirm')}
|
|
|
|
renderSafetyNumber={() => {
|
|
|
|
action('renderSafetyNumber');
|
|
|
|
return <div>This is a mock Safety Number View</div>;
|
|
|
|
}}
|
|
|
|
theme={theme}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
})
|
|
|
|
.add('Multiple contacts, all with badges', () => {
|
|
|
|
const theme = useTheme();
|
2020-06-26 00:08:58 +00:00
|
|
|
return (
|
|
|
|
<SafetyNumberChangeDialog
|
2020-07-24 01:35:32 +00:00
|
|
|
contacts={[
|
|
|
|
contactWithAllData,
|
|
|
|
contactWithJustProfile,
|
|
|
|
contactWithJustNumber,
|
|
|
|
contactWithNothing,
|
|
|
|
]}
|
2021-11-17 21:58:34 +00:00
|
|
|
getPreferredBadge={() => getFakeBadge()}
|
2020-06-26 00:08:58 +00:00
|
|
|
i18n={i18n}
|
|
|
|
onCancel={action('cancel')}
|
|
|
|
onConfirm={action('confirm')}
|
|
|
|
renderSafetyNumber={() => {
|
|
|
|
action('renderSafetyNumber');
|
|
|
|
return <div>This is a mock Safety Number View</div>;
|
|
|
|
}}
|
2021-11-17 21:58:34 +00:00
|
|
|
theme={theme}
|
2020-06-26 00:08:58 +00:00
|
|
|
/>
|
|
|
|
);
|
|
|
|
})
|
|
|
|
.add('Scroll Dialog', () => {
|
2021-11-17 21:58:34 +00:00
|
|
|
const theme = useTheme();
|
2020-06-26 00:08:58 +00:00
|
|
|
return (
|
|
|
|
<SafetyNumberChangeDialog
|
|
|
|
contacts={[
|
2020-07-24 01:35:32 +00:00
|
|
|
contactWithAllData,
|
|
|
|
contactWithJustProfile,
|
|
|
|
contactWithJustNumber,
|
|
|
|
contactWithNothing,
|
|
|
|
contactWithAllData,
|
|
|
|
contactWithAllData,
|
|
|
|
contactWithAllData,
|
|
|
|
contactWithAllData,
|
|
|
|
contactWithAllData,
|
|
|
|
contactWithAllData,
|
2020-06-26 00:08:58 +00:00
|
|
|
]}
|
2021-11-17 21:58:34 +00:00
|
|
|
getPreferredBadge={() => undefined}
|
2020-06-26 00:08:58 +00:00
|
|
|
i18n={i18n}
|
|
|
|
onCancel={action('cancel')}
|
|
|
|
onConfirm={action('confirm')}
|
|
|
|
renderSafetyNumber={() => {
|
|
|
|
action('renderSafetyNumber');
|
|
|
|
return <div>This is a mock Safety Number View</div>;
|
|
|
|
}}
|
2021-11-17 21:58:34 +00:00
|
|
|
theme={theme}
|
2020-06-26 00:08:58 +00:00
|
|
|
/>
|
|
|
|
);
|
|
|
|
});
|