Assign proper button type attributes
This commit is contained in:
@@ -18,7 +18,8 @@
|
|||||||
</span>
|
</span>
|
||||||
{city.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
|
{city.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
|
||||||
</div>
|
</div>
|
||||||
<button class="button w-full">
|
<button type="button"
|
||||||
|
class="button w-full">
|
||||||
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
||||||
</button>
|
</button>
|
||||||
</f:link.typolink>
|
</f:link.typolink>
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
Es ist ein Problem aufgetreten. Bitte versucht es noch einmal.
|
Es ist ein Problem aufgetreten. Bitte versucht es noch einmal.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<button class="button button--small"
|
<button type="button"
|
||||||
|
class="button button--small"
|
||||||
data-action="contactform#reset">
|
data-action="contactform#reset">
|
||||||
Neue Anfrage
|
Neue Anfrage
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -81,7 +81,10 @@
|
|||||||
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
|
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<button type="submit" class="button button-warning">Jetzt anfragen</button>
|
<button type="submit"
|
||||||
|
class="button button-warning">
|
||||||
|
Jetzt anfragen
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</f:form>
|
</f:form>
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,10 @@
|
|||||||
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
|
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<button type="submit" class="button button-warning">Jetzt anfragen</button>
|
<button type="submit"
|
||||||
|
class="button button-warning">
|
||||||
|
Jetzt anfragen
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</f:form>
|
</f:form>
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,8 @@
|
|||||||
setzen.
|
setzen.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<button class="button button--small"
|
<button type="button"
|
||||||
|
class="button button--small"
|
||||||
data-action="contactform#reset">
|
data-action="contactform#reset">
|
||||||
Neue Anfrage
|
Neue Anfrage
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -23,15 +23,16 @@
|
|||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: iteration.isFirst, then: 'false', else: 'true')}"
|
data-collapse-collapsed-value="{f:if(condition: iteration.isFirst, then: 'false', else: 'true')}"
|
||||||
data-faq-target="entry">
|
data-faq-target="entry">
|
||||||
<button class="uppercase text-lg text-white flex items-center space-x-4"
|
<button type="button"
|
||||||
|
class="uppercase text-lg text-white flex items-center space-x-4"
|
||||||
data-action="collapse#toggle">
|
data-action="collapse#toggle">
|
||||||
<svg class="w-4 h-4 text-white transform transition duration-200 ease-in-out"
|
<svg class="w-4 h-4 text-white transform transition duration-200 ease-in-out"
|
||||||
data-collapse-target="icon">
|
data-collapse-target="icon">
|
||||||
<use href="#icon-chevron-right"></use>
|
<use href="#icon-chevron-right"></use>
|
||||||
</svg>
|
</svg>
|
||||||
<span>
|
<span>
|
||||||
{faq.question}
|
{faq.question}
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<div class="text-white pt-2 transition-transform ease-out overflow-hidden origin-top transform hidden"
|
<div class="text-white pt-2 transition-transform ease-out overflow-hidden origin-top transform hidden"
|
||||||
data-collapse-target="container"
|
data-collapse-target="container"
|
||||||
|
|||||||
@@ -17,7 +17,8 @@
|
|||||||
<span class="headline--4 text-white hidden md:block">
|
<span class="headline--4 text-white hidden md:block">
|
||||||
{menuheader.title}
|
{menuheader.title}
|
||||||
</span>
|
</span>
|
||||||
<button class="headline--4 text-white md:hidden"
|
<button type="button"
|
||||||
|
class="headline--4 text-white md:hidden"
|
||||||
data-action="collapse#toggle">
|
data-action="collapse#toggle">
|
||||||
{menuheader.title}
|
{menuheader.title}
|
||||||
</button>
|
</button>
|
||||||
@@ -178,7 +179,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button data-controller="scroll-top"
|
<button type="button"
|
||||||
|
data-controller="scroll-top"
|
||||||
data-action="scroll-top#scroll"
|
data-action="scroll-top#scroll"
|
||||||
class="hidden fixed bottom-0 right-0 mb-16 md:mb-8 mr-4 md:mr-8 z-10 h-10 w-10 flex items-center justify-center rounded bg-ep-secondary-80">
|
class="hidden fixed bottom-0 right-0 mb-16 md:mb-8 mr-4 md:mr-8 z-10 h-10 w-10 flex items-center justify-center rounded bg-ep-secondary-80">
|
||||||
<svg class="w-8 h-8 text-white">
|
<svg class="w-8 h-8 text-white">
|
||||||
|
|||||||
@@ -28,7 +28,8 @@
|
|||||||
</span>
|
</span>
|
||||||
</f:if>
|
</f:if>
|
||||||
</div>
|
</div>
|
||||||
<button class="button w-full">
|
<button type="button"
|
||||||
|
class="button w-full">
|
||||||
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
||||||
</button>
|
</button>
|
||||||
</f:link.typolink>
|
</f:link.typolink>
|
||||||
|
|||||||
@@ -22,7 +22,10 @@
|
|||||||
<span class="teaserbox__price"><strong>{f:if(condition: '{hotel.available} > 0', then: 'ab {hotel.minPrice} €', else: 'ausgebucht')}</strong></span>
|
<span class="teaserbox__price"><strong>{f:if(condition: '{hotel.available} > 0', then: 'ab {hotel.minPrice} €', else: 'ausgebucht')}</strong></span>
|
||||||
</f:if>
|
</f:if>
|
||||||
</div>
|
</div>
|
||||||
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
|
<button type="button"
|
||||||
|
class="button button--full teaserbox__button">
|
||||||
|
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
||||||
|
</button>
|
||||||
</f:link.typolink>
|
</f:link.typolink>
|
||||||
</f:section>
|
</f:section>
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,10 @@
|
|||||||
{hotel.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
|
{hotel.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
|
||||||
</f:if>
|
</f:if>
|
||||||
</div>
|
</div>
|
||||||
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
|
<button type="button"
|
||||||
|
class="button button--full teaserbox__button">
|
||||||
|
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
||||||
|
</button>
|
||||||
</f:link.typolink>
|
</f:link.typolink>
|
||||||
</f:section>
|
</f:section>
|
||||||
|
|
||||||
|
|||||||
@@ -117,7 +117,8 @@
|
|||||||
</f:else>
|
</f:else>
|
||||||
</f:if>
|
</f:if>
|
||||||
</div>
|
</div>
|
||||||
<button class="teaserbox-watchlist"
|
<button type="button"
|
||||||
|
class="teaserbox-watchlist"
|
||||||
data-controller="watchlist-toggle"
|
data-controller="watchlist-toggle"
|
||||||
data-watchlist-toggle-key-value="{item.key}"
|
data-watchlist-toggle-key-value="{item.key}"
|
||||||
data-action="watchlist-toggle#toggle">
|
data-action="watchlist-toggle#toggle">
|
||||||
|
|||||||
@@ -18,7 +18,8 @@
|
|||||||
<div class="flex lg:hidden items-center space-x-4">
|
<div class="flex lg:hidden items-center space-x-4">
|
||||||
<f:if condition="{data.tx_eptheme_hide_searchbar}">
|
<f:if condition="{data.tx_eptheme_hide_searchbar}">
|
||||||
<f:else>
|
<f:else>
|
||||||
<button class="focus:outline-none text-gray-800"
|
<button type="button"
|
||||||
|
class="focus:outline-none text-gray-800"
|
||||||
data-controller="overlay-toggle"
|
data-controller="overlay-toggle"
|
||||||
data-overlay-toggle-id-value="search"
|
data-overlay-toggle-id-value="search"
|
||||||
data-action="overlay-toggle#invokeToggle">
|
data-action="overlay-toggle#invokeToggle">
|
||||||
@@ -28,7 +29,8 @@
|
|||||||
</button>
|
</button>
|
||||||
</f:else>
|
</f:else>
|
||||||
</f:if>
|
</f:if>
|
||||||
<button class="focus:outline-none text-gray-800"
|
<button type="button"
|
||||||
|
class="focus:outline-none text-gray-800"
|
||||||
data-controller="overlay-toggle"
|
data-controller="overlay-toggle"
|
||||||
data-overlay-toggle-id-value="mobilenav"
|
data-overlay-toggle-id-value="mobilenav"
|
||||||
data-action="overlay-toggle#invokeToggle">
|
data-action="overlay-toggle#invokeToggle">
|
||||||
@@ -71,7 +73,8 @@
|
|||||||
<li class="pb-4">
|
<li class="pb-4">
|
||||||
<f:if condition="{searchbarCollapsed}">
|
<f:if condition="{searchbarCollapsed}">
|
||||||
<f:then>
|
<f:then>
|
||||||
<button data-controller="searchbar-toggle"
|
<button type="button"
|
||||||
|
data-controller="searchbar-toggle"
|
||||||
data-action="searchbar-toggle#toggle">
|
data-action="searchbar-toggle#toggle">
|
||||||
<svg class="w-6 h-6">
|
<svg class="w-6 h-6">
|
||||||
<use href="#icon-search"></use>
|
<use href="#icon-search"></use>
|
||||||
|
|||||||
@@ -8,7 +8,8 @@
|
|||||||
<f:if condition="{contentElements}">
|
<f:if condition="{contentElements}">
|
||||||
<f:for each="{contentElements}" as="contentElement">
|
<f:for each="{contentElements}" as="contentElement">
|
||||||
<li>
|
<li>
|
||||||
<button class="button w-full"
|
<button type="button"
|
||||||
|
class="button w-full"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="c{contentElement.uid}"
|
data-scroll-to-target-value="c{contentElement.uid}"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
|
|||||||
@@ -18,7 +18,8 @@
|
|||||||
<div class="flex lg:hidden items-center space-x-4">
|
<div class="flex lg:hidden items-center space-x-4">
|
||||||
<f:if condition="{data.tx_eptheme_hide_searchbar}">
|
<f:if condition="{data.tx_eptheme_hide_searchbar}">
|
||||||
<f:else>
|
<f:else>
|
||||||
<button class="focus:outline-none text-gray-800"
|
<button type="button"
|
||||||
|
class="focus:outline-none text-gray-800"
|
||||||
data-controller="overlay-toggle"
|
data-controller="overlay-toggle"
|
||||||
data-overlay-toggle-id-value="search"
|
data-overlay-toggle-id-value="search"
|
||||||
data-action="overlay-toggle#invokeToggle">
|
data-action="overlay-toggle#invokeToggle">
|
||||||
@@ -28,7 +29,9 @@
|
|||||||
</button>
|
</button>
|
||||||
</f:else>
|
</f:else>
|
||||||
</f:if>
|
</f:if>
|
||||||
<button class="focus:outline-none" data-action="overlay-toggle#invokeToggle">
|
<button type="button"
|
||||||
|
class="focus:outline-none"
|
||||||
|
data-action="overlay-toggle#invokeToggle">
|
||||||
<svg class="w-8 h-8">
|
<svg class="w-8 h-8">
|
||||||
<use href="#icon-close"></use>
|
<use href="#icon-close"></use>
|
||||||
</svg>
|
</svg>
|
||||||
@@ -121,7 +124,8 @@
|
|||||||
title="{subitem.title}">
|
title="{subitem.title}">
|
||||||
{subitem.title}
|
{subitem.title}
|
||||||
</a>
|
</a>
|
||||||
<button class="focus:outline-none"
|
<button type="button"
|
||||||
|
class="focus:outline-none"
|
||||||
data-action="collapse#toggle">
|
data-action="collapse#toggle">
|
||||||
<svg class="h-6 w-6 transform text-white" data-collapse-target="icon">
|
<svg class="h-6 w-6 transform text-white" data-collapse-target="icon">
|
||||||
<use href="#icon-chevron-down"></use>
|
<use href="#icon-chevron-down"></use>
|
||||||
|
|||||||
@@ -96,7 +96,11 @@
|
|||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal"><span>×</span></button>
|
<button type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal">
|
||||||
|
<span>×</span>
|
||||||
|
</button>
|
||||||
<h5 class="modal-title">Optionale Zusatzleistungen</h5>
|
<h5 class="modal-title">Optionale Zusatzleistungen</h5>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
|
|||||||
@@ -5,9 +5,10 @@
|
|||||||
{product.conceptDescription -> f:format.html()}
|
{product.conceptDescription -> f:format.html()}
|
||||||
</div>
|
</div>
|
||||||
<f:if condition="{product.calendarHotel} && {hotel.groupsPriceConfigs}">
|
<f:if condition="{product.calendarHotel} && {hotel.groupsPriceConfigs}">
|
||||||
<button class="button w-full"
|
<button type="button"
|
||||||
data-controller="lightbox"
|
class="button w-full"
|
||||||
data-lightbox-url-value="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}">
|
data-controller="lightbox"
|
||||||
|
data-lightbox-url-value="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}">
|
||||||
Preisberechnung
|
Preisberechnung
|
||||||
</button>
|
</button>
|
||||||
</f:if>
|
</f:if>
|
||||||
|
|||||||
@@ -25,12 +25,14 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="splide__arrows absolute z-10 top-1/2 left-0 transform -translate-y-1/2 w-full flex justify-between">
|
<div class="splide__arrows absolute z-10 top-1/2 left-0 transform -translate-y-1/2 w-full flex justify-between">
|
||||||
<button class="splide__arrow splide__arrow--prev">
|
<button type="button"
|
||||||
|
class="splide__arrow splide__arrow--prev">
|
||||||
<svg class="w-10 h-10 text-white pointer-events-none">
|
<svg class="w-10 h-10 text-white pointer-events-none">
|
||||||
<use href="#icon-chevron-left"></use>
|
<use href="#icon-chevron-left"></use>
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<button class="splide__arrow splide__arrow--next">
|
<button type="button"
|
||||||
|
class="splide__arrow splide__arrow--next">
|
||||||
<svg class="w-10 h-10 text-white pointer-events-none">
|
<svg class="w-10 h-10 text-white pointer-events-none">
|
||||||
<use href="#icon-chevron-right"></use>
|
<use href="#icon-chevron-right"></use>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
@@ -18,7 +18,8 @@
|
|||||||
</span>
|
</span>
|
||||||
{region.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
|
{region.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
|
||||||
</div>
|
</div>
|
||||||
<button class="button w-full">
|
<button type="button"
|
||||||
|
class="button w-full">
|
||||||
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
||||||
</button>
|
</button>
|
||||||
</f:link.typolink>
|
</f:link.typolink>
|
||||||
|
|||||||
@@ -11,7 +11,8 @@
|
|||||||
<div class="mb-4 p-4 bg-ep-primary text-white"
|
<div class="mb-4 p-4 bg-ep-primary text-white"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.dateFrom} || {filterSettings.dateTo}', then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.dateFrom} || {filterSettings.dateTo}', then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Reisezeitraum
|
Reisezeitraum
|
||||||
@@ -55,22 +56,25 @@
|
|||||||
<f:if condition="{settings.datePickerPresets}">
|
<f:if condition="{settings.datePickerPresets}">
|
||||||
<div class="flex flex-col space-y-4">
|
<div class="flex flex-col space-y-4">
|
||||||
<f:for each="{settings.datePickerPresets}" as="preset">
|
<f:for each="{settings.datePickerPresets}" as="preset">
|
||||||
<button class="button button--small button--light w-full"
|
<button type="button"
|
||||||
|
class="button button--small button--light w-full"
|
||||||
data-preset='{preset -> f:format.json() -> f:format.raw()}'
|
data-preset='{preset -> f:format.json() -> f:format.raw()}'
|
||||||
data-action="datepicker#selectPreset">
|
data-action="datepicker#selectPreset">
|
||||||
<span>
|
<span>
|
||||||
{preset.label}
|
{preset.label}
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</f:for>
|
</f:for>
|
||||||
</div>
|
</div>
|
||||||
</f:if>
|
</f:if>
|
||||||
<div class="flex flex-col space-y-4">
|
<div class="flex flex-col space-y-4">
|
||||||
<button class="button button--small button--light w-full"
|
<button type="button"
|
||||||
|
class="button button--small button--light w-full"
|
||||||
data-action="collapse#close">
|
data-action="collapse#close">
|
||||||
schließen
|
schließen
|
||||||
</button>
|
</button>
|
||||||
<button class="button button--small button--light w-full"
|
<button type="button"
|
||||||
|
class="button button--small button--light w-full"
|
||||||
data-action="datepicker#reset">
|
data-action="datepicker#reset">
|
||||||
zurücksetzen
|
zurücksetzen
|
||||||
</button>
|
</button>
|
||||||
@@ -88,7 +92,8 @@
|
|||||||
<div class="mb-4 p-4 bg-ep-primary text-white"
|
<div class="mb-4 p-4 bg-ep-primary text-white"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.conceptUids}', then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.conceptUids}', then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Reisekonzepte
|
Reisekonzepte
|
||||||
@@ -123,7 +128,8 @@
|
|||||||
<div class="py-2"
|
<div class="py-2"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.countryUids} || {filterSettings.regionUids}', then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.countryUids} || {filterSettings.regionUids}', then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Reiseziel
|
Reiseziel
|
||||||
@@ -175,7 +181,8 @@
|
|||||||
<div class="py-2"
|
<div class="py-2"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.priceRanges}', then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.priceRanges}', then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Preis
|
Preis
|
||||||
@@ -207,7 +214,8 @@
|
|||||||
<div class="py-2"
|
<div class="py-2"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.pax} > 1', then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.pax} > 1', then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Personen
|
Personen
|
||||||
@@ -235,7 +243,8 @@
|
|||||||
<div class="py-2"
|
<div class="py-2"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.hotelTypes}', then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.hotelTypes}', then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Unterkunft
|
Unterkunft
|
||||||
@@ -267,7 +276,8 @@
|
|||||||
<div class="py-2"
|
<div class="py-2"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.boardTypes}', then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.boardTypes}', then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Verpflegung
|
Verpflegung
|
||||||
@@ -309,7 +319,8 @@
|
|||||||
<div class="py-2"
|
<div class="py-2"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.roomTypes}', then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.roomTypes}', then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Zimmerarten/Apart.
|
Zimmerarten/Apart.
|
||||||
@@ -342,7 +353,8 @@
|
|||||||
<div class="py-2"
|
<div class="py-2"
|
||||||
data-controller="collapse"
|
data-controller="collapse"
|
||||||
data-collapse-collapsed-value="{f:if(condition: filterSettings.bus, then: 'false', else: 'true')}">
|
data-collapse-collapsed-value="{f:if(condition: filterSettings.bus, then: 'false', else: 'true')}">
|
||||||
<button data-action="click->collapse#toggle"
|
<button type="button"
|
||||||
|
data-action="click->collapse#toggle"
|
||||||
class="flex items-center justify-between w-full">
|
class="flex items-center justify-between w-full">
|
||||||
<span class="uppercase font-bold">
|
<span class="uppercase font-bold">
|
||||||
Anreise
|
Anreise
|
||||||
|
|||||||
@@ -13,7 +13,8 @@
|
|||||||
</h3>
|
</h3>
|
||||||
<f:render partial="Search/FilterPanel" arguments="{_all}"/>
|
<f:render partial="Search/FilterPanel" arguments="{_all}"/>
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<button class="button button--secondary w-full"
|
<button type="button"
|
||||||
|
class="button button--secondary w-full"
|
||||||
data-action="search#reset">
|
data-action="search#reset">
|
||||||
Filter zurücksetzen
|
Filter zurücksetzen
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -19,7 +19,8 @@
|
|||||||
</span>
|
</span>
|
||||||
{data.bodytext -> f:format.html()}
|
{data.bodytext -> f:format.html()}
|
||||||
</div>
|
</div>
|
||||||
<button class="button w-full">
|
<button type="button"
|
||||||
|
class="button w-full">
|
||||||
{data.button -> v:or(alternative: 'Details')}
|
{data.button -> v:or(alternative: 'Details')}
|
||||||
</button>
|
</button>
|
||||||
</f:link.typolink>
|
</f:link.typolink>
|
||||||
|
|||||||
@@ -16,7 +16,8 @@
|
|||||||
<hr>
|
<hr>
|
||||||
{data.bodytext -> f:format.html()}
|
{data.bodytext -> f:format.html()}
|
||||||
</div>
|
</div>
|
||||||
<button class="button button--full">
|
<button type="button"
|
||||||
|
class="button button--full">
|
||||||
{data.button -> v:or(alternative: 'Details')}
|
{data.button -> v:or(alternative: 'Details')}
|
||||||
</button>
|
</button>
|
||||||
</f:link.typolink>
|
</f:link.typolink>
|
||||||
|
|||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
|
||||||
|
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"
|
||||||
|
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
|
||||||
|
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers">
|
||||||
|
|
||||||
|
<f:layout name="Default"/>
|
||||||
|
|
||||||
|
<f:render partial="Search/FilterPanel" arguments="{_all}"/>
|
||||||
|
|
||||||
|
</html>
|
||||||
+12
-7
@@ -13,7 +13,8 @@
|
|||||||
|
|
||||||
<f:if condition="{hasSurcharge} || {hasDiscount}">
|
<f:if condition="{hasSurcharge} || {hasDiscount}">
|
||||||
<f:if condition="{hasSurcharge}">
|
<f:if condition="{hasSurcharge}">
|
||||||
<button data-action="pricetable#toggleSurcharge"
|
<button type="button"
|
||||||
|
data-action="pricetable#toggleSurcharge"
|
||||||
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
|
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
|
||||||
<svg class="w-4 h-4">
|
<svg class="w-4 h-4">
|
||||||
<use href="#icon-arrow-circle-right"></use>
|
<use href="#icon-arrow-circle-right"></use>
|
||||||
@@ -26,7 +27,8 @@
|
|||||||
</button>
|
</button>
|
||||||
</f:if>
|
</f:if>
|
||||||
<f:if condition="{hasDiscount}">
|
<f:if condition="{hasDiscount}">
|
||||||
<button data-action="pricetable#toggleDiscount"
|
<button type="button"
|
||||||
|
data-action="pricetable#toggleDiscount"
|
||||||
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
|
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
|
||||||
<svg class="w-4 h-4">
|
<svg class="w-4 h-4">
|
||||||
<use href="#icon-arrow-circle-right"></use>
|
<use href="#icon-arrow-circle-right"></use>
|
||||||
@@ -65,7 +67,8 @@
|
|||||||
<td class="border border-gray-300 px-2 py-1 md:p-2">
|
<td class="border border-gray-300 px-2 py-1 md:p-2">
|
||||||
<f:if condition="{bookable} && {row.available} && {row.showBookingButton}">
|
<f:if condition="{bookable} && {row.available} && {row.showBookingButton}">
|
||||||
<f:then>
|
<f:then>
|
||||||
<button class="text-left text-ep-primary-light text-sm md:text-base"
|
<button type="button"
|
||||||
|
class="text-left text-ep-primary-light text-sm md:text-base"
|
||||||
data-action="product-details#loadPrices"
|
data-action="product-details#loadPrices"
|
||||||
data-date-uid="{row.dateUid}">
|
data-date-uid="{row.dateUid}">
|
||||||
{row.dateStart} - {row.dateEnd}
|
{row.dateStart} - {row.dateEnd}
|
||||||
@@ -108,8 +111,8 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</f:if>
|
</f:if>
|
||||||
<button class="text-ep-primary col-span-2 text-sm md:text-base text-left leading-none whitespace-nowrap p-1"
|
<button type="button"
|
||||||
type="button"
|
class="text-ep-primary col-span-2 text-sm md:text-base text-left leading-none whitespace-nowrap p-1"
|
||||||
data-action="pricetable#openModal"
|
data-action="pricetable#openModal"
|
||||||
data-type="services"
|
data-type="services"
|
||||||
data-uid="{row.dateUid}"
|
data-uid="{row.dateUid}"
|
||||||
@@ -160,7 +163,8 @@
|
|||||||
<f:if condition="{dates -> f:count()} > 5 || {altProductLink}">
|
<f:if condition="{dates -> f:count()} > 5 || {altProductLink}">
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-2 pb-4">
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-2 pb-4">
|
||||||
<f:if condition="{dates -> f:count()} > 5">
|
<f:if condition="{dates -> f:count()} > 5">
|
||||||
<button class="flex items-center space-x-1 focus:outline-none text-ep-primary"
|
<button type="button"
|
||||||
|
class="flex items-center space-x-1 focus:outline-none text-ep-primary"
|
||||||
data-action="pricetable#toggleRows">
|
data-action="pricetable#toggleRows">
|
||||||
<svg class="w-4 h-4">
|
<svg class="w-4 h-4">
|
||||||
<use href="#icon-plus-circle"
|
<use href="#icon-plus-circle"
|
||||||
@@ -198,7 +202,8 @@
|
|||||||
<span class="text-xl font-bold">
|
<span class="text-xl font-bold">
|
||||||
Inklusivleistungen {hotel.name}
|
Inklusivleistungen {hotel.name}
|
||||||
</span>
|
</span>
|
||||||
<button class="inline-block"
|
<button type="button"
|
||||||
|
class="inline-block"
|
||||||
data-action="modal#close">
|
data-action="modal#close">
|
||||||
<svg class="w-8 h-8">
|
<svg class="w-8 h-8">
|
||||||
<use href="#icon-close"></use>
|
<use href="#icon-close"></use>
|
||||||
|
|||||||
+4
-2
@@ -33,7 +33,8 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</f:if>
|
</f:if>
|
||||||
<button class="button button--light button--small hidden md:block"
|
<button type="button"
|
||||||
|
class="button button--light button--small hidden md:block"
|
||||||
data-action="daytrip#openModal"
|
data-action="daytrip#openModal"
|
||||||
data-type="services"
|
data-type="services"
|
||||||
data-uid="{iteration.cycle}"
|
data-uid="{iteration.cycle}"
|
||||||
@@ -64,7 +65,8 @@
|
|||||||
<span class="text-xl font-bold">
|
<span class="text-xl font-bold">
|
||||||
Inklusivleistungen
|
Inklusivleistungen
|
||||||
</span>
|
</span>
|
||||||
<button class="inline-block"
|
<button type="button"
|
||||||
|
class="inline-block"
|
||||||
data-action="modal#close">
|
data-action="modal#close">
|
||||||
<svg class="w-8 h-8">
|
<svg class="w-8 h-8">
|
||||||
<use href="#icon-close"></use>
|
<use href="#icon-close"></use>
|
||||||
|
|||||||
+14
-9
@@ -15,7 +15,8 @@
|
|||||||
|
|
||||||
<f:if condition="{hasSurcharge} || {hasDiscount}">
|
<f:if condition="{hasSurcharge} || {hasDiscount}">
|
||||||
<f:if condition="{hasSurcharge}">
|
<f:if condition="{hasSurcharge}">
|
||||||
<button data-action="pricetable#toggleSurcharge"
|
<button type="button"
|
||||||
|
data-action="pricetable#toggleSurcharge"
|
||||||
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
|
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
|
||||||
<svg class="w-4 h-4">
|
<svg class="w-4 h-4">
|
||||||
<use href="#icon-arrow-circle-right"></use>
|
<use href="#icon-arrow-circle-right"></use>
|
||||||
@@ -23,12 +24,13 @@
|
|||||||
<span data-pricetable-target="surchargeToggleLabel"
|
<span data-pricetable-target="surchargeToggleLabel"
|
||||||
data-label-default="Preise für Eigenanreise anzeigen"
|
data-label-default="Preise für Eigenanreise anzeigen"
|
||||||
data-label-alt="Preise für Busanreise anzeigen">
|
data-label-alt="Preise für Busanreise anzeigen">
|
||||||
Preise für Eigenanreise anzeigen
|
Preise für Eigenanreise anzeigen
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</f:if>
|
</f:if>
|
||||||
<f:if condition="{hasDiscount}">
|
<f:if condition="{hasDiscount}">
|
||||||
<button data-action="pricetable#toggleDiscount"
|
<button type="button"
|
||||||
|
data-action="pricetable#toggleDiscount"
|
||||||
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
|
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
|
||||||
<svg class="w-4 h-4">
|
<svg class="w-4 h-4">
|
||||||
<use href="#icon-arrow-circle-right"></use>
|
<use href="#icon-arrow-circle-right"></use>
|
||||||
@@ -36,8 +38,8 @@
|
|||||||
<span data-pricetable-target="discountToggleLabel"
|
<span data-pricetable-target="discountToggleLabel"
|
||||||
data-label-default="Preise für Busanreise anzeigen"
|
data-label-default="Preise für Busanreise anzeigen"
|
||||||
data-label-alt="Preise für Eigenanreise anzeigen">
|
data-label-alt="Preise für Eigenanreise anzeigen">
|
||||||
Preise für Busanreise anzeigen
|
Preise für Busanreise anzeigen
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</f:if>
|
</f:if>
|
||||||
</f:if>
|
</f:if>
|
||||||
@@ -117,7 +119,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="border border-gray-300 px-2 py-1 md:p-2 text-center">
|
<td class="border border-gray-300 px-2 py-1 md:p-2 text-center">
|
||||||
<f:if condition="{row.hasOptionalServices} && {row.available}">
|
<f:if condition="{row.hasOptionalServices} && {row.available}">
|
||||||
<button class="text-ep-primary text-sm md:text-base text-left leading-none whitespace-nowrap p-1"
|
<button type="button"
|
||||||
|
class="text-ep-primary text-sm md:text-base text-left leading-none whitespace-nowrap p-1"
|
||||||
data-action="pricetable#openModal"
|
data-action="pricetable#openModal"
|
||||||
data-type="options"
|
data-type="options"
|
||||||
data-uid="{row.roomUid}"
|
data-uid="{row.roomUid}"
|
||||||
@@ -174,7 +177,8 @@
|
|||||||
</table>
|
</table>
|
||||||
<f:if condition="{isSingleDate}">
|
<f:if condition="{isSingleDate}">
|
||||||
<f:else>
|
<f:else>
|
||||||
<button class="button button--small mb-4"
|
<button type="button"
|
||||||
|
class="button button--small mb-4"
|
||||||
data-action="product-details#showDates">
|
data-action="product-details#showDates">
|
||||||
<svg class="w-4 h-4 text-white">
|
<svg class="w-4 h-4 text-white">
|
||||||
<use href="#icon-chevron-left"></use>
|
<use href="#icon-chevron-left"></use>
|
||||||
@@ -213,7 +217,8 @@
|
|||||||
<span class="text-xl font-bold">
|
<span class="text-xl font-bold">
|
||||||
Optionale Zusatzleistungen
|
Optionale Zusatzleistungen
|
||||||
</span>
|
</span>
|
||||||
<button class="inline-block"
|
<button type="button"
|
||||||
|
class="inline-block"
|
||||||
data-action="modal#close">
|
data-action="modal#close">
|
||||||
<svg class="w-8 h-8">
|
<svg class="w-8 h-8">
|
||||||
<use href="#icon-close"></use>
|
<use href="#icon-close"></use>
|
||||||
|
|||||||
@@ -136,18 +136,19 @@
|
|||||||
Details{f:if(condition: item.hideBookingButton, else: ' & Buchen')}
|
Details{f:if(condition: item.hideBookingButton, else: ' & Buchen')}
|
||||||
</f:link.action>
|
</f:link.action>
|
||||||
</div>
|
</div>
|
||||||
<button class="teaserbox-watchlist"
|
<button type="button"
|
||||||
|
class="teaserbox-watchlist"
|
||||||
data-controller="watchlist-toggle"
|
data-controller="watchlist-toggle"
|
||||||
data-watchlist-toggle-key-value="{item.key}"
|
data-watchlist-toggle-key-value="{item.key}"
|
||||||
data-action="watchlist-toggle#toggle">
|
data-action="watchlist-toggle#toggle">
|
||||||
<span data-cooltipz-dir="top-right"
|
<span data-cooltipz-dir="top-right"
|
||||||
role="tooltip"
|
role="tooltip"
|
||||||
aria-label="auf die Merkliste setzen"
|
aria-label="auf die Merkliste setzen"
|
||||||
data-watchlist-toggle-target="ariaLabel">
|
data-watchlist-toggle-target="ariaLabel">
|
||||||
<svg class="w-5 h-5 text-ep-secondary">
|
<svg class="w-5 h-5 text-ep-secondary">
|
||||||
<use href="#icon-plus-circle" data-watchlist-toggle-target="icon"></use>
|
<use href="#icon-plus-circle" data-watchlist-toggle-target="icon"></use>
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
||||||
<div class="mb-8 lg:hidden">
|
<div class="mb-8 lg:hidden">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
@@ -28,7 +29,8 @@
|
|||||||
<div class="col-span-3 lg:col-span-1">
|
<div class="col-span-3 lg:col-span-1">
|
||||||
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
||||||
<p class="hidden lg:block">
|
<p class="hidden lg:block">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
|
|||||||
@@ -13,7 +13,8 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<f:if condition="{teasers}">
|
<f:if condition="{teasers}">
|
||||||
<div class="mb-8 lg:hidden">
|
<div class="mb-8 lg:hidden">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
@@ -62,7 +63,8 @@
|
|||||||
<div class="col-span-3 lg:col-span-1">
|
<div class="col-span-3 lg:col-span-1">
|
||||||
<f:if condition="{teasers}">
|
<f:if condition="{teasers}">
|
||||||
<p class="hidden lg:block">
|
<p class="hidden lg:block">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
|
|||||||
+4
-2
@@ -17,14 +17,16 @@
|
|||||||
data-teasergrid-disabled-value="false">
|
data-teasergrid-disabled-value="false">
|
||||||
<f:if condition="{children_300}">
|
<f:if condition="{children_300}">
|
||||||
<div class="flex items-center space-x-1 mb-2 sm:hidden">
|
<div class="flex items-center space-x-1 mb-2 sm:hidden">
|
||||||
<button class="opacity-50"
|
<button type="button"
|
||||||
|
class="opacity-50"
|
||||||
data-action="teasergrid#grid"
|
data-action="teasergrid#grid"
|
||||||
data-teasergrid-target="button">
|
data-teasergrid-target="button">
|
||||||
<svg class="w-5 h-5 text-ep-primary">
|
<svg class="w-5 h-5 text-ep-primary">
|
||||||
<use href="#icon-teaser-grid"></use>
|
<use href="#icon-teaser-grid"></use>
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<button data-action="teasergrid#block"
|
<button type="button"
|
||||||
|
data-action="teasergrid#block"
|
||||||
data-teasergrid-target="button">
|
data-teasergrid-target="button">
|
||||||
<svg class="w-5 h-5 text-ep-primary">
|
<svg class="w-5 h-5 text-ep-primary">
|
||||||
<use href="#icon-teaser-single"></use>
|
<use href="#icon-teaser-single"></use>
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
||||||
<div class="mb-8 lg:hidden">
|
<div class="mb-8 lg:hidden">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
@@ -57,7 +58,8 @@
|
|||||||
<div class="col-span-3 lg:col-span-1">
|
<div class="col-span-3 lg:col-span-1">
|
||||||
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
||||||
<p class="hidden lg:block">
|
<p class="hidden lg:block">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
|
|||||||
+2
-1
@@ -10,7 +10,8 @@
|
|||||||
<f:if condition="{page.content}">
|
<f:if condition="{page.content}">
|
||||||
<f:for each="{page.content}" as="element">
|
<f:for each="{page.content}" as="element">
|
||||||
<f:if condition="{element.data.header}">
|
<f:if condition="{element.data.header}">
|
||||||
<button class="button w-full"
|
<button type="button"
|
||||||
|
class="button w-full"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="c{element.data.uid}"
|
data-scroll-to-target-value="c{element.data.uid}"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
|
|||||||
+4
-1
@@ -19,7 +19,10 @@
|
|||||||
<hr>
|
<hr>
|
||||||
{country.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
|
{country.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
|
||||||
</div>
|
</div>
|
||||||
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
|
<button type="button"
|
||||||
|
class="button button--full teaserbox__button">
|
||||||
|
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
|
||||||
|
</button>
|
||||||
</f:link.typolink>
|
</f:link.typolink>
|
||||||
</f:section>
|
</f:section>
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,8 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
||||||
<div class="mb-8 lg:hidden">
|
<div class="mb-8 lg:hidden">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
@@ -27,7 +28,8 @@
|
|||||||
<div class="col-span-3 md:col-span-1">
|
<div class="col-span-3 md:col-span-1">
|
||||||
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
|
||||||
<p class="hidden lg:block">
|
<p class="hidden lg:block">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
|
|||||||
@@ -25,13 +25,15 @@
|
|||||||
<div class="grid grid-cols-2 gap-2">
|
<div class="grid grid-cols-2 gap-2">
|
||||||
<f:if condition="{settings.hotelOnTop}">
|
<f:if condition="{settings.hotelOnTop}">
|
||||||
<f:then>
|
<f:then>
|
||||||
<button class="button button--light button--active col-span-1 md:col-span-2"
|
<button type="button"
|
||||||
|
class="button button--light button--active col-span-1 md:col-span-2"
|
||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="hotel">
|
data-tab="hotel">
|
||||||
Unterkunft
|
Unterkunft
|
||||||
</button>
|
</button>
|
||||||
<button class="button button--light col-span-1 md:col-span-2"
|
<button type="button"
|
||||||
|
class="button button--light col-span-1 md:col-span-2"
|
||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="dates">
|
data-tab="dates">
|
||||||
@@ -39,13 +41,15 @@
|
|||||||
</button>
|
</button>
|
||||||
</f:then>
|
</f:then>
|
||||||
<f:else>
|
<f:else>
|
||||||
<button class="button button--light button--active col-span-1 md:col-span-2"
|
<button type="button"
|
||||||
|
class="button button--light button--active col-span-1 md:col-span-2"
|
||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="dates">
|
data-tab="dates">
|
||||||
Termine/Preise
|
Termine/Preise
|
||||||
</button>
|
</button>
|
||||||
<button class="button button--light col-span-1 md:col-span-2"
|
<button type="button"
|
||||||
|
class="button button--light col-span-1 md:col-span-2"
|
||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="hotel">
|
data-tab="hotel">
|
||||||
@@ -53,20 +57,23 @@
|
|||||||
</button>
|
</button>
|
||||||
</f:else>
|
</f:else>
|
||||||
</f:if>
|
</f:if>
|
||||||
<button class="button button--light col-span-1 md:col-span-2"
|
<button type="button"
|
||||||
|
class="button button--light col-span-1 md:col-span-2"
|
||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="region">
|
data-tab="region">
|
||||||
Gebiet
|
Gebiet
|
||||||
</button>
|
</button>
|
||||||
<button class="button button--light col-span-1 md:col-span-2"
|
<button type="button"
|
||||||
|
class="button button--light col-span-1 md:col-span-2"
|
||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="city">
|
data-tab="city">
|
||||||
Ort
|
Ort
|
||||||
</button>
|
</button>
|
||||||
<f:if condition="{product.journey}">
|
<f:if condition="{product.journey}">
|
||||||
<button class="button button--light col-span-1 md:col-span-2"
|
<button type="button"
|
||||||
|
class="button button--light col-span-1 md:col-span-2"
|
||||||
data-action="tabs#select"
|
data-action="tabs#select"
|
||||||
data-tabs-target="button"
|
data-tabs-target="button"
|
||||||
data-tab="journey">
|
data-tab="journey">
|
||||||
@@ -74,7 +81,8 @@
|
|||||||
</button>
|
</button>
|
||||||
</f:if>
|
</f:if>
|
||||||
<f:if condition="{product.faqs}">
|
<f:if condition="{product.faqs}">
|
||||||
<button class="button button--light col-span-1 md:col-span-2"
|
<button type="button"
|
||||||
|
class="button button--light col-span-1 md:col-span-2"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="faq"
|
data-scroll-to-target-value="faq"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
@@ -83,7 +91,8 @@
|
|||||||
</f:if>
|
</f:if>
|
||||||
<div class="col-span-2">
|
<div class="col-span-2">
|
||||||
<p class="mb-4">
|
<p class="mb-4">
|
||||||
<button class="button button--light w-full"
|
<button type="button"
|
||||||
|
class="button button--light w-full"
|
||||||
data-controller="watchlist-toggle"
|
data-controller="watchlist-toggle"
|
||||||
data-watchlist-toggle-key-value="{hotel.uid}:{product.uid}"
|
data-watchlist-toggle-key-value="{hotel.uid}:{product.uid}"
|
||||||
data-action="watchlist-toggle#toggle">
|
data-action="watchlist-toggle#toggle">
|
||||||
@@ -278,7 +287,8 @@
|
|||||||
<f:section name="Calendar">
|
<f:section name="Calendar">
|
||||||
<f:if condition="{product.calendarHotel}">
|
<f:if condition="{product.calendarHotel}">
|
||||||
<f:if condition="{hotel.groupsPriceConfigs}">
|
<f:if condition="{hotel.groupsPriceConfigs}">
|
||||||
<button class="button w-full"
|
<button type="button"
|
||||||
|
class="button w-full"
|
||||||
data-controller="lightbox"
|
data-controller="lightbox"
|
||||||
data-lightbox-url-value="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}"
|
data-lightbox-url-value="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}"
|
||||||
data-action="lightbox#open">
|
data-action="lightbox#open">
|
||||||
|
|||||||
@@ -17,14 +17,16 @@
|
|||||||
data-teasergrid-disabled-value="false">
|
data-teasergrid-disabled-value="false">
|
||||||
<f:if condition="{teasers}">
|
<f:if condition="{teasers}">
|
||||||
<div class="flex items-center space-x-1 mb-2 sm:hidden">
|
<div class="flex items-center space-x-1 mb-2 sm:hidden">
|
||||||
<button class="opacity-50"
|
<button type="button"
|
||||||
|
class="opacity-50"
|
||||||
data-action="teasergrid#grid"
|
data-action="teasergrid#grid"
|
||||||
data-teasergrid-target="button">
|
data-teasergrid-target="button">
|
||||||
<svg class="w-5 h-5 text-ep-primary">
|
<svg class="w-5 h-5 text-ep-primary">
|
||||||
<use href="#icon-teaser-grid"></use>
|
<use href="#icon-teaser-grid"></use>
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<button data-action="teasergrid#block"
|
<button type="button"
|
||||||
|
data-action="teasergrid#block"
|
||||||
data-teasergrid-target="button">
|
data-teasergrid-target="button">
|
||||||
<svg class="w-5 h-5 text-ep-primary">
|
<svg class="w-5 h-5 text-ep-primary">
|
||||||
<use href="#icon-teaser-single"></use>
|
<use href="#icon-teaser-single"></use>
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<f:if condition="{teasers}">
|
<f:if condition="{teasers}">
|
||||||
<div class="mb-8 lg:hidden">
|
<div class="mb-8 lg:hidden">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
@@ -28,7 +29,8 @@
|
|||||||
<div class="col-span-3 lg:col-span-1">
|
<div class="col-span-3 lg:col-span-1">
|
||||||
<f:if condition="{teasers}">
|
<f:if condition="{teasers}">
|
||||||
<p class="hidden lg:block">
|
<p class="hidden lg:block">
|
||||||
<button class="button w-full mb-8"
|
<button type="button"
|
||||||
|
class="button w-full mb-8"
|
||||||
data-controller="scroll-to"
|
data-controller="scroll-to"
|
||||||
data-scroll-to-target-value="teasers"
|
data-scroll-to-target-value="teasers"
|
||||||
data-action="scroll-to#scroll">
|
data-action="scroll-to#scroll">
|
||||||
|
|||||||
@@ -39,7 +39,8 @@
|
|||||||
data-controller="collapse">
|
data-controller="collapse">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<button data-action="collapse#toggle">
|
<button type="button"
|
||||||
|
data-action="collapse#toggle">
|
||||||
{label}
|
{label}
|
||||||
</button>
|
</button>
|
||||||
</h4>
|
</h4>
|
||||||
@@ -74,7 +75,8 @@
|
|||||||
data-controller="collapse">
|
data-controller="collapse">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<button data-action="collapse#toggle">
|
<button type="button"
|
||||||
|
data-action="collapse#toggle">
|
||||||
{label}
|
{label}
|
||||||
</button>
|
</button>
|
||||||
</h4>
|
</h4>
|
||||||
@@ -236,7 +238,8 @@
|
|||||||
data-controller="collapse">
|
data-controller="collapse">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<button data-action="collapse#toggle">
|
<button type="button"
|
||||||
|
data-action="collapse#toggle">
|
||||||
{label}
|
{label}
|
||||||
</button>
|
</button>
|
||||||
</h4>
|
</h4>
|
||||||
@@ -266,7 +269,8 @@
|
|||||||
data-controller="collapse">
|
data-controller="collapse">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<button data-action="collapse#toggle">
|
<button type="button"
|
||||||
|
data-action="collapse#toggle">
|
||||||
{label}
|
{label}
|
||||||
</button>
|
</button>
|
||||||
</h4>
|
</h4>
|
||||||
@@ -320,7 +324,8 @@
|
|||||||
data-controller="collapse">
|
data-controller="collapse">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<button data-action="collapse#toggle">
|
<button type="button"
|
||||||
|
data-action="collapse#toggle">
|
||||||
{label}
|
{label}
|
||||||
</button>
|
</button>
|
||||||
</h4>
|
</h4>
|
||||||
|
|||||||
@@ -16,7 +16,8 @@
|
|||||||
title="{settings.defaultTitle}">
|
title="{settings.defaultTitle}">
|
||||||
<img class="block h-10 lg:h-12 w-auto" src="{f:uri.image(src: settings.logoImage)}" alt="{settings.defaultTitle}">
|
<img class="block h-10 lg:h-12 w-auto" src="{f:uri.image(src: settings.logoImage)}" alt="{settings.defaultTitle}">
|
||||||
</a>
|
</a>
|
||||||
<button class="focus:outline-none" data-action="overlay-toggle#invokeToggle">
|
<button type="button"
|
||||||
|
class="focus:outline-none" data-action="overlay-toggle#invokeToggle">
|
||||||
<svg class="w-8 h-8">
|
<svg class="w-8 h-8">
|
||||||
<use href="#icon-close"></use>
|
<use href="#icon-close"></use>
|
||||||
</svg>
|
</svg>
|
||||||
@@ -51,10 +52,12 @@
|
|||||||
class="border-gray-400 focus:border-gray-800">
|
class="border-gray-400 focus:border-gray-800">
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-4">
|
<div class="grid grid-cols-2 gap-4">
|
||||||
<button type="submit" class="button">
|
<button type="submit"
|
||||||
|
class="button">
|
||||||
Suchen
|
Suchen
|
||||||
</button>
|
</button>
|
||||||
<button type="submit" class="button button--secondary">
|
<button type="submit"
|
||||||
|
class="button button--secondary">
|
||||||
Detailsuche
|
Detailsuche
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -60,7 +60,8 @@
|
|||||||
<f:if condition="{settings.datePickerPresets}">
|
<f:if condition="{settings.datePickerPresets}">
|
||||||
<div class="flex flex-col space-y-4">
|
<div class="flex flex-col space-y-4">
|
||||||
<f:for each="{settings.datePickerPresets}" as="preset">
|
<f:for each="{settings.datePickerPresets}" as="preset">
|
||||||
<button class="button button--small button--light w-full"
|
<button type="button"
|
||||||
|
class="button button--small button--light w-full"
|
||||||
data-preset='{preset -> f:format.json() -> f:format.raw()}'
|
data-preset='{preset -> f:format.json() -> f:format.raw()}'
|
||||||
data-action="datepicker#selectPreset">
|
data-action="datepicker#selectPreset">
|
||||||
<span>
|
<span>
|
||||||
@@ -71,11 +72,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</f:if>
|
</f:if>
|
||||||
<div class="flex flex-col space-y-4">
|
<div class="flex flex-col space-y-4">
|
||||||
<button class="button button--small button--light w-full"
|
<button type="button"
|
||||||
|
class="button button--small button--light w-full"
|
||||||
data-action="collapse#close">
|
data-action="collapse#close">
|
||||||
schließen
|
schließen
|
||||||
</button>
|
</button>
|
||||||
<button class="button button--small button--light w-full"
|
<button type="button"
|
||||||
|
class="button button--small button--light w-full"
|
||||||
data-action="datepicker#reset">
|
data-action="datepicker#reset">
|
||||||
zurücksetzen
|
zurücksetzen
|
||||||
</button>
|
</button>
|
||||||
@@ -106,7 +109,8 @@
|
|||||||
<ul class="m-0 p-0">
|
<ul class="m-0 p-0">
|
||||||
<f:for each="{filterOptions.pax}" as="option">
|
<f:for each="{filterOptions.pax}" as="option">
|
||||||
<li>
|
<li>
|
||||||
<button data-action="searchbar#setPax"
|
<button type="button"
|
||||||
|
data-action="searchbar#setPax"
|
||||||
data-option="{option}">
|
data-option="{option}">
|
||||||
{option}
|
{option}
|
||||||
</button>
|
</button>
|
||||||
@@ -143,7 +147,8 @@
|
|||||||
<div class="grid grid-cols-5 gap-4">
|
<div class="grid grid-cols-5 gap-4">
|
||||||
<f:for each="{filterOptions.destinations}" as="destination">
|
<f:for each="{filterOptions.destinations}" as="destination">
|
||||||
<div class="col-span-2">
|
<div class="col-span-2">
|
||||||
<button class="flex items-center space-x-2"
|
<button type="button"
|
||||||
|
class="flex items-center space-x-2"
|
||||||
data-action="searchbar#setDestination"
|
data-action="searchbar#setDestination"
|
||||||
data-option-uid="{destination.country.uid}"
|
data-option-uid="{destination.country.uid}"
|
||||||
data-option-type="country"
|
data-option-type="country"
|
||||||
@@ -159,7 +164,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-span-3 flex flex-col items-start space-y-1">
|
<div class="col-span-3 flex flex-col items-start space-y-1">
|
||||||
<f:for each="{destination.regions}" as="region">
|
<f:for each="{destination.regions}" as="region">
|
||||||
<button data-action="searchbar#setDestination"
|
<button type="button"
|
||||||
|
data-action="searchbar#setDestination"
|
||||||
data-option-uid="{region.uid}"
|
data-option-uid="{region.uid}"
|
||||||
data-option-type="region"
|
data-option-type="region"
|
||||||
data-option-label="{region.label}">
|
data-option-label="{region.label}">
|
||||||
@@ -177,7 +183,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-span-3 flex flex-col items-start space-y-1">
|
<div class="col-span-3 flex flex-col items-start space-y-1">
|
||||||
<f:for each="{filterOptions.concepts}" as="concept">
|
<f:for each="{filterOptions.concepts}" as="concept">
|
||||||
<button data-action="searchbar#setDestination"
|
<button type="button"
|
||||||
|
data-action="searchbar#setDestination"
|
||||||
data-option-uid="{concept.uid}"
|
data-option-uid="{concept.uid}"
|
||||||
data-option-type="concept"
|
data-option-type="concept"
|
||||||
data-option-label="{concept.name}">
|
data-option-label="{concept.name}">
|
||||||
@@ -186,7 +193,8 @@
|
|||||||
</f:for>
|
</f:for>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button class="button button--small"
|
<button type="button"
|
||||||
|
class="button button--small"
|
||||||
data-action="searchbar#resetDestination">
|
data-action="searchbar#resetDestination">
|
||||||
zurücksetzen
|
zurücksetzen
|
||||||
</button>
|
</button>
|
||||||
@@ -213,7 +221,8 @@
|
|||||||
data-collapse-target="container">
|
data-collapse-target="container">
|
||||||
<ul class="m-0 p-0">
|
<ul class="m-0 p-0">
|
||||||
<li>
|
<li>
|
||||||
<button data-action="searchbar#setPriceRange"
|
<button type="button"
|
||||||
|
data-action="searchbar#setPriceRange"
|
||||||
data-option-value=""
|
data-option-value=""
|
||||||
data-label-value="beliebig">
|
data-label-value="beliebig">
|
||||||
beliebig
|
beliebig
|
||||||
@@ -221,7 +230,8 @@
|
|||||||
</li>
|
</li>
|
||||||
<f:for each="{filterOptions.priceRanges}" as="range" iteration="iteration">
|
<f:for each="{filterOptions.priceRanges}" as="range" iteration="iteration">
|
||||||
<li>
|
<li>
|
||||||
<button data-action="searchbar#setPriceRange"
|
<button type="button"
|
||||||
|
data-action="searchbar#setPriceRange"
|
||||||
data-option-value="{range.uid}"
|
data-option-value="{range.uid}"
|
||||||
data-label-value="{range.formatted}">
|
data-label-value="{range.formatted}">
|
||||||
{range.formatted}
|
{range.formatted}
|
||||||
@@ -234,17 +244,20 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="hidden reduced:block reduced:ml-4">
|
<button type="submit"
|
||||||
|
class="hidden reduced:block reduced:ml-4">
|
||||||
<svg class="w-8 h-8 text-white">
|
<svg class="w-8 h-8 text-white">
|
||||||
<use href="#icon-chevron-right"></use>
|
<use href="#icon-chevron-right"></use>
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-end mt-4 reduced:hidden">
|
<div class="flex justify-end mt-4 reduced:hidden">
|
||||||
<button type="submit" class="w-1/3 text-white uppercase py-2">
|
<button type="submit"
|
||||||
|
class="w-1/3 text-white uppercase py-2">
|
||||||
Detailsuche
|
Detailsuche
|
||||||
</button>
|
</button>
|
||||||
<button type="submit" class="w-1/3 text-white bg-ep-primary uppercase py-2">
|
<button type="submit"
|
||||||
|
class="w-1/3 text-white bg-ep-primary uppercase py-2">
|
||||||
Alle anzeigen
|
Alle anzeigen
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user