From a3872e71f5ae56939ffe150ef1f09d440dfc4966 Mon Sep 17 00:00:00 2001 From: Vesa Luusua Date: Mon, 25 Jun 2018 14:27:51 +0300 Subject: [PATCH] CheckoutPage: selected booking dates should be available after login --- src/containers/CheckoutPage/CheckoutPage.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/containers/CheckoutPage/CheckoutPage.js b/src/containers/CheckoutPage/CheckoutPage.js index 242c7f76..ec2648f1 100644 --- a/src/containers/CheckoutPage/CheckoutPage.js +++ b/src/containers/CheckoutPage/CheckoutPage.js @@ -75,13 +75,17 @@ export class CheckoutPageComponent extends Component { const { bookingData, bookingDates, listing, fetchSpeculatedTransaction, history } = this.props; // Browser's back navigation should not rewrite data in session store. // Action is 'POP' on both history.back() and page refresh cases. - const hasNavigatedThroughLink = history.action === 'PUSH'; + // Action is 'PUSH' when user has directed through a link + // Action is 'REPLACE' when user has directed through login/signup process + const hasNavigatedThroughLink = history.action === 'PUSH' || history.action === 'REPLACE'; const hasDataInProps = !!(bookingData && bookingDates && listing) && hasNavigatedThroughLink; if (hasDataInProps) { + // Store data only if data is passed through props and user has navigated through a link. storeData(bookingData, bookingDates, listing, STORAGE_KEY); } + // NOTE: stored data can be empty if user has already successfully completed transaction. const pageData = hasDataInProps ? { bookingData, bookingDates, listing } : storedData(STORAGE_KEY);