Files
igaming-template/layouts/partials/footer.html
T

87 lines
5.4 KiB
HTML

{{- /* footer.html — appears on every page. Includes (per spec): affiliate
disclosure link, licence/authority text (from data/brand.yaml),
responsible-gambling links, cookie policy link, an "18+ Gamble
Responsibly" badge and a dynamic copyright year. */ -}}
{{- $brand := .Site.Data.brand -}}
{{- $footerPages := where .Site.Pages "Params.showInFooter" true -}}
{{- $primary := sort (where $footerPages "Params.footerGroup" "primary") "Weight" -}}
{{- $legal := sort (where $footerPages "Params.footerGroup" "legal") "Weight" -}}
<footer class="mt-16 bg-secondary text-white">
<div class="site-container grid gap-10 py-12 md:grid-cols-2 lg:grid-cols-4">
{{/* Brand + social */}}
<div>
<div class="flex items-center gap-2">
{{ partial "responsive-image.html" (dict "src" $brand.logoPath "alt" (printf "%s logo" $brand.name) "class" "h-9 w-9") }}
<span class="text-lg font-extrabold">{{ $brand.name }}</span>
</div>
<p class="mt-3 text-sm text-white/70">{{ $brand.tagline }}</p>
<div class="mt-4 flex items-center gap-3">
{{- range $brand.socialLinks -}}
<a href="{{ .url }}" target="_blank" rel="noopener nofollow" class="text-white/70 hover:text-white" aria-label="{{ .platform | title }}">
{{- if eq .platform "twitter" -}}
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M18.9 2H22l-7.5 8.6L23 22h-6.8l-5.3-7-6.1 7H1.7l8-9.2L1 2h7l4.8 6.4L18.9 2Zm-2.4 18h1.9L7.6 4H5.6l10.9 16Z"/></svg>
{{- else if eq .platform "facebook" -}}
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M22 12a10 10 0 1 0-11.6 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.2c-1.2 0-1.6.8-1.6 1.6V12h2.7l-.4 2.9h-2.3v7A10 10 0 0 0 22 12Z"/></svg>
{{- else if eq .platform "instagram" -}}
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2.2c3.2 0 3.6 0 4.9.1 1.2.1 1.8.3 2.2.4.6.2 1 .5 1.4.9.4.4.7.8.9 1.4.1.4.3 1 .4 2.2.1 1.3.1 1.7.1 4.9s0 3.6-.1 4.9c-.1 1.2-.3 1.8-.4 2.2-.2.6-.5 1-.9 1.4-.4.4-.8.7-1.4.9-.4.1-1 .3-2.2.4-1.3.1-1.7.1-4.9.1s-3.6 0-4.9-.1c-1.2-.1-1.8-.3-2.2-.4-.6-.2-1-.5-1.4-.9-.4-.4-.7-.8-.9-1.4-.1-.4-.3-1-.4-2.2C2.2 15.6 2.2 15.2 2.2 12s0-3.6.1-4.9c.1-1.2.3-1.8.4-2.2.2-.6.5-1 .9-1.4.4-.4.8-.7 1.4-.9.4-.1 1-.3 2.2-.4C8.4 2.2 8.8 2.2 12 2.2Zm0 3.2A6.6 6.6 0 1 0 18.6 12 6.6 6.6 0 0 0 12 5.4Zm0 10.9A4.3 4.3 0 1 1 16.3 12 4.3 4.3 0 0 1 12 16.3Zm6.9-11.1a1.5 1.5 0 1 1-1.5-1.5 1.5 1.5 0 0 1 1.5 1.5Z"/></svg>
{{- else if eq .platform "youtube" -}}
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M23 12s0-3.2-.4-4.7a2.5 2.5 0 0 0-1.8-1.8C19.3 5 12 5 12 5s-7.3 0-8.8.5A2.5 2.5 0 0 0 1.4 7.3C1 8.8 1 12 1 12s0 3.2.4 4.7a2.5 2.5 0 0 0 1.8 1.8C4.7 19 12 19 12 19s7.3 0 8.8-.5a2.5 2.5 0 0 0 1.8-1.8C23 15.2 23 12 23 12Zm-13 3V9l5.2 3-5.2 3Z"/></svg>
{{- else -}}
<span class="text-sm">{{ .platform | title }}</span>
{{- end -}}
</a>
{{- end -}}
</div>
</div>
{{/* Explore */}}
<nav aria-label="Footer">
<h2 class="text-sm font-semibold uppercase tracking-wider text-white/60">{{ i18n "footerExplore" }}</h2>
<ul class="mt-3 space-y-2 text-sm">
{{- range $primary -}}
<li><a href="{{ .RelPermalink }}" class="text-white/80 no-underline hover:text-white hover:underline">{{ .LinkTitle }}</a></li>
{{- end -}}
</ul>
</nav>
{{/* Legal & safety */}}
<nav aria-label="Legal and safety">
<h2 class="text-sm font-semibold uppercase tracking-wider text-white/60">{{ i18n "footerLegal" }}</h2>
<ul class="mt-3 space-y-2 text-sm">
{{- range $legal -}}
<li><a href="{{ .RelPermalink }}" class="text-white/80 no-underline hover:text-white hover:underline">{{ .LinkTitle }}</a></li>
{{- end -}}
<li>
<button type="button" onclick="window.openCookieSettings && window.openCookieSettings()" class="text-white/80 underline-offset-2 hover:text-white hover:underline">{{ i18n "cookieSettings" }}</button>
</li>
</ul>
</nav>
{{/* Responsible gambling summary */}}
<div>
<h2 class="text-sm font-semibold uppercase tracking-wider text-white/60">{{ i18n "footerResponsible" }}</h2>
<div class="mt-3 text-sm text-white/80">
{{ partial "responsible-gambling-block.html" (dict "page" . "variant" "compact") }}
</div>
</div>
</div>
{{ partial "trust-badges.html" . }}
{{/* Licence + copyright bar */}}
<div class="border-t border-white/10">
<div class="site-container flex flex-col gap-3 py-6 text-xs text-white/60 md:flex-row md:items-center md:justify-between">
<p>
<span class="mr-2 inline-flex items-center rounded bg-white/10 px-2 py-1 font-bold text-white"><span data-age-value>{{ $brand.ageRestrictionDefault }}</span>+ Gamble Responsibly</span>
{{ $brand.legalOperatorName }} is licensed and regulated by the {{ $brand.licenseAuthority }} (Licence No. {{ $brand.licenseNumber }}).
</p>
<p>
&copy; {{ now.Year }} {{ $brand.name }}. {{ i18n "allRightsReserved" }}
{{ with site.GetPage "affiliate-disclosure" }}<a href="{{ .RelPermalink }}" class="ml-2 text-white/80 underline hover:text-white">{{ i18n "affiliateDisclosure" }}</a>{{ end }}
</p>
</div>
</div>
</footer>