{% if type == 'contact' %}
<div class="cardContact">
<div class="cardContact__inner">
<div>
<div class="cardContact__img"><img
src="{{ img_src }}" alt=""></div>
</div>
<div>
<div class="cardContact__name">{{ title }}</div>
<div class="cardContact__desc">{{ description }}</div>
</div>
<div><a href="{{ url }}">Contacter</a></div>
</div>
</div>
{% elseif type == 'organisation' %}
{% if is_map == true %}
{% if is_organization_4|default and is_organization_4 == true %}
<li>
<a href="https://www.google.com/maps/search/?api=1&query={{ organization }}" class="cardContact --map" target="_blank" title="Itinéraire via Google Maps">
<div class="cardContact__inner">
<div>
<div class="cardContact__img">
<iframe allowfullscreen="allowfullscreen" height="100%"
src="https://maps.google.com/maps?q={{ organization }}&z=12&output=embed"
style="border:0" width="100%"></iframe>
</div>
</div>
<div>
<div class="cardContact__name" data-card-map>{{ organization|raw }}</div>
</div>
</div>
</a>
</li>
{% else %}
{% if is_elastic_search|default and is_elastic_search == true %}
<a href="https://www.google.com/maps/search/?api=1&query={% if organization['longitude']|length == 0 or organization['latitude'] == 0 %}{{ organization['rue'] }}, {{ organization['codePostal'] }} {{ organization['ville'] }}{% else %}{{ organization['longitude'] }},{{ organization['latitude'] }}{% endif %}" target="_blank" class="cardContact --map" title="Itinéraire via Google Maps">
<div class="cardContact__inner">
<div>
<div class="cardContact__img">
{% if organization['longitude']|length == 0 or organization['latitude'] == 0 %}
<iframe allowfullscreen="allowfullscreen" height="100%"
src="https://maps.google.com/maps?q={{ organization['rue'] }}, {{ organization['codePostal'] }} {{ organization['ville'] }}&z=12&output=embed"
style="border:0" width="100%"></iframe>
{% else %}
<iframe allowfullscreen="allowfullscreen" height="100%"
src="https://maps.google.com/maps?q={{ organization['longitude'] }},{{ organization['latitude'] }}&z=12&output=embed"
style="border:0" width="100%"></iframe>
{% endif %}
</div>
</div>
<div>
<div class="cardContact__name" data-card-map>{{ organization['title'] }}</div>
<div class="cardContact__desc">{{ organization['subtitle'] }}</div>
</div>
</div>
</a>
{% else %}
<a href="https://www.google.com/maps/search/?api=1&query={% if organization.longitude|length == 0 or organization.latitude == 0 %}{{ organization.rue }}, {{ organization.codePostal }} {{ organization.ville }}{% else %}{{ organization.longitude }},{{ organization.latitude }}{% endif %}" target="_blank" class="cardContact --map" title="Itinéraire via Google Maps">
<div class="cardContact__inner">
<div>
<div class="cardContact__img">
{% if organization.longitude|length == 0 or organization.latitude == 0 %}
<iframe allowfullscreen="allowfullscreen" height="100%"
src="https://maps.google.com/maps?q={{ organization.rue }}, {{ organization.codePostal }} {{ organization.ville }}&z=12&output=embed"
style="border:0" width="100%"></iframe>
{% else %}
<iframe allowfullscreen="allowfullscreen" height="100%"
src="https://maps.google.com/maps?q={{ organization.longitude }},{{ organization.latitude }}&z=12&output=embed"
style="border:0" width="100%"></iframe>
{% endif %}
</div>
</div>
<div>
<div class="cardContact__name" data-card-map>{{ organization.title }}</div>
<div class="cardContact__desc">{{ organization.subtitle }}</div>
</div>
</div>
</a>
{% endif %}
{% endif %}
<script>
(function() {
function wrapTextBeforeFirstComma(inputString) {
// Find the index of the first comma in the input string
const commaIndex = inputString.indexOf(',');
// If there is no comma in the input string, return the input string as is
if (commaIndex === -1) {
return inputString;
}
// Extract the text before the first comma
const textBeforeComma = inputString.slice(0, commaIndex);
// Wrap the text before the first comma in a span HTML element
const wrappedText = `<strong>${textBeforeComma}</strong>`;
// Return the input string with the text before the first comma wrapped in a span HTML element
return inputString.replace(textBeforeComma, wrappedText);
}
const cardsMap = document.querySelectorAll('[data-card-map]')
for (let i = 0; i < cardsMap.length; i++) {
const nameCardMapText = cardsMap[i].innerText
cardsMap[i].innerText = nameCardMapText.replace(/,(?=[^\s])/g, ", ")
cardsMap[i].innerHTML = wrapTextBeforeFirstComma(cardsMap[i].innerText)
}
})()
</script>
{% else %}
{% if is_elastic_search|default and is_elastic_search == true %}
<div class="cardContact">
<div class="cardContact__inner">
<div>
<div class="cardContact__img">
<img src="{{ asset('img/icons/home.png') }}" alt="{{ organization['title'] }}">
</div>
</div>
<div>
<div class="cardContact__name">{{ organization['title'] }}</div>
<div class="cardContact__desc">{{ organization['subtitle'] }}</div>
</div>
<div><a href="{{ path('organisation_detail', {'id': organization['id']}) }}">Contacter</a></div>
</div>
</div>
{% else %}
<div class="cardContact">
<div class="cardContact__inner">
<div>
<div class="cardContact__img">
<img src="{{ asset('img/icons/home.png') }}" alt="{{ organization.title }}">
</div>
</div>
<div>
<div class="cardContact__name">{{ organization.title }}</div>
<div class="cardContact__desc">{{ organization.subtitle }}</div>
</div>
<div><a href="{{ path('organisation_detail', {'id': organization.id}) }}">Contacter</a></div>
</div>
</div>
{% endif %}
{% endif %}
{% elseif type == 'resource' %}
<a href="{{ url }}"
class="linkBlock linkBlock--download" download="">
<div class="linkBlock__inner">
<div><span class="linkBlock__icon"><svg aria-hidden="true" id="f3ce6478-5c65-4999-af52-59a99b9cbf14" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path
d="M481.79,453.6H309.33L463.76,275.91a24.2,24.2,0,1,0-36.54-31.74L312.42,376.25V34.2a24.21,24.21,0,0,0-48.41,0V376.78L148.75,244.15a24.2,24.2,0,1,0-36.53,31.74L266.66,453.6H94.21a24.2,24.2,0,1,0,0,48.4H481.79a24.2,24.2,0,0,0,0-48.4Z"></path></svg></span>
</div>
<div><span>{{ title }} (<span>pdf</span> - 0.85 <abbr title="mégaoctet">Mo</abbr>)</span></div>
</div>
</a>
{% elseif type == 'link-external' %}
<a href="{{ url }}" class="linkBlock linkBlock--external">
<div class="linkBlock__inner">
<div><span class="linkBlock__icon"><svg id="f2c09b3a-291a-4f9b-af4e-4c54c8628938" data-name="Layer 1" aria-hidden="true"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480.62 460.76"><g
id="a923b6ed-2241-4971-af5b-20b676d74906" data-name="Path 691"><path
d="M193.42,486.38l-4.1-.84-27.54-1.45-4.17-2.26a132.48,132.48,0,0,1-96.85-78.05,279.57,279.57,0,0,1-12.59-46.6l-.48-2.71L49.84,323c1.71-6.51,3.28-12.39,5.21-18.24A137,137,0,0,1,92.4,246.46l28.65-25.78c13.14-12.56,30.74-14.74,44.3-5.17l-27.58,39c6.1,4.28,13.55,3,15.85,1.09l-29,26.15a88.92,88.92,0,0,0-24.11,37.82c-1.45,4.41-2.63,8.78-3.81,13.23l-1,18.58a231.66,231.66,0,0,0,9.5,34.86c10.91,25.29,34.82,44.1,63.41,49l4,1.05c.49.16,1,.35,1.48.54l13.33.7c.5-.12,1-.24,1.51-.33l3.33-.47a89.55,89.55,0,0,0,56.45-25c15.75-14.44,31-28.44,46.57-41.95a88.54,88.54,0,0,0,31.86-55.05c6-32.36-6.12-64.32-31.62-84.07l29.26-37.78a132.88,132.88,0,0,1,49.47,130,135.32,135.32,0,0,1-48.16,83.47c-14.66,12.78-29.64,26.5-44.63,40.22a137,137,0,0,1-83.31,37.69Zm58.16-167.7A134.55,134.55,0,0,1,202.08,187a135.87,135.87,0,0,1,47.17-81.74C259.87,96,270.82,86,281.71,76.1L297.23,62a134.34,134.34,0,0,1,80.41-35.07,30.08,30.08,0,0,1,4.44-1l2.26-.33,30.33,1.59,3.22,1.9A136.7,136.7,0,0,1,525,135.83c.77,3.87,1.35,7.73,1.91,11.58l1.45,9.08-2.52,32.57-4,12.72a128.1,128.1,0,0,1-35.89,60.09c-9.5,9.2-20.86,20-33.11,29.72L423.1,254.15c10.52-8.35,20.88-18.21,29.75-26.8a81.47,81.47,0,0,0,23-38.64l3.52-11.21,1-18.41-.75-4.82c-.42-3-.84-6-1.44-8.88A89.08,89.08,0,0,0,407,75.67a36,36,0,0,1-4.88-1.26L388,73.66a27.36,27.36,0,0,1-3.88.69,87.81,87.81,0,0,0-54.62,22.93l-15.57,14.15c-11.15,10.15-22.37,20.38-33.68,30.23a88.87,88.87,0,0,0-31.09,53.75c-6.24,32.78,6,65.39,31.89,85.61Z"
transform="translate(-47.69 -25.62)"></path></g></svg></span></div>
<div><span>{{ title }}</span></div>
</div>
</a>
{% elseif type == 'link-internal' %}
<a href="{{ url }}" class="linkBlock linkBlock--internal">
<div class="linkBlock__inner">
<div><span class="linkBlock__icon"><svg id="f2c09b3a-291a-4f9b-af4e-4c54c8628938" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 480.62 460.76"><g
id="a923b6ed-2241-4971-af5b-20b676d74906" data-name="Path 691"><path
d="M193.42,486.38l-4.1-.84-27.54-1.45-4.17-2.26a132.48,132.48,0,0,1-96.85-78.05,279.57,279.57,0,0,1-12.59-46.6l-.48-2.71L49.84,323c1.71-6.51,3.28-12.39,5.21-18.24A137,137,0,0,1,92.4,246.46l28.65-25.78c13.14-12.56,30.74-14.74,44.3-5.17l-27.58,39c6.1,4.28,13.55,3,15.85,1.09l-29,26.15a88.92,88.92,0,0,0-24.11,37.82c-1.45,4.41-2.63,8.78-3.81,13.23l-1,18.58a231.66,231.66,0,0,0,9.5,34.86c10.91,25.29,34.82,44.1,63.41,49l4,1.05c.49.16,1,.35,1.48.54l13.33.7c.5-.12,1-.24,1.51-.33l3.33-.47a89.55,89.55,0,0,0,56.45-25c15.75-14.44,31-28.44,46.57-41.95a88.54,88.54,0,0,0,31.86-55.05c6-32.36-6.12-64.32-31.62-84.07l29.26-37.78a132.88,132.88,0,0,1,49.47,130,135.32,135.32,0,0,1-48.16,83.47c-14.66,12.78-29.64,26.5-44.63,40.22a137,137,0,0,1-83.31,37.69Zm58.16-167.7A134.55,134.55,0,0,1,202.08,187a135.87,135.87,0,0,1,47.17-81.74C259.87,96,270.82,86,281.71,76.1L297.23,62a134.34,134.34,0,0,1,80.41-35.07,30.08,30.08,0,0,1,4.44-1l2.26-.33,30.33,1.59,3.22,1.9A136.7,136.7,0,0,1,525,135.83c.77,3.87,1.35,7.73,1.91,11.58l1.45,9.08-2.52,32.57-4,12.72a128.1,128.1,0,0,1-35.89,60.09c-9.5,9.2-20.86,20-33.11,29.72L423.1,254.15c10.52-8.35,20.88-18.21,29.75-26.8a81.47,81.47,0,0,0,23-38.64l3.52-11.21,1-18.41-.75-4.82c-.42-3-.84-6-1.44-8.88A89.08,89.08,0,0,0,407,75.67a36,36,0,0,1-4.88-1.26L388,73.66a27.36,27.36,0,0,1-3.88.69,87.81,87.81,0,0,0-54.62,22.93l-15.57,14.15c-11.15,10.15-22.37,20.38-33.68,30.23a88.87,88.87,0,0,0-31.09,53.75c-6.24,32.78,6,65.39,31.89,85.61Z"
transform="translate(-47.69 -25.62)"></path></g></svg></span></div>
<div><span>{{ title }}</span></div>
</div>
</a>
{% endif %}