@php // Whose network this is. On a tenant subdomain these are the seller's own // details; on bilipoa.com itself they fall back to the platform's. $siteName = $this->brandName; $supportPhone = $this->supportPhone; $whatsapp = preg_replace('/\D/', '', $supportPhone); $theme = $this->theme; // The platform's own name, not the seller's. Every hotspot running on // Bilipoa is a shop window for it, so the credit is fixed rather than a // field a tenant can blank out. $platform = \App\Models\MainSiteData::getValue('site_name') ?: 'Bilipoa'; $platformUrl = rtrim(config('app.url'), '/'); @endphp
{{-- ============================ HOME ============================ --}}

{{ Str::upper($siteName) }}

{{ $theme->get('welcome') ?: 'Welcome to '.Str::upper($siteName) }}

{{ $theme->get('tagline') }}

@if ($theme->get('show_help'))
{{ $theme->get('help_label') }} {{ $supportPhone }}
@endif @if ($this->trial && $theme->get('show_trial')) {{-- Once a device has had its trial the card stays, but says so. Removing it entirely makes a returning customer wonder where it went; a button that always refuses is worse still. --}}
{{ $this->trial->package }} TRIAL
{{ $this->trialUsed ? 'Already used on this device' : 'Try the network on us' }}
@if ($this->trialUsed) Used @else @endif
@endif
Available plans
@forelse ($this->plans as $plan)
{{ $plan->package }}
Ksh {{ (int) $plan->price }} for {{ $plan->description ?: $plan->speed }}
@empty

No packages are available on this network yet.

@endforelse {{-- Only when a plan actually sells more than one device, and only when the operator offers the sign-in method it depends on. A customer on their second phone sees the plan list and no reason to think they have already paid for this. --}} @if ($this->multiDevice > 1 && $theme->get('show_account')) @endif {{-- A TV has no browser to show this page in, so it needs its own path: the operator binds the device by MAC instead. --}} @if ($theme->get('show_tv')) @endif

Powered by {{ $platform }}

{{-- ============================ MODALS ============================ --}} @if ($screen)
{{-- ---------- Choose how to get back on ---------- --}} @if ($screen === 'methods')
How would you like to reconnect?
@if ($theme->get('show_vouchers')) @endif @if ($theme->get('show_mpesa_code')) @endif @if ($theme->get('show_account')) @endif @endif {{-- ---------- Voucher ---------- --}} @if ($screen === 'voucher')
Redeem voucher
@if ($error)
{{ $error }}
@endif
🎟

Vouchers are prepaid codes printed on receipts or sent via SMS by your operator.

@endif {{-- ---------- Reconnect with an M-Pesa receipt ---------- --}} @if ($screen === 'mpesa-code')
Reconnect with M-Pesa code
@if ($error)
{{ $error }}
@endif
💳

Use a transaction code from a recent payment to reconnect without paying again.

@endif {{-- ---------- Existing account ---------- --}} @if ($screen === 'account')
Use your account
@if ($error)
{{ $error }}
@endif
🔑
🔑

Use the username and password your operator provided when your account was created.

@endif {{-- ---------- Pay for a package ---------- --}} @if ($screen === 'pay')
Complete payment
@if ($this->selected)
📶 SELECTED PACKAGE {{ $this->selected->package }} {{ $this->selected->description }} KSH {{ (int) $this->selected->price }}
@endif @if ($error)
{{ $error }}
@endif

You'll get a payment prompt on your phone. Enter your Mobile Money PIN to authorise and connect.

@endif {{-- ---------- Waiting for the PIN prompt ---------- --}} @if ($screen === 'waiting')
Check your phone

Enter your M-Pesa PIN to authorise {{ $this->selected ? 'Ksh '.(int) $this->selected->price : 'the payment' }}. We'll connect you the moment it goes through.

Do not close this page.

@endif {{-- ---------- TV / streaming device ---------- --}} @if ($screen === 'tv')
Set up a TV or streaming device

A TV, console or streaming stick has no browser to show this page in, so it has to be registered by hand. Call or WhatsApp {{ $supportPhone }} with the device's Wi-Fi MAC address and we'll bind it to your package.

On most TVs the MAC is under Settings › Network › Status.

Call support @endif {{-- ---------- Success: hand the router its credentials ---------- --}} @if ($screen === 'done' && $grant)
You're all set

Connecting you to the network...

{{-- The router, not this app, performs the actual login. This is a top-level navigation rather than a form POST on purpose: this page is HTTPS and the router's login endpoint is plain HTTP, and Chrome puts a "the information you're about to submit is not secure" interstitial in front of mixed-content form posts. A navigation carries no such warning. The credential in the URL is a random one-off bound to this session and this device, travelling one hop to the gateway. --}} Continue @endif
@endif