From 17f0adfc143884ecef042d161e0a61970ad06dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Miguel?= Date: Wed, 27 Feb 2019 15:31:47 +0000 Subject: [PATCH 1/2] #99 Backport changes from Porto i/o --- components/Besugo.jsx | 10 +- components/blog/Teaser.jsx | 16 +- components/location/Amenity.jsx | 6 +- components/location/Location.jsx | 34 +- components/page/Simple.jsx | 19 +- components/partials/EndFooter.jsx | 22 +- components/partials/Link.jsx | 34 + components/partials/LocaleSwitcher.jsx | 10 +- components/partials/Quotes.jsx | 20 +- components/partials/Reservation/Finished.jsx | 10 +- components/partials/Reservation/Guide.jsx | 14 +- .../partials/Reservation/LocationButtons.jsx | 14 +- components/partials/Reservation/Mode.jsx | 10 +- components/partials/Reservation/Options.jsx | 28 +- components/partials/Reservation/Slider.jsx | 18 +- components/partials/SlideShow.jsx | 5 + components/partials/SrcSet.jsx | 60 +- components/partials/TopHeader.jsx | 90 +- components/utils/trimPath.js | 13 + configs/cms.yml | 84 +- content/pages/about.en.md | 1 - content/pages/about.pt.md | 1 - content/pricing/_index.pt.md | 2 +- data/navigation/footer.en.yml | 12 + data/navigation/footer.pt.yml | 12 + data/navigation/header.en.yml | 13 + data/navigation/header.pt.yml | 13 + data/settings.yml | 4 +- layouts/partials/footer.html | 32 +- layouts/partials/header.html | 40 +- layouts/partials/locale_switcher.html | 12 +- package.json | 4 +- scss/components/_contact-form.scss | 6 +- scss/components/_custom-login-message.scss | 3 +- scss/components/_footer.scss | 1 + scss/components/_location.scss | 9 +- scss/components/_navigation.scss | 4 +- scss/components/_page-simple.scss | 4 + scss/components/_page.scss | 61 +- scss/components/_plans.scss | 2 +- scss/components/_reservation.scss | 1 + scss/components/_reservation_buttons.scss | 1 + scss/components/_reservation_guide.scss | 27 - scss/components/_tiny-slider.scss | 2 +- webpack.config.js | 2 + yarn.lock | 3106 +++++++++++------ 46 files changed, 2641 insertions(+), 1251 deletions(-) create mode 100644 components/partials/Link.jsx create mode 100644 components/utils/trimPath.js create mode 100644 data/navigation/footer.en.yml create mode 100644 data/navigation/footer.pt.yml create mode 100644 data/navigation/header.en.yml create mode 100644 data/navigation/header.pt.yml diff --git a/components/Besugo.jsx b/components/Besugo.jsx index 97a8d35..fcde991 100644 --- a/components/Besugo.jsx +++ b/components/Besugo.jsx @@ -1,6 +1,11 @@ import React from 'react'; import { hydrate } from 'react-dom'; +const SELECTORS = { + // iframe: 'iframe.nc-previewPane-frame', // Netlify-cms 1.9.2 + iframe: '.css-1hcqc8j', +}; + const Components = []; export default class BesugoComponent extends React.Component { @@ -241,8 +246,7 @@ export default class BesugoComponent extends React.Component { }); if (typeof CMS !== 'undefined') { - const selector = 'iframe.nc-previewPane-frame'; - const iframe = document.querySelectorAll(selector)[0]; + const iframe = document.querySelector(SELECTORS.iframe); if (iframe) { return fakePromise(iframe.contentWindow); @@ -254,7 +258,7 @@ export default class BesugoComponent extends React.Component { // so we need to keep reapplying our listener. const observer = new MutationObserver((mutations) => { mutations.forEach((m) => { - const subframe = m.target.querySelectorAll(selector)[0]; + const subframe = m.target.querySelector(SELECTORS.iframe); if (subframe) { resolve(subframe.contentWindow); } diff --git a/components/blog/Teaser.jsx b/components/blog/Teaser.jsx index a2fbab9..a48610e 100644 --- a/components/blog/Teaser.jsx +++ b/components/blog/Teaser.jsx @@ -3,8 +3,6 @@ import BesugoComponent from 'Besugo'; import SrcSet from 'partials/SrcSet'; -const cns = 'teaser-text-side'; - export default class BlogTeaser extends BesugoComponent { static config = { tag: 'BlogTeaser', @@ -12,7 +10,7 @@ export default class BlogTeaser extends BesugoComponent { static buildContainer(parserUtils) { const li = parserUtils.createNode('li'); - parserUtils.setAttribute(li, 'class', `${cns}__wrapper`); + parserUtils.setAttribute(li, 'class', 'teaser-text-side__wrapper'); return li; } @@ -21,11 +19,11 @@ export default class BlogTeaser extends BesugoComponent { const data = this.props; return ( -
-
+
+
+

{ data.title }

- +
{ data.more }
diff --git a/components/location/Amenity.jsx b/components/location/Amenity.jsx index 44dda74..56bc1ff 100644 --- a/components/location/Amenity.jsx +++ b/components/location/Amenity.jsx @@ -1,8 +1,6 @@ import React from 'react'; import BesugoComponent from 'Besugo'; -const cns = 'location-amenity'; - export default class Amenity extends BesugoComponent { static config = { tag: 'Amenity', @@ -10,7 +8,7 @@ export default class Amenity extends BesugoComponent { static buildContainer(parserUtils) { const li = parserUtils.createNode('li'); - parserUtils.setAttribute(li, 'class', `${cns}__wrapper`); + parserUtils.setAttribute(li, 'class', 'location-amenity__wrapper'); return li; } @@ -21,7 +19,7 @@ export default class Amenity extends BesugoComponent { return (
- + { data.title }
diff --git a/components/location/Location.jsx b/components/location/Location.jsx index 8e3c4ce..799df9f 100644 --- a/components/location/Location.jsx +++ b/components/location/Location.jsx @@ -6,14 +6,12 @@ import EndFooter from 'partials/EndFooter'; import getData from 'partials/Reservation/getData'; import ReservationSlider from 'partials/Reservation/Slider'; import SlideShow from 'partials/SlideShow'; -import SrcSet, { SrcSetBg } from 'partials/SrcSet'; +import { SrcSetBg } from 'partials/SrcSet'; import SVGElements from 'partials/SVGElements'; import TopHeader from 'partials/TopHeader'; import Amenity from 'location/Amenity'; -const cns = 'location'; - export default class Location extends BesugoComponent { static config = { tag: 'Location', @@ -98,7 +96,7 @@ export default class Location extends BesugoComponent { nav: true, navAsThumbnails: true, } } - className={ `${cns}__gallery` } + className="location__gallery" sizes="100vw" /> ); @@ -106,12 +104,12 @@ export default class Location extends BesugoComponent { renderFeatures(data) { return !data.features.length && !data.features.size ? null : ( -
-

+
+

{ data.amenitiestitle }

-
    +
      { data.features.map(feature => (
    • -
      +
      -
      -

      +
      +

      { data.name }

      -
      -
      +
      +
      { data.content }
      @@ -153,7 +151,7 @@ export default class Location extends BesugoComponent { { this.renderFeatures(data) } { data.map && ( -
      +