{% block neti_store_locator_store %} <div class="container store border-bottom py-3" :class="{ featured: store.featured, selected: isStoreSelected }" data-neti-next-store-locator-item-options='{{ store|json_encode|escape }}' @click="onClick" > <div class="selected-store--icon" v-if="isStoreSelected"> {% sw_icon 'bookmark' %} </div> {% block neti_store_locator_store_close_button %} <div class="row" v-if="horizontal && selected"> <div class="col close-panel"> <span @click="onClose"> {% sw_icon 'x' %} </span> </div> </div> {% endblock %} {% block neti_store_locator_store_title %} <div class="row"> <div class="col title" @click.prevent="onMarkerClicked"> <h4>{{ '{{ store.label }}' }}</h4> </div> <div v-if="isStoreOpen" class="col-auto text-success"> {{ "neti-next-store-locator.index.store.open"|trans }} </div> </div> {% endblock %} <div class="d-flex"> {% block neti_store_locator_store_address %} <div class="address flex-fill"> <template v-if="store.country.iso == 'GB'"> {{ '{{ store.streetNumber }} {{ store.street }}' }}<br /> {{ '{{ store.city }}' }}<br /> <template v-if="store.countryState"> {{ '{{ store.countryState.translated.name }}' }}<br /> </template> {{ '{{ store.zipCode }}' }}<br /> <template v-if="store.country"> {{ '{{ store.country.name }}' }}<br /> </template> </template> <template v-else > {{ '{{ store.street }} {{ store.streetNumber }}' }}<br /> {{ '{{ store.zipCode }} {{ store.city }}' }}<br /> <template v-if="store.country"> {{ '{{ store.country.name }}' }}<br /> </template> </template> </div> {% endblock %} {% block neti_store_locator_store_actions %} <div class="actions ml-2 d-flex flex-column"> <span class="flex-fill"></span> <div class="distance mb-1" v-if="store.distance !== null"> <span class="badge badge-info value"> {{ '{{ Math.round(store.distance * 100) / 100 }} {{ $parent.config.distanceUnit }}' }} </span> </div> <a class="marker btn btn-light btn-sm align-self-end" @click.prevent="onMarkerClicked"> {% sw_icon 'marker' %} </a> </div> {% endblock %} </div> {% block neti_store_locator_store_meta %} <div class="additional-info mt-2" v-slide="selected"> {% block neti_store_locator_store_media %} <div class="store--image" v-if="store.pictureMedia"> <img :src="store.pictureMedia.url" :alt="store.label" style="max-width: 100%; max-height: 100px;" > </div> {% endblock %} {% block neti_store_locator_store_phone %} <template v-if="store.phone"> <strong>{{ "neti-next-store-locator.index.store.labelTelephone"|trans }}</strong> <a :href="'tel:' + store.phone"> {{ '{{ store.phone }}' }} </a> <br /> </template> {% endblock %} {% block neti_store_locator_store_fax %} <template v-if="store.fax"> <strong>{{ "neti-next-store-locator.index.store.labelFax"|trans }}</strong> {{ '{{ store.fax }}' }} <br /> </template> {% endblock %} {% block neti_store_locator_store_email %} <template v-if="store.email"> <strong>{{ "neti-next-store-locator.index.store.labelEmail"|trans }}</strong> <a :href="'mailto:' + store.email">{{ '{{ store.email }}' }}</a> <br /> </template> {% endblock %} {% block neti_store_locator_store_url %} <template v-if="store.url"> <a :href="store.url" target="_blank"> {{ '{{ store.url }}' }} </a> <br /> </template> {% endblock %} {% block neti_store_locator_store_additional_info %} <template v-if="additionalInformation"> <br /> <div v-html="additionalInformation"></div> <br /> </template> {% endblock %} {% block neti_store_locator_store_opening_times %} <template v-if="config.showOpeningTimesOnListing"> <template v-if="hasBusinessHours"> <br /> <div v-if="isDifferentTimeZone"> {% sw_include '@Storefront/storefront/utilities/alert.html.twig' with { type: "info", content: "neti-next-store-locator.index.store.differentTimeZone"|trans({ "%storeTimezone%": '{{ store.timezone }}', "%userTimezone%": app.request.cookies.get('timezone') })|sw_sanitize } %} </div> <div class="buiness-hours-week"> <dl v-for="weekDay in weekDays" class="row mb-1 justify-content-end"> <template v-if="businessHours[weekDay.id]"> <dt class="col-4">{{ '{{ weekDay.translated.name }}' }}:</dt> <dd v-for="businessHour in businessHours[weekDay.id]" class="col-8 mb-0"> {{ '{{ formatTime(businessHour.businessHour.start) }}' }} - {{ '{{ formatTime(businessHour.businessHour.end) }}' }} </dd> </template> </dl> </div> </template> <template v-else-if="formattedOpeningTimes"> <br /> <div class="opening-times"> <strong> {{ "neti-next-store-locator.index.store.labelOpeningTimes"|trans }} </strong> <div v-html="formattedOpeningTimes"></div> </div> </template> </template> {% endblock %} {% block neti_store_locator_store_buttons %} <div class="button-group d-flex flex-row flex-wrap mt-2"> {% block neti_store_locator_store_button_contact %} <button class="btn btn-secondary" v-if="store.contactFormEnabled" @click.prevent="onContact" > {{ "neti-next-store-locator.index.store.buttonContact"|trans }} </button> {% endblock %} {% block neti_store_locator_store_button_detail %} <a class="btn btn-primary flex-fill" :href="detailLink" v-if="store.detailPageEnabled" > {{ "neti-next-store-locator.index.store.buttonDetails"|trans }} </a> {% endblock %} {% block neti_store_locator_store_button_route %} <template v-if="store.distance > 0"> <a v-if="routeLink" class="btn btn-secondary" :href="routeLink" target="_blank" > {{ "neti-next-store-locator.index.store.buttonRoute"|trans }} </a> <button v-else class="btn btn-secondary" @click.prevent="onRoute" > {{ "neti-next-store-locator.index.store.buttonRoute"|trans }} </button> </template> {% endblock %} {% block neti_store_locator_store_button_select %} <button class="btn btn-primary flex-fill" v-if="config._storePickupEnabled" @click="onSelectStore" :disabled="isStoreSelected"> <template v-if="isStoreSelected"> {{ "neti-next-store-locator.index.store.buttonSelected"|trans }} </template> <template v-else> {{ "neti-next-store-locator.index.store.buttonSelect"|trans }} </template> </button> {% endblock %} </div> {% endblock %} </div> {% endblock %} </div>{% endblock %}