diff --git a/resources/js/Layouts/GuestLayout.tsx b/resources/js/Layouts/GuestLayout.tsx
index 1a8f3e4..da195b2 100644
--- a/resources/js/Layouts/GuestLayout.tsx
+++ b/resources/js/Layouts/GuestLayout.tsx
@@ -2,12 +2,29 @@ import { ThemeProvider } from "@/Components/ThemeProvider";
import { Navbar } from "@/Components/Landing/Navbar";
import { Footer } from "@/Components/Landing/Footer";
-export default function GuestLayout({ children }: { children: React.ReactNode }) {
+import { cn } from "@/lib/utils";
+
+export default function GuestLayout({
+ children,
+ variant = 'default'
+}: {
+ children: React.ReactNode,
+ variant?: 'default' | 'landing'
+}) {
return (
-
-
+
+
+ {/* Global Background Pattern */}
+ {/* SVG is white by default. In light mode, we invert it to black to be visible on white bg. */}
+
+
- {children}
+
+ {children}
+
diff --git a/resources/js/Pages/Auth/ConfirmPassword.tsx b/resources/js/Pages/Auth/ConfirmPassword.tsx
index f71476f..0c438fe 100644
--- a/resources/js/Pages/Auth/ConfirmPassword.tsx
+++ b/resources/js/Pages/Auth/ConfirmPassword.tsx
@@ -24,33 +24,34 @@ export default function ConfirmPassword() {
-
-
- This is a secure area of the application. Please confirm your
- password before continuing.
+
+
+
+ This is a secure area of the application. Please confirm your
+ password before continuing.
+
+
+
-
-
diff --git a/resources/js/Pages/Auth/ForgotPassword.tsx b/resources/js/Pages/Auth/ForgotPassword.tsx
index 3862acb..ae9678c 100644
--- a/resources/js/Pages/Auth/ForgotPassword.tsx
+++ b/resources/js/Pages/Auth/ForgotPassword.tsx
@@ -5,6 +5,7 @@ import { FormEventHandler } from 'react';
import { Button } from '@/Components/ui/button';
import { Input } from '@/Components/ui/input';
import { Label } from '@/Components/ui/label';
+import { Card } from '@/Components/ui/card';
export default function ForgotPassword({ status }: { status?: string }) {
const { data, setData, post, processing, errors } = useForm({
@@ -22,7 +23,7 @@ export default function ForgotPassword({ status }: { status?: string }) {
-
+
Forgot your password? No problem. Just let us know your email
address and we will email you a password reset link that will
@@ -51,12 +52,12 @@ export default function ForgotPassword({ status }: { status?: string }) {
-
-
+
);
diff --git a/resources/js/Pages/Auth/Login.tsx b/resources/js/Pages/Auth/Login.tsx
index f6cdc13..9f41744 100644
--- a/resources/js/Pages/Auth/Login.tsx
+++ b/resources/js/Pages/Auth/Login.tsx
@@ -34,7 +34,7 @@ export default function Login({
-
+ Selamat Datang Kembali
@@ -101,9 +101,9 @@ export default function Login({
-
+ Buat Akun Baru
@@ -101,9 +101,9 @@ export default function Register() {
-
+
Daftar Sekarang
-
+
diff --git a/resources/js/Pages/Auth/ResetPassword.tsx b/resources/js/Pages/Auth/ResetPassword.tsx
index 337d0aa..d19f7f1 100644
--- a/resources/js/Pages/Auth/ResetPassword.tsx
+++ b/resources/js/Pages/Auth/ResetPassword.tsx
@@ -33,58 +33,59 @@ export default function ResetPassword({
-
-
Reset Password
-
-
diff --git a/resources/js/Pages/Auth/VerifyEmail.tsx b/resources/js/Pages/Auth/VerifyEmail.tsx
index 4d96b7f..d2f7853 100644
--- a/resources/js/Pages/Auth/VerifyEmail.tsx
+++ b/resources/js/Pages/Auth/VerifyEmail.tsx
@@ -2,6 +2,7 @@ import GuestLayout from '@/Layouts/GuestLayout';
import { Head, Link, useForm } from '@inertiajs/react';
import { FormEventHandler } from 'react';
import { Button } from '@/Components/ui/button';
+import { Card } from '@/Components/ui/card';
export default function VerifyEmail({ status }: { status?: string }) {
const { post, processing } = useForm({});
@@ -17,7 +18,7 @@ export default function VerifyEmail({ status }: { status?: string }) {
-
+
Thanks for signing up! Before getting started, could you verify
your email address by clicking on the link we just emailed to
@@ -33,9 +34,9 @@ export default function VerifyEmail({ status }: { status?: string }) {
)}
-
+
Resend Verification Email
-
+
-
+
);
diff --git a/resources/js/Pages/Dashboard.tsx b/resources/js/Pages/Dashboard.tsx
index 45446b3..48d52df 100644
--- a/resources/js/Pages/Dashboard.tsx
+++ b/resources/js/Pages/Dashboard.tsx
@@ -57,7 +57,7 @@ export default function Dashboard({
{/* Stats Grid */}
-
+ Total XP
@@ -66,7 +66,7 @@ export default function Dashboard({
+
+
+
+ Hubungkan Impianmu
+
+ Ke Negeri Sakura
+
+
+
+
+ Platform edukasi terdepan untuk penguasaan Bahasa Jepang & karir profesional.
+ Belajar JLPT N5 hingga N2 dengan kurikulum modern dan Spaced Repetition System.
+
+
+
+
+
+ Mulai Belajar Gratis
+
+
+
+
+
+ Lihat Program
+
+
+
+
+
+ );
+}
diff --git a/tmp_hero_v1.tsx b/tmp_hero_v1.tsx
new file mode 100644
index 0000000..a295b6c
--- /dev/null
+++ b/tmp_hero_v1.tsx
@@ -0,0 +1,91 @@
+"use client";
+
+import { motion, Variants } from "framer-motion";
+import { ArrowRight, Sparkles } from "lucide-react";
+import { Button } from "@/Components/ui/button";
+import { Link } from "@inertiajs/react";
+
+const containerVariants: Variants = {
+ hidden: { opacity: 0 },
+ visible: {
+ opacity: 1,
+ transition: {
+ staggerChildren: 0.2,
+ delayChildren: 0.3,
+ },
+ },
+};
+
+const itemVariants: Variants = {
+ hidden: { y: 20, opacity: 0 },
+ visible: {
+ y: 0,
+ opacity: 1,
+ transition: {
+ duration: 0.8,
+ ease: [0.215, 0.610, 0.355, 1.000],
+ },
+ },
+};
+
+export function Hero() {
+ return (
+
+ {/* Background Gradients - Boosted for Light Mode using CSS variables */}
+
+
+
+ {/* Grid Pattern Overlay */}
+
+
+ {/* Japanese Wave Pattern - Adjusted Opacity */}
+
+
+
+
+
+
+ Pendaftaran Batch 2026 Dibuka!
+
+
+
+
+ Hubungkan Impianmu
+
+ Ke Negeri Sakura
+
+
+
+
+ Platform edukasi terdepan untuk penguasaan Bahasa Jepang & karir profesional.
+ Belajar JLPT N5 hingga N2 dengan kurikulum modern dan Spaced Repetition System.
+
+
+
+
+
+ Mulai Belajar Gratis
+
+
+
+
+
+ Lihat Program
+
+
+
+
+
+ );
+}