@if ($pendingMigration ?? false)
Setup needed
The locations / reserved_words tables don't exist yet.
Run the database migrations to create them (this also seeds the 26 counties and reserves the route words):
php artisan migrate
@else
{{-- ===================== LOCATIONS ===================== --}}
Locations
{{ $counts['event'] }} events · {{ $counts['county'] }} counties
@if ($counts['lastSync'])
· last sync {{ \Illuminate\Support\Carbon::parse($counts['lastSync'])->diffForHumans() }}
@else
· not synced yet
@endif
Sync now
Syncing…
{{-- Register source health (D42): is the CRM exposing slug/kind yet? --}}
Register source
@if (! ($health['reachable'] ?? false))
CRM unreachable — using local data
@else
reachable · {{ $health['total'] }} events
@if (($health['has_slug'] ?? false) && ($health['has_kind'] ?? false))
slug + kind columns live · {{ $health['with_slug'] }} slugs set
@else
using fallback —
@php $missing = array_filter(['slug' => ! ($health['has_slug'] ?? false), 'kind' => ! ($health['has_kind'] ?? false)]); @endphp
no {{ implode(' / ', array_keys($missing)) }} column{{ count($missing) > 1 ? 's' : '' }} yet
@endif
@endif
All
Events
Counties
@forelse ($locations as $loc)
{{ $loc->kind }}
{{ $loc->kind }}/{{ $loc->slug }}
{{ $loc->name ?: '—' }}
{{ $loc->event_id ?? '—' }}
{{ $loc->image ?: '—' }}
@if ($loc->active)
active
@else
inactive
@endif
@empty
No locations yet — run a sync.
@endforelse
@if ($locations->hasPages())
@endif
{{-- ===================== RESERVED WORDS ===================== --}}
Reserved usernames
A fundraiser can't take these. Active location slugs above are reserved automatically; the words below are fixed route names plus any you add.
@if ($manualWords->isNotEmpty())
Added by admins
@foreach ($manualWords as $word)
{{ $word->word }}
@endforeach
@endif
Automatic — live app routes ({{ count($autoWords) }}, always current)
@foreach ($autoWords as $word)
{{ $word }}
@endforeach
@endif