diff --git a/app/Http/Controllers/ProductLandingController.php b/app/Http/Controllers/ProductLandingController.php new file mode 100644 index 0000000..6ab88dc --- /dev/null +++ b/app/Http/Controllers/ProductLandingController.php @@ -0,0 +1,31 @@ +session()->has('mb.email')) { + return redirect()->route($dashboardRoute); + } + + return view('product.landing'); + } + + if (auth()->check()) { + return redirect()->route($dashboardRoute); + } + + return view('product.landing'); + } +} diff --git a/config/product_landing.php b/config/product_landing.php new file mode 100644 index 0000000..ebd257a --- /dev/null +++ b/config/product_landing.php @@ -0,0 +1,43 @@ + 'merchant', + 'name' => 'Merchant', + 'logo' => 'images/logo/ladillmerchant-logo.svg', + 'icon' => 'merchant.svg', + 'tagline' => 'Accept payments and run your storefront', + 'headline' => 'Sell online with Ladill Merchant', + 'accent' => 'payments, orders, and payouts', + 'description' => 'Merchant is Ladill\'s storefront and payments app. Accept mobile money and cards, manage products, and track orders — all under your Ladill account.', + 'benefits' => + [ + 0 => + [ + 'title' => 'Get paid fast', + 'text' => 'Accept MTN, Telecel, AirtelTigo, Visa, and Mastercard with instant settlement options.', + ,] + 1 => + [ + 'title' => 'Run your storefront', + 'text' => 'List products, share payment links, and manage orders from one dashboard.', + ,] + 2 => + [ + 'title' => 'Works with the suite', + 'text' => 'Pair with QR Plus for table ordering and Mini for quick payment collection.', + ,] + ,] + 'use_cases' => + [ + 0 => 'Retail & fashion', + 1 => 'Restaurants & cafés', + 2 => 'Services & bookings', + ,] + 'gradient_from' => '#1c75bc', + 'gradient_to' => '#010c1f', + 'dashboard_route' => 'merchant.dashboard', + 'platform_url' => 'https://localhost', + 'marketing_url' => 'https://localhost/products/merchant', + 'register_url' => 'https://auth.localhost/register', + 'landing_variant' => 'default', +]; diff --git a/resources/views/product/landing.blade.php b/resources/views/product/landing.blade.php new file mode 100644 index 0000000..37bc63f --- /dev/null +++ b/resources/views/product/landing.blade.php @@ -0,0 +1,101 @@ +@php + $landing = (array) config('product_landing'); + $logo = (string) ($landing['logo'] ?? ''); + $logoPath = $logo !== '' ? public_path($logo) : null; + $platformUrl = (string) ($landing['platform_url'] ?? 'https://ladill.com'); + $marketingUrl = (string) ($landing['marketing_url'] ?? $platformUrl); + $signInUrl = route('sso.connect', [ + 'redirect' => route($landing['dashboard_route'] ?? 'login'), + 'interactive' => 1, + ]); + $variant = (string) ($landing['landing_variant'] ?? 'default'); +@endphp + + + + + + {{ $landing['name'] ?? config('app.name') }} — Ladill + + @include('partials.favicon') + + + + @vite(['resources/css/app.css']) + + +
+ +
+
+ @if ($logo !== '') + {{ $landing['name'] ?? config('app.name') }} + @else + {{ $landing['name'] ?? config('app.name') }} + @endif + +
+
+ +
+
+
+

{{ $landing['tagline'] ?? '' }}

+

{{ $landing['headline'] ?? ($landing['name'] ?? '') }}

+

{{ $landing['description'] ?? '' }}

+ + + +

+ Learn more on ladill.com +

+
+ +
+

Why {{ $landing['name'] ?? 'Ladill' }}

+
+ @foreach (($landing['benefits'] ?? []) as $benefit) +
+

{{ $benefit['title'] }}

+

{{ $benefit['text'] }}

+
+ @endforeach +
+ + @if (! empty($landing['use_cases'])) +
+

Ideal for

+
+ @foreach ($landing['use_cases'] as $useCase) + {{ $useCase }} + @endforeach +
+
+ @endif +
+
+
+ + + + diff --git a/routes/web.php b/routes/web.php index 34a07d8..07d3c62 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,5 +1,6 @@ auth()->check() - ? redirect()->route('merchant.dashboard') - : redirect()->route('sso.connect'))->name('merchant.root'); +Route::get('/', [ProductLandingController::class, 'show'])->name('merchant.landing'); Route::get('/login', [SsoLoginController::class, 'connect'])->name('login'); Route::get('/sso/connect', [SsoLoginController::class, 'connect'])->name('sso.connect');