@php /* Whatever is in Admin → Footer, and nothing else. This used to fall back to
a lang string, so an operator who cleared the field still saw copy on the
storefront that appeared nowhere in their admin — text they could not
change and could not find. Empty here now means empty there.
:site is substituted so the sentence follows a rename without editing. */
@endphp
@php $__ft = trim((string) setting('footer_text', ''));
@endphp
@if ($__ft !== '')
{{ str_replace(':site', (string) setting('site_name', ''), $__ft) }}
@endif
@php /* One row per network the operator actually configured, in their order.
Every link is real — a network with no address is dropped by the service
rather than rendered pointing at the homepage, which is what the five
hardcoded anchors here used to do. */
@endphp
@if ($socialLinks !== [])
@foreach ($socialLinks as $soc)
@php $socName = \App\Services\SocialNetwork::label($soc['network']);
/* A "#" address is the not-linked-yet placeholder: the icon shows, but it
must not open a tab onto nothing, so it stays in the page. */
$socOff = $soc['url'] === '' || $soc['url'][0] === '#'; @endphp
{!! \App\Services\SocialNetwork::icon($soc['network']) !!}
@endforeach
@endif
@php // App-store badges sit in their own row directly under the social icons; they
// render only when the operator has configured real store URLs (Admin → Settings
// → Mobile apps) and wrap to stack on a narrow column.
@endphp
@if ($hasApps)
@if ($appStoreUrl !== '')
@php $appOff = $appStoreUrl[0] === '#'; @endphp
 }})
@endif
@if ($playStoreUrl !== '')
@php $playOff = $playStoreUrl[0] === '#'; @endphp
 }})
@endif
@endif