{{-- resources/views/partials/remvo-deposit-hero.blade.php — v2.0 Changes from v1.1: • Naira-specific framing replaced with generic fiat. Remvo has one live corridor (NG) but the majority of GE-AS users are not in it, and a Naira-only page is the wrong thing to show them. • Phone-prefix and CF-IPCountry heuristics DELETED. Corridor is now the user's explicit choice, stored on users.deposit_country, and resolved server-side by RemvoDepositComposer into $remvoState. • Flag and top-edge accent are corridor-driven, not hardcoded NG. • Beta allowlist RETAINED. Removing it is a separate deploy once the picker and waitlist flows are verified end to end. $remvoState comes from App\View\Composers\RemvoDepositComposer and is one of: guest no authenticated user picker no corridor chosen yet active corridor is live, go straight to the amount modal coming_soon corridor listed, not yet live paused corridor was live and is currently stopped unlisted user said their country is not on the list All non-active states are handled by remvo-country.js, which renders the picker and waitlist screens and hands off to remvo-modal.js only when the resolved corridor is active. --}} @php /** @var \App\Models\User|null $remvoUser */ /** @var array $remvoState */ $remvoUser = $remvoUser ?? auth()->user(); $remvoState = $remvoState ?? ['state' => 'guest', 'country' => null]; $remvoStateName = (string) ($remvoState['state'] ?? 'guest'); $remvoCountry = $remvoState['country'] ?? null; // Resume state, bound by RemvoDepositComposer. $remvoPending = $remvoPending ?? false; $remvoResumeUrl = $remvoResumeUrl ?? null; $remvoExpiresAt = $remvoExpiresAt ?? null; $remvoResumeAmount = $remvoResumeAmount ?? null; $remvoIsResume = $remvoPending && $remvoResumeUrl; // Beta allowlist. Empty or unset env = open to all, which is what the // gate-lift deploy will do by clearing REMVO_TEST_EMAILS. $remvoTestEmails = array_filter(array_map( 'trim', explode(',', (string) config('services.remvo.test_emails', '')) )); $remvoInBetaList = empty($remvoTestEmails) || in_array( strtolower((string) ($remvoUser->email ?? '')), array_map('strtolower', $remvoTestEmails), true ); $remvoShouldRender = $remvoUser && $remvoStateName !== 'guest' && $remvoInBetaList; // Copy per state. The CTA always opens something; what it opens is // decided client-side from data-remvo-state. $remvoCountryName = $remvoCountry ? $remvoCountry->name : null; switch ($remvoStateName) { case 'active': $remvoTitle = 'Pay with FIAT, credited in minutes'; $remvoSub = 'Bank transfer · live rate · no crypto wallet needed'; $remvoCta = 'Deposit with Fiat'; break; case 'coming_soon': $remvoTitle = 'Fiat deposits are coming to ' . $remvoCountryName; $remvoSub = 'Not live yet · get notified the day it opens'; $remvoCta = 'Join the waitlist'; break; case 'paused': $remvoTitle = 'Fiat deposits are paused in ' . $remvoCountryName; $remvoSub = 'Temporarily unavailable · we will let you know when it resumes'; $remvoCta = 'Notify me when it resumes'; break; case 'not_supported': // Deliberately different from coming_soon. "Coming to X" implies // a commitment Remvo has made; this is a country with no corridor // planned, so it promises nothing and still captures the signal. $remvoTitle = 'Fiat deposits are not available in ' . $remvoCountryName; $remvoSub = 'No corridor here yet · register your interest and we will let you know'; $remvoCta = 'Register your interest'; break; case 'unlisted': // Legacy state. Retained so any session mid-flight during the // deploy renders rather than falling through to picker copy. $remvoTitle = 'Fiat deposits are not in your country yet'; $remvoSub = 'Tell us where you are and we will let you know when it opens'; $remvoCta = 'Register your interest'; break; default: // picker $remvoTitle = 'Pay with FIAT, credited in minutes'; $remvoSub = 'Bank transfer · live rate · no crypto wallet needed'; $remvoCta = 'Deposit with Fiat'; break; } // Resume overrides every corridor state. A user with an unfinished // session gets exactly one action: go back and finish it. Remvo issues // a separate virtual account per session, so offering "start a new // deposit" alongside this would hand them two account numbers. $remvoBaseState = $remvoStateName; $remvoBaseCta = $remvoCta; if ($remvoIsResume) { $remvoStateName = 'resume'; $remvoTitle = 'You have a payment waiting'; $remvoSub = 'Finish the transfer before the session closes'; $remvoCta = 'Continue payment'; } @endphp @if ($remvoShouldRender)
{{ $remvoSub }}
You are on the list. We will email you when it opens.
@endifPowered by Remvo · credited automatically · no extra steps after payment