From d926f6b8c68c979ecf88c037efb8037c2fbb4884 Mon Sep 17 00:00:00 2001 From: Vesa Luusua Date: Fri, 12 Apr 2019 13:21:09 +0300 Subject: [PATCH] Make ListingPage to work with sparse listing data while loadData is in progress --- src/components/BookingPanel/BookingPanel.js | 8 +++++--- src/containers/ListingPage/ListingPage.js | 13 +++++-------- .../{SectionFeatures.js => SectionFeaturesMaybe.js} | 11 ++++++++--- .../{SectionHost.js => SectionHostMaybe.js} | 9 +++++++-- src/containers/ListingPage/SectionMapMaybe.js | 2 +- src/containers/ListingPage/SectionRulesMaybe.js | 4 ++-- .../__snapshots__/ListingPage.test.js.snap | 5 +++-- 7 files changed, 31 insertions(+), 21 deletions(-) rename src/containers/ListingPage/{SectionFeatures.js => SectionFeaturesMaybe.js} (66%) rename src/containers/ListingPage/{SectionHost.js => SectionHostMaybe.js} (92%) diff --git a/src/components/BookingPanel/BookingPanel.js b/src/components/BookingPanel/BookingPanel.js index b8ff712c..f8198953 100644 --- a/src/components/BookingPanel/BookingPanel.js +++ b/src/components/BookingPanel/BookingPanel.js @@ -69,7 +69,9 @@ const BookingPanel = props => { } = props; const price = listing.attributes.price; - const isClosed = listing.attributes.state === LISTING_STATE_CLOSED; + const hasListingState = !!listing.attributes.state; + const isClosed = hasListingState && listing.attributes.state === LISTING_STATE_CLOSED; + const showBookingDatesForm = hasListingState && !isClosed; const showClosedListingHelpText = listing.id && isClosed; const { formattedPrice, priceTitle } = priceData(price, intl); const isBook = !!parse(location.search).book; @@ -113,7 +115,7 @@ const BookingPanel = props => {

{title}

{subTitleText ?
{subTitleText}
: null} - {!isClosed ? ( + {showBookingDatesForm ? ( { - {!isClosed ? ( + {showBookingDatesForm ? (