{{-- 403 — built on the Interactive Flows (wa-flow) theme: same tokens, same display face, same pill vocabulary. A 403 in this app is never "access denied" in the abstract. It means: you are signed in, you are a member of this channel, and your ROLE does not include the ability this page needs. The app knows your role and knows exactly who can change it, so the page says both instead of pointing at a support inbox. Every lookup below is guarded. An error page that throws while explaining an error is worse than a plain one, so anything unavailable simply drops out of the layout. --}} @php $channel = null; $role = null; $roleLabel = null; $owners = collect(); try { $channel = request()->route('channel'); $channel = $channel instanceof \App\Models\Channels ? $channel : null; if ($channel && auth()->check()) { $role = auth()->user()->roleOn($channel); $roleLabel = $role ? (\App\Skale\Enums\ChannelRoleEnum::getListOfValue()[$role] ?? ucfirst($role)) : null; // Name the people who can actually fix this. "Contact support" is a // dead end when the fix is one Owner changing one dropdown. $owners = $channel->users() ->wherePivot('role', \App\Skale\Enums\ChannelRoleEnum::OWNER) ->get() ->map(fn ($u) => $u->name) ->filter() ->values(); } } catch (\Throwable $e) { // Deliberately silent: fall back to the generic copy below. } $detail = trim((string) ($exception->getMessage() ?? '')); $isGeneric = $detail === '' || $detail === 'This action is unauthorized.' || $detail === 'Forbidden'; @endphp No access · {{ config('app.name') }}

Your role doesn’t open this

@if($channel) {{ $channel->name }} @else {{ config('app.name') }} @endif
You are
@if($roleLabel) {{ $roleLabel }} @else Signed in @endif
You asked for
{{ Str::limit(ltrim(request()->path(), '/'), 26) }}

@if($roleLabel && $channel) You’re {{ Str::startsWith(strtolower($roleLabel), ['a', 'e', 'i', 'o', 'u']) ? 'an' : 'a' }} {{ $roleLabel }} on {{ $channel->name }}. This page needs a role that includes it. @elseif($channel) Your account isn’t assigned a role on {{ $channel->name }} yet. @else Your account doesn’t have permission for this page. @endif

@unless($isGeneric)

{{ $detail }}

@endunless @if($owners->isNotEmpty())

Ask an Owner to change your role — {{ $owners->take(3)->join(', ', ' or ') }}{{ $owners->count() > 3 ? ' and others' : '' }}.

@endif
403 · Forbidden Signed in · not permitted