From f2be0157a333b219f92fc7f0d5167dac99fdc64e Mon Sep 17 00:00:00 2001
From: Yoga Pangestu
Date: Thu, 23 Apr 2026 21:17:18 +0700
Subject: [PATCH] feat: implement custom homepage and replace default welcome
route
---
app/Http/Controllers/HomepageController.php | 11 +++
resources/js/app.tsx | 2 +-
.../js/layouts/auth/auth-split-layout.tsx | 3 +-
resources/js/pages/homepage.tsx | 74 +++++++++++++++++++
routes/homepage.php | 6 ++
routes/web.php | 9 +--
6 files changed, 95 insertions(+), 10 deletions(-)
create mode 100644 app/Http/Controllers/HomepageController.php
create mode 100644 resources/js/pages/homepage.tsx
create mode 100644 routes/homepage.php
diff --git a/app/Http/Controllers/HomepageController.php b/app/Http/Controllers/HomepageController.php
new file mode 100644
index 0000000..a7be8d9
--- /dev/null
+++ b/app/Http/Controllers/HomepageController.php
@@ -0,0 +1,11 @@
+ (title ? `${title} - ${appName}` : appName),
layout: (name) => {
switch (true) {
- case name === 'welcome':
+ case name === 'welcome' || name === 'homepage':
return null;
case name.startsWith('auth/'):
return AuthLayout;
diff --git a/resources/js/layouts/auth/auth-split-layout.tsx b/resources/js/layouts/auth/auth-split-layout.tsx
index bd9bd40..791cccb 100644
--- a/resources/js/layouts/auth/auth-split-layout.tsx
+++ b/resources/js/layouts/auth/auth-split-layout.tsx
@@ -1,7 +1,6 @@
-import { Link, usePage } from '@inertiajs/react';
import AppLogoIcon from '@/components/app-logo-icon';
-import { home } from '@/routes';
import type { AuthLayoutProps } from '@/types';
+import { Link, usePage } from '@inertiajs/react';
export default function AuthSplitLayout({
children,
diff --git a/resources/js/pages/homepage.tsx b/resources/js/pages/homepage.tsx
new file mode 100644
index 0000000..3a292f2
--- /dev/null
+++ b/resources/js/pages/homepage.tsx
@@ -0,0 +1,74 @@
+import { Head, Link, usePage } from '@inertiajs/react';
+import { dashboard, login } from '@/routes';
+
+export default function Homepage() {
+ const { auth } = usePage().props as any;
+
+ return (
+ <>
+
+
+ {/* Background Blobs */}
+
+
+
+
+ {/* Header */}
+
+
+
+
+
+ {/* Main Content */}
+
+
+
+ Premium Experience
+
+
+ Hello World.
+
+
+ Welcome to the next generation of our platform. We've built something beautiful
+ for you to explore. Stay tuned for more updates.
+
+
+
+
+
+
+
+
+
+ {/* Footer */}
+
+
+
+ >
+ );
+}
diff --git a/routes/homepage.php b/routes/homepage.php
new file mode 100644
index 0000000..351d7c8
--- /dev/null
+++ b/routes/homepage.php
@@ -0,0 +1,6 @@
+name('homepage');
diff --git a/routes/web.php b/routes/web.php
index b0b3c99..c74c013 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -1,14 +1,8 @@
Features::enabled(Features::registration()),
-])->name('home');
-
use App\Http\Controllers\AnalysisController;
use App\Http\Controllers\DashboardController;
+use Illuminate\Support\Facades\Route;
Route::middleware(['auth', 'verified'])->group(function () {
Route::get('dashboard', DashboardController::class)->name('dashboard');
@@ -20,3 +14,4 @@
require __DIR__.'/finance.php';
require __DIR__.'/system.php';
require __DIR__.'/manage.php';
+require __DIR__.'/homepage.php';