diff --git a/package-lock.json b/package-lock.json index dd6de4c1..f19ad350 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "proprietary", "dependencies": { "@splidejs/splide": "^2.4.21", + "@tailwindcss/aspect-ratio": "^0.1.4", "alpinejs": "^3.2.2", "axios": "^0.21.1", "axios-auth-refresh": "^1.0.7", @@ -51,7 +52,7 @@ "sass-loader": "^9.0.3", "sass-mq": "^3.3.2", "smoothscroll-polyfill": "^0.4.4", - "tailwindcss": "^1.8.10", + "tailwindcss": "^1.9.6", "tinycolor2": "^1.4.1", "vue-loader": "^15.9.7", "vue-template-compiler": "^2.6.14" @@ -1942,6 +1943,11 @@ "node": ">=10" } }, + "node_modules/@tailwindcss/aspect-ratio": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/aspect-ratio/-/aspect-ratio-0.1.4.tgz", + "integrity": "sha512-+qgdwfPTwnlp7DOd2fmYGuJjUMFaXPt1n3Y4jbYIojX6npsaQDG+f+lt1ANXVXyQg/0aUW4vcm169tK+SXnIHw==" + }, "node_modules/@tailwindcss/custom-forms": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@tailwindcss/custom-forms/-/custom-forms-0.2.1.tgz", @@ -3189,9 +3195,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001239", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz", - "integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==", + "version": "1.0.30001248", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz", + "integrity": "sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" @@ -3392,12 +3398,12 @@ } }, "node_modules/color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, "node_modules/color-convert": { @@ -3414,9 +3420,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "node_modules/color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -4634,17 +4640,16 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" }, "engines": { "node": ">=8" @@ -12463,6 +12468,11 @@ } } }, + "@tailwindcss/aspect-ratio": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/aspect-ratio/-/aspect-ratio-0.1.4.tgz", + "integrity": "sha512-+qgdwfPTwnlp7DOd2fmYGuJjUMFaXPt1n3Y4jbYIojX6npsaQDG+f+lt1ANXVXyQg/0aUW4vcm169tK+SXnIHw==" + }, "@tailwindcss/custom-forms": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@tailwindcss/custom-forms/-/custom-forms-0.2.1.tgz", @@ -13510,9 +13520,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001239", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz", - "integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==" + "version": "1.0.30001248", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz", + "integrity": "sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw==" }, "caseless": { "version": "0.12.0", @@ -13660,12 +13670,12 @@ "dev": true }, "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, "color-convert": { @@ -13682,9 +13692,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -14648,17 +14658,16 @@ "dev": true }, "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" } }, "fast-json-stable-stringify": { diff --git a/package.json b/package.json index 592ce6ca..9a1d8f31 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "dependencies": { "@splidejs/splide": "^2.4.21", + "@tailwindcss/aspect-ratio": "^0.1.4", "alpinejs": "^3.2.2", "axios": "^0.21.1", "axios-auth-refresh": "^1.0.7", @@ -51,7 +52,7 @@ "sass-loader": "^9.0.3", "sass-mq": "^3.3.2", "smoothscroll-polyfill": "^0.4.4", - "tailwindcss": "^1.8.10", + "tailwindcss": "^1.9.6", "tinycolor2": "^1.4.1", "vue-loader": "^15.9.7", "vue-template-compiler": "^2.6.14" diff --git a/public/typo3conf/ext/ep_products/Classes/Domain/Model/AbstractDestination.php b/public/typo3conf/ext/ep_products/Classes/Domain/Model/AbstractDestination.php index 1e6551bb..497c158a 100644 --- a/public/typo3conf/ext/ep_products/Classes/Domain/Model/AbstractDestination.php +++ b/public/typo3conf/ext/ep_products/Classes/Domain/Model/AbstractDestination.php @@ -152,6 +152,16 @@ class AbstractDestination extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity $this->season = $season; } + public function isWinter(): bool + { + return self::SEASON_WINTER === $this->season; + } + + public function isSummer(): bool + { + return self::SEASON_SUMMER === $this->season; + } + /** * @return float $latitude */ diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/components/_calendar.scss b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/components/_calendar.scss new file mode 100644 index 00000000..e9c5ce56 --- /dev/null +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/components/_calendar.scss @@ -0,0 +1,59 @@ +.calendar { + @apply relative; + + &--single { + @apply mb-16; + } +} + +.calendar__month { + + &--single { + @apply text-lg; + } + +} + +.calendar__select { + @apply mb-8 outline-none focus:outline-none; +} + +.calendar__loading { + @apply absolute top-0 left-0 inset-0 w-full h-full z-10 bg-overlay-white; + + img { + @apply absolute top-1/2 left-1/2 -translate-xy-1/2; + } +} + +.calendar__days { + + table { + @apply mb-0; + } + +} + +.label-success-danger { + background: linear-gradient(to bottom right, theme('colors.green-500') 50%, theme('colors.red-500') 50%); +} + +.label-success-warning { + background: linear-gradient(to bottom right, theme('colors.green-500') 50%, theme('colors.red-500') 50%); +} + +.label-danger-success { + background: linear-gradient(to bottom right, theme('colors.red-500') 50%, theme('colors.green-500') 50%); +} + +.label-warning-success { + background: linear-gradient(to bottom right, theme('colors.red-500') 50%, theme('colors.green-500') 50%); +} + +.label-danger-warning { + background: linear-gradient(to bottom right, theme('colors.red-500') 50%, theme('colors.red-500') 50%); +} + +.label-warning-danger { + background: linear-gradient(to bottom right, theme('colors.red-500') 50%, theme('colors.red-500') 50%); +} diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/main.scss b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/main.scss index 94b2ffc6..b89707a0 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/main.scss +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/main.scss @@ -30,17 +30,17 @@ @import "remix/slider"; @import "remix/header"; //@import "remix/herounit"; - @import "remix/calendar"; + //@import "remix/calendar"; @import "remix/partnerlogos"; - @import "remix/osm-map"; - @import "remix/video"; - @import "remix/newsletterform"; + //@import "remix/osm-map"; + //@import "remix/video"; + //@import "remix/newsletterform"; @import "remix/layout"; @import "remix/teaserbox"; @import "remix/searchresult"; - @import "remix/tables"; + //@import "remix/tables"; @import "remix/product"; - @import "remix/socialmedia"; + //@import "remix/socialmedia"; @import "remix/datepicker"; @import "remix/sidebar"; @import "remix/blog"; @@ -56,7 +56,7 @@ @import "base"; @import "btn"; @import "input"; - @import "breadcrumb"; + //@import "breadcrumb"; @import "modal"; //components @@ -77,9 +77,14 @@ } @import "~microtip/microtip"; + + .leaflet-top, .leaflet-bottom { + z-index: 490 !important; + } } @layer components { + @import "components/calendar"; @import "components/searchbar"; @import "components/herounit"; } @@ -97,7 +102,8 @@ &:after { content: ""; - @apply absolute top-100 left-0 mt-2 mb-2 border-b-4 border-ep-primary-dark w-48; + @apply absolute top-100 left-0 mt-2 mb-2 border-b-4 w-48; + @apply ep:border-ep-primary-dark sbw:border-sbw-primary-dark; } } .-translate-xy-1\/2 { diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Icons.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Icons.html index a1e9fb5e..f5dc339d 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Icons.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Icons.html @@ -3,6 +3,10 @@ + + + + @@ -12,6 +16,9 @@ + + + diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Mainnav.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Mainnav.html index 31379674..fcd2128d 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Mainnav.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Mainnav.html @@ -55,7 +55,9 @@ - + {topitem.title} diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Pricetable.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Pricetable.html index d4c9d497..ce9c4963 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Pricetable.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Pricetable.html @@ -9,69 +9,79 @@ -
- +
+
+ - - - + + + - + - - - + + + + + - - - - - - + + + + + + +
ZimmertypPreis/Pers.inkl. + Zimmertyp + + Preis/Pers. + + inkl. +
- {row.roomName} -
+ {row.roomName} +
+ + + Jetzt buchen + + + ausgebucht + + +
+
- Jetzt buchen + {row.roomPrice} € - ausgebucht + {row.roomPrice} € - - - - - {row.roomPrice} € - - - {row.roomPrice} € - - - - - - - - - - - - - - - - - -
+ + + + + + + + + + + + + + +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Product/HeaderDetail.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Product/HeaderDetail.html index dc96ec52..c5082c9f 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Product/HeaderDetail.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Product/HeaderDetail.html @@ -77,5 +77,4 @@ {backlinkLabel} - {v:render.template(file: 'EXT:ep_theme/Resources/Private/Partials/rumb.html')} diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxSearch/Searchresult.html b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxSearch/Searchresult.html index 0d076676..a45c983e 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxSearch/Searchresult.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxSearch/Searchresult.html @@ -6,8 +6,8 @@ -
-
+
+

-
+
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxTable/EventPricetable.html b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxTable/EventPricetable.html index d283fb6c..9d058589 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxTable/EventPricetable.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxTable/EventPricetable.html @@ -17,29 +17,55 @@ -
- +
+
- - + + - + - + - + -
Apartments {category}
+ Apartments {category} + {type} + {type} +
{row.hotelShortName -> v:or(alternative: row.hotelTitle) -> v:or(alternative: row.hotelName)} + + + {row.hotelShortName} + + + + + {row.hotelTitle} + + + {row.hotelName} + + + + + - + + - {v:variable.get(name: 'row.rooms.{type}.price', useRawKeys: 1)} + + {row.rooms.{type}.price} + - - {v:variable.get(name: 'row.rooms.{type}.price', useRawKeys: 1)} + + + {row.rooms.{type}.price} + diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxTable/PricetableHtml.html b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxTable/PricetableHtml.html index de2c8b08..cd085479 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxTable/PricetableHtml.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/AjaxTable/PricetableHtml.html @@ -1,12 +1,11 @@ + xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"> - + diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/City/Detail.html b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/City/Detail.html index 57b65bd9..a7875da2 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/City/Detail.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/City/Detail.html @@ -10,27 +10,31 @@
-