Show bank account field if Stripe not connected yet

This commit is contained in:
Kimmo Puputti 2017-04-05 11:26:28 +03:00
parent 67a97bce86
commit a65f808f88
5 changed files with 12 additions and 5 deletions

View file

@ -4,7 +4,7 @@ import EditListingForm from './EditListingForm';
export const Empty = {
component: EditListingForm,
props: {
images: [],
stripeConnected: false,
onImageUpload: values => {
console.log(`onImageUpload with id (${values.id}) and file name (${values.file.name})`);
},

View file

@ -160,6 +160,7 @@ export class EditListingFormComponent extends Component {
saveActionMsg = 'Save listing',
submitting,
selectedPlace,
stripeConnected,
} = this.props;
const titleRequiredMessage = intl.formatMessage({ id: 'EditListingForm.titleRequired' });
const maxLengthMessage = intl.formatMessage(
@ -186,6 +187,7 @@ export class EditListingFormComponent extends Component {
const pricePlaceholderMessage = intl.formatMessage({ id: 'EditListingForm.pricePlaceholder' });
const country = selectedPlace ? selectedPlace.country : null;
const showBankAccountField = !stripeConnected && country;
const currency = config.currencyConfig.currency;
return (
@ -253,7 +255,7 @@ export class EditListingFormComponent extends Component {
validate={[required(descriptionRequiredMessage)]}
/>
{country
{showBankAccountField
? <Field
name="bankAccountToken"
component={StripeBankAccountToken}
@ -280,6 +282,7 @@ EditListingFormComponent.propTypes = {
...formPropTypes,
initData: shape({ title: string, description: string }),
selectedPlace: propTypes.place,
stripeConnected: bool.isRequired,
intl: intlShape.isRequired,
onImageUpload: func.isRequired,
onUpdateImageOrder: func.isRequired,

View file

@ -19,6 +19,7 @@ describe('EditListingForm', () => {
onImageUpload={v => v}
onSubmit={v => v}
onUpdateImageOrder={v => v}
stripeConnected={false}
/>
);
expect(tree).toMatchSnapshot();

View file

@ -87,8 +87,9 @@ export class EditListingPageComponent extends Component {
? intl.formatMessage({ id: 'EditListingPage.titleCreateListing' })
: intl.formatMessage({ id: 'EditListingPage.titleEditListing' });
// eslint-disable-next-line no-console
console.log('current user:', currentUser);
const stripeConnected = currentUser && currentUser.attributes
? currentUser.attributes.stripeConnected
: false;
return (
<PageLayout title={title}>
@ -100,6 +101,7 @@ export class EditListingPageComponent extends Component {
onSubmit={onSubmit(onCreateListing)}
onUpdateImageOrder={onUpdateImageOrder}
saveActionMsg={saveActionMsg}
stripeConnected={stripeConnected}
/>
</PageLayout>
);

View file

@ -7,6 +7,7 @@ exports[`EditListingPageComponent matches snapshot 1`] = `
onImageUpload={[Function]}
onSubmit={[Function]}
onUpdateImageOrder={[Function]}
saveActionMsg="Create listing" />
saveActionMsg="Create listing"
stripeConnected={false} />
</Connect(withRouter(PageLayout))>
`;