feat: strengthen operator template and localized SEO UX
This commit is contained in:
@@ -9,16 +9,11 @@
|
||||
<span><span data-age-value>{{ $brand.ageRestrictionDefault }}</span>+</span>
|
||||
</div>
|
||||
<h2 id="age-gate-title" class="text-2xl font-bold text-secondary">{{ i18n "ageGateTitle" }}</h2>
|
||||
<p id="age-gate-desc" class="mt-3 text-secondary/80">
|
||||
This website is intended for users aged <span data-age-value>{{ $brand.ageRestrictionDefault }}</span>+ only.
|
||||
By entering, you confirm you meet the legal gambling age in your jurisdiction. Gamble responsibly.
|
||||
</p>
|
||||
<p id="age-gate-desc" class="mt-3 text-secondary/80">{{ printf (i18n "ageGateDescription") $brand.ageRestrictionDefault }}</p>
|
||||
<div class="mt-6 flex flex-col gap-3">
|
||||
<button type="button" data-age-confirm class="btn-primary btn-lg">{{ i18n "ageGateConfirm" }}</button>
|
||||
<button type="button" data-age-exit class="btn-ghost">{{ i18n "ageGateExit" }}</button>
|
||||
</div>
|
||||
<p class="mt-4 text-xs text-secondary/60">
|
||||
Underage gambling is an offence. This is an independent affiliate resource, not the operator.
|
||||
</p>
|
||||
<p class="mt-4 text-xs text-secondary/60">{{ i18n "ageGateNotice" }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,10 @@
|
||||
Alpine (when present) layers single-open accordion behaviour on top via
|
||||
x-bind:open + the native `toggle` event — never hiding content with
|
||||
x-cloak. The FAQPage JSON-LD is emitted separately by schema-jsonld.html. */ -}}
|
||||
{{- $faqs := sort .Site.Data.faq "weight" -}}
|
||||
{{- $faqKey := printf "faq.%s" .Language.Lang -}}
|
||||
{{- $faqs := index .Site.Data $faqKey -}}
|
||||
{{- if not $faqs -}}{{- $faqs = .Site.Data.faq -}}{{- end -}}
|
||||
{{- $faqs = sort $faqs "weight" -}}
|
||||
<div class="mx-auto max-w-3xl divide-y divide-secondary/10 rounded-xl border border-secondary/10" x-data="{ open: null }">
|
||||
{{- range $i, $f := $faqs -}}
|
||||
<details class="group"
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{{- /* footer.html — appears on every page. Includes (per spec): affiliate
|
||||
disclosure link, licence/authority text (from data/brand.yaml),
|
||||
{{- /* footer.html — appears on every page. Includes licence/authority text,
|
||||
responsible-gambling links, cookie policy link, an "18+ Gamble
|
||||
Responsibly" badge and a dynamic copyright year. */ -}}
|
||||
{{- $brand := .Site.Data.brand -}}
|
||||
@@ -37,7 +36,7 @@
|
||||
</div>
|
||||
|
||||
{{/* Explore */}}
|
||||
<nav aria-label="Footer">
|
||||
<nav aria-label="{{ i18n "footerExplore" }}">
|
||||
<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 -}}
|
||||
@@ -47,7 +46,7 @@
|
||||
</nav>
|
||||
|
||||
{{/* Legal & safety */}}
|
||||
<nav aria-label="Legal and safety">
|
||||
<nav aria-label="{{ i18n "footerLegal" }}">
|
||||
<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 -}}
|
||||
@@ -74,12 +73,11 @@
|
||||
<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 }}).
|
||||
<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>+ {{ i18n "gambleResponsibly" }}</span>
|
||||
{{ printf (i18n "licenceStatement") $brand.legalOperatorName $brand.licenseAuthority $brand.licenseNumber }}
|
||||
</p>
|
||||
<p>
|
||||
© {{ 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>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{{- $title := "" -}}
|
||||
{{- if .IsHome -}}
|
||||
{{- $title = printf "%s | %s" $brand.name $brand.tagline -}}
|
||||
{{- $title = .Params.title | default (printf "%s | %s" $brand.name $brand.tagline) -}}
|
||||
{{- else -}}
|
||||
{{- $title = printf "%s | %s" (.Params.title | default .Title) $brand.name -}}
|
||||
{{- end -}}
|
||||
@@ -33,7 +33,7 @@
|
||||
<meta property="og:description" content="{{ $desc }}">
|
||||
<meta property="og:url" content="{{ .Permalink }}">
|
||||
<meta property="og:site_name" content="{{ $brand.name }}">
|
||||
<meta property="og:locale" content="{{ replace $brand.defaultLocale "-" "_" }}">
|
||||
<meta property="og:locale" content="{{ replace (.Language.LanguageCode | default .Language.Lang) "-" "_" }}">
|
||||
<meta property="og:image" content="{{ $ogImage }}">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
|
||||
@@ -4,9 +4,11 @@
|
||||
The region/compliance data layer (age/RG/currency/payment filtering) is
|
||||
applied headlessly by locale-switcher.html — it no longer renders a visible
|
||||
selector, but its script must still run on every page. */ -}}
|
||||
{{- $noCtaSlugs := slice "faq" "responsible-gambling" "terms" "privacy-policy" "cookie-policy" "affiliate-disclosure" "about" "editorial-policy" -}}
|
||||
{{- $hideCta := or .Params.hideCta (in $noCtaSlugs .Slug) (eq .Section "authors") -}}
|
||||
<header class="sticky top-0 z-40 border-b border-secondary/10 bg-white/95 backdrop-blur">
|
||||
<div class="site-container flex h-16 items-center gap-3 md:gap-4">
|
||||
<a href="{{ "/" | relURL }}" class="flex shrink-0 items-center gap-2 no-underline" aria-label="{{ .Site.Data.brand.name }} home">
|
||||
<a href="{{ site.Home.RelPermalink }}" class="flex shrink-0 items-center gap-2 no-underline" aria-label="{{ .Site.Data.brand.name }} {{ i18n "home" }}">
|
||||
{{ partial "responsive-image.html" (dict
|
||||
"src" .Site.Data.brand.logoPath
|
||||
"alt" (printf "%s logo" .Site.Data.brand.name)
|
||||
@@ -19,9 +21,11 @@
|
||||
|
||||
<div class="ml-auto flex shrink-0 items-center gap-2">
|
||||
{{ if gt (len site.Languages) 1 }}{{ partial "language-switcher.html" . }}{{ end }}
|
||||
<span class="hidden sm:inline-flex">
|
||||
{{ partial "cta-button.html" (dict "page" . "text" (i18n "playNow")) }}
|
||||
</span>
|
||||
{{ if not $hideCta }}
|
||||
<span class="hidden sm:inline-flex">
|
||||
{{ partial "cta-button.html" (dict "page" . "text" (i18n "playNow")) }}
|
||||
</span>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ partial "locale-switcher.html" . }}
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
ordered by weight. Desktop = inline list; mobile = Alpine.js toggle. */ -}}
|
||||
{{- $current := . -}}
|
||||
{{- $navPages := sort (where .Site.Pages "Params.showInNav" true) "Weight" -}}
|
||||
{{- $noCtaSlugs := slice "faq" "responsible-gambling" "terms" "privacy-policy" "cookie-policy" "affiliate-disclosure" "about" "editorial-policy" -}}
|
||||
{{- $hideCta := or $current.Params.hideCta (in $noCtaSlugs $current.Slug) (eq $current.Section "authors") -}}
|
||||
|
||||
{{/* Desktop — min-w-0 lets the nav shrink inside the flex row; overflow-x-auto
|
||||
keeps a long section list on one line and scrollable instead of pushing the
|
||||
header past the viewport. */}}
|
||||
<nav aria-label="Primary" class="hidden min-w-0 flex-1 lg:block">
|
||||
<nav aria-label="{{ i18n "primaryNavigation" }}" class="hidden min-w-0 flex-1 lg:block">
|
||||
<ul class="nav-scroll flex items-center gap-1 overflow-x-auto whitespace-nowrap">
|
||||
{{- range $navPages -}}
|
||||
{{- $active := eq $current.RelPermalink .RelPermalink -}}
|
||||
@@ -41,7 +43,9 @@
|
||||
{{- range $navPages -}}
|
||||
<li><a href="{{ .RelPermalink }}" class="nav-link block">{{ .LinkTitle }}</a></li>
|
||||
{{- end -}}
|
||||
<li class="pt-3">{{ partial "cta-button.html" (dict "page" $current "text" (i18n "playNow") "block" true) }}</li>
|
||||
{{ if not $hideCta }}
|
||||
<li class="pt-3">{{ partial "cta-button.html" (dict "page" $current "text" (i18n "playNow") "block" true) }}</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
{{- $page := .page -}}
|
||||
{{- $brand := $page.Site.Data.brand -}}
|
||||
{{- $methods := $page.Site.Data.payment_methods -}}
|
||||
{{- $locale := .locale -}}
|
||||
{{- $locale := .locale | default $page.Language.LanguageCode -}}
|
||||
{{- if $locale -}}
|
||||
{{- $f := slice -}}
|
||||
{{- range $methods -}}{{ if in .availableLocales $locale }}{{ $f = $f | append . }}{{ end }}{{- end -}}
|
||||
@@ -14,18 +14,19 @@
|
||||
{{- end -}}
|
||||
|
||||
{{- $curr := "£" -}}
|
||||
{{- with where $page.Site.Data.locales "locale" $brand.defaultLocale -}}{{- $curr = (index . 0).currencySymbol -}}{{- end -}}
|
||||
{{- with where $page.Site.Data.locales "locale" $locale -}}{{- $curr = (index . 0).currencySymbol -}}{{- end -}}
|
||||
{{- $isWithdrawal := eq $page.Slug "withdrawal" -}}
|
||||
|
||||
<div class="overflow-x-auto">
|
||||
<table class="data-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Method</th>
|
||||
<th scope="col">Type</th>
|
||||
<th scope="col">Min. deposit</th>
|
||||
<th scope="col">Max. deposit</th>
|
||||
<th scope="col">Processing time</th>
|
||||
<th scope="col">Fees</th>
|
||||
<th scope="col">{{ i18n "paymentMethod" }}</th>
|
||||
<th scope="col">{{ i18n "paymentType" }}</th>
|
||||
{{ if not $isWithdrawal }}<th scope="col">{{ i18n "minimumDeposit" }}</th>{{ end }}
|
||||
{{ if not $isWithdrawal }}<th scope="col">{{ i18n "maximumDeposit" }}</th>{{ end }}
|
||||
<th scope="col">{{ i18n "processingTime" }}</th>
|
||||
<th scope="col">{{ i18n "fees" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -38,8 +39,8 @@
|
||||
</span>
|
||||
</th>
|
||||
<td><span class="badge-muted capitalize">{{ .type }}</span></td>
|
||||
<td><span data-locale-currency>{{ $curr }}</span>{{ .minDeposit }}</td>
|
||||
<td><span data-locale-currency>{{ $curr }}</span>{{ .maxDeposit }}</td>
|
||||
{{ if not $isWithdrawal }}<td><span data-locale-currency>{{ $curr }}</span>{{ .minDeposit }}</td>{{ end }}
|
||||
{{ if not $isWithdrawal }}<td><span data-locale-currency>{{ $curr }}</span>{{ .maxDeposit }}</td>{{ end }}
|
||||
<td>{{ .processingTime }}</td>
|
||||
<td>{{ .fees }}</td>
|
||||
</tr>
|
||||
@@ -47,4 +48,4 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="mt-2 text-xs text-secondary/70">Availability and limits vary by region and are shown for your selected market. Select your region in the header to update this table.</p>
|
||||
<p class="mt-2 text-xs text-secondary/70">{{ i18n "paymentAvailabilityNote" }}</p>
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
{{- end -}}
|
||||
{{- with $found -}}
|
||||
<section class="site-container section" aria-labelledby="related-heading">
|
||||
<h2 id="related-heading" class="text-xl font-bold">Related pages</h2>
|
||||
<h2 id="related-heading" class="text-xl font-bold">{{ i18n "relatedPages" }}</h2>
|
||||
<div class="mt-4 grid gap-4 sm:grid-cols-2 lg:grid-cols-3">
|
||||
{{- range . -}}
|
||||
<a href="{{ .RelPermalink }}" class="card card-hover block no-underline">
|
||||
<span class="badge-primary">{{ .LinkTitle }}</span>
|
||||
<p class="mt-2 text-sm text-secondary/70">{{ .Params.description | default (.Summary | plainify) | truncate 110 }}</p>
|
||||
<span class="mt-3 inline-block text-sm font-semibold text-primary">Read more →</span>
|
||||
<span class="mt-3 inline-block text-sm font-semibold text-primary">{{ i18n "readMore" }} →</span>
|
||||
</a>
|
||||
{{- end -}}
|
||||
</div>
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
{{- $variant := .variant | default "full" -}}
|
||||
{{- $brand := $page.Site.Data.brand -}}
|
||||
{{- $locales := $page.Site.Data.locales -}}
|
||||
{{- $currentLocale := $page.Language.LanguageCode | default $brand.defaultLocale -}}
|
||||
{{- $default := "" -}}
|
||||
{{- with where $locales "locale" $brand.defaultLocale -}}{{- $default = index . 0 -}}{{- end -}}
|
||||
{{- with where $locales "locale" $currentLocale -}}{{- $default = index . 0 -}}{{- end -}}
|
||||
{{- $age := $brand.ageRestrictionDefault -}}
|
||||
{{- $orgName := "your national support service" -}}
|
||||
{{- $orgUrl := "#" -}}
|
||||
@@ -18,36 +19,33 @@
|
||||
{{- end -}}
|
||||
|
||||
{{- if eq $variant "compact" -}}
|
||||
<p>This site is intended for adults aged <span data-age-value>{{ $age }}</span>+ only. Gambling should be entertainment, never a way to make money.</p>
|
||||
<p class="mt-2">Need help? Contact <a data-rg-link href="{{ $orgUrl }}" target="_blank" rel="noopener nofollow" class="font-semibold text-white underline"><span data-rg-name>{{ $orgName }}</span></a>.</p>
|
||||
<p>{{ printf (i18n "rgCompactIntro") $age }}</p>
|
||||
<p class="mt-2">{{ i18n "rgNeedHelp" }} <a data-rg-link href="{{ $orgUrl }}" target="_blank" rel="noopener nofollow" class="font-semibold text-white underline"><span data-rg-name>{{ $orgName }}</span></a>.</p>
|
||||
{{- else -}}
|
||||
<div class="prose-content">
|
||||
<p>
|
||||
Gambling must stay fun. This site is intended for adults aged
|
||||
<strong><span data-age-value>{{ $age }}</span>+</strong> only. Never bet more than you can afford to
|
||||
lose, never chase losses, and never gamble to escape stress or debt. If it stops being enjoyable,
|
||||
it is time to stop.
|
||||
{{ printf (i18n "rgFullIntro") $age }}
|
||||
</p>
|
||||
|
||||
<h3>Tools to stay in control</h3>
|
||||
<h3>{{ i18n "rgControlTools" }}</h3>
|
||||
<ul>
|
||||
<li><strong>Deposit limits</strong> — cap how much you can add to your account per day, week or month.</li>
|
||||
<li><strong>Loss & wager limits</strong> — set a ceiling on stakes or net losses over a period.</li>
|
||||
<li><strong>Reality checks</strong> — on-screen reminders of how long you have been playing.</li>
|
||||
<li><strong>Time-outs</strong> — lock yourself out for 24 hours up to several weeks.</li>
|
||||
<li><strong>Self-exclusion</strong> — block access for months or years, including national schemes.</li>
|
||||
<li>{{ i18n "rgDepositLimits" | safeHTML }}</li>
|
||||
<li>{{ i18n "rgLossLimits" | safeHTML }}</li>
|
||||
<li>{{ i18n "rgRealityChecks" | safeHTML }}</li>
|
||||
<li>{{ i18n "rgTimeouts" | safeHTML }}</li>
|
||||
<li>{{ i18n "rgSelfExclusion" | safeHTML }}</li>
|
||||
</ul>
|
||||
|
||||
<h3>Find local support</h3>
|
||||
<h3>{{ i18n "rgFindSupport" }}</h3>
|
||||
<p>
|
||||
Your currently selected region recommends
|
||||
{{ i18n "rgRegionRecommends" }}
|
||||
<a data-rg-link href="{{ $orgUrl }}" target="_blank" rel="noopener nofollow"><span data-rg-name>{{ $orgName }}</span></a>.
|
||||
Support services for every market we cover are listed below — all offer free, confidential help.
|
||||
{{ i18n "rgSupportIntro" }}
|
||||
</p>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="data-table">
|
||||
<thead>
|
||||
<tr><th scope="col">Region</th><th scope="col">Min. age</th><th scope="col">Support organisation</th></tr>
|
||||
<tr><th scope="col">{{ i18n "region" }}</th><th scope="col">{{ i18n "minimumAge" }}</th><th scope="col">{{ i18n "supportOrganisation" }}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{- range $locales -}}
|
||||
|
||||
@@ -22,9 +22,14 @@
|
||||
-}}
|
||||
<script type="application/ld+json">{{ $data | jsonify | safeJS }}</script>
|
||||
|
||||
{{- else if eq $type "FAQPage" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if or .IsHome (eq $type "FAQPage") .Params.showFaqAccordion -}}
|
||||
{{- $faqKey := printf "faq.%s" .Language.Lang -}}
|
||||
{{- $faqs := index .Site.Data $faqKey -}}
|
||||
{{- if not $faqs -}}{{- $faqs = .Site.Data.faq -}}{{- end -}}
|
||||
{{- $items := slice -}}
|
||||
{{- range .Site.Data.faq -}}
|
||||
{{- range $faqs -}}
|
||||
{{- $items = $items | append (dict
|
||||
"@type" "Question"
|
||||
"name" .question
|
||||
@@ -38,9 +43,11 @@
|
||||
-}}
|
||||
<script type="application/ld+json">{{ $data | jsonify | safeJS }}</script>
|
||||
|
||||
{{- else if eq $type "Article" -}}
|
||||
{{- /* The About page is an editorial review, so we emit a Review with the
|
||||
promoted operator as the reviewed item. */ -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if and (eq $type "Article") .Params.showRatingWidget -}}
|
||||
{{- $authorName := .Params.authorName | default $brand.name -}}
|
||||
{{- $authorType := cond (isset .Params "authorName") "Person" "Organization" -}}
|
||||
{{- $data := dict
|
||||
"@context" "https://schema.org"
|
||||
"@type" "Review"
|
||||
@@ -48,10 +55,22 @@
|
||||
"url" .Permalink
|
||||
"datePublished" (.Date.Format "2006-01-02")
|
||||
"dateModified" (.Lastmod.Format "2006-01-02")
|
||||
"author" (dict "@type" $authorType "name" $authorName)
|
||||
"publisher" (dict "@type" "Organization" "name" $brand.name "logo" (dict "@type" "ImageObject" "url" ($brand.logoPath | absURL)))
|
||||
"itemReviewed" (dict "@type" "Organization" "name" $brand.name)
|
||||
"reviewRating" (dict "@type" "Rating" "ratingValue" (.Params.rating | default $brand.ratingValue) "bestRating" 5 "worstRating" 1)
|
||||
-}}
|
||||
<script type="application/ld+json">{{ $data | jsonify | safeJS }}</script>
|
||||
{{- else if eq $type "Article" -}}
|
||||
{{- $data := dict
|
||||
"@context" "https://schema.org"
|
||||
"@type" "Article"
|
||||
"headline" (.Params.h1 | default .Title)
|
||||
"url" .Permalink
|
||||
"datePublished" (.Date.Format "2006-01-02")
|
||||
"dateModified" (.Lastmod.Format "2006-01-02")
|
||||
"author" (dict "@type" "Organization" "name" $brand.name)
|
||||
"publisher" (dict "@type" "Organization" "name" $brand.name "logo" (dict "@type" "ImageObject" "url" ($brand.logoPath | absURL)))
|
||||
"itemReviewed" (dict "@type" "Organization" "name" $brand.legalOperatorName)
|
||||
"reviewRating" (dict "@type" "Rating" "ratingValue" $brand.ratingValue "bestRating" 5 "worstRating" 1)
|
||||
-}}
|
||||
<script type="application/ld+json">{{ $data | jsonify | safeJS }}</script>
|
||||
{{- end -}}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="site-container flex flex-wrap items-center justify-center gap-4 py-5 text-xs text-white/70">
|
||||
<span class="inline-flex items-center gap-2 rounded-full border border-white/20 px-3 py-1 font-semibold">
|
||||
<span class="grid h-5 w-5 place-items-center rounded-full bg-white/20"><span data-age-value>{{ $brand.ageRestrictionDefault }}</span></span>
|
||||
Over-age play only
|
||||
{{ i18n "overAgeOnly" }}
|
||||
</span>
|
||||
<span class="inline-flex items-center gap-2 rounded-full border border-white/20 px-3 py-1">
|
||||
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3l7 4v5c0 4.4-3 8.3-7 9-4-0.7-7-4.6-7-9V7l7-4z"/></svg>
|
||||
@@ -13,10 +13,10 @@
|
||||
</span>
|
||||
<span class="inline-flex items-center gap-2 rounded-full border border-white/20 px-3 py-1">
|
||||
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
|
||||
SSL secured
|
||||
{{ i18n "sslSecured" }}
|
||||
</span>
|
||||
<span class="inline-flex items-center gap-2 rounded-full border border-white/20 px-3 py-1">
|
||||
Independent affiliate — not the operator
|
||||
{{ i18n "licensedOperator" }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user