/home/ejrndhmu/rwberdaya.com/login.php
<?php
require_once 'config/database.php';
require_once 'config/helpers.php';

startSession();

// Get store settings
$db = new Database();
$db->query('SELECT setting_key, setting_value FROM settings');
$settings_result = $db->resultSet();

$settings = [];
foreach ($settings_result as $setting) {
    $settings[$setting->setting_key] = $setting->setting_value;
}

// Set default values if not exists
$default_settings = [
    'store_name' => 'TokoPro',
    'store_logo' => ''
];

foreach ($default_settings as $key => $default_value) {
    if (!isset($settings[$key])) {
        $settings[$key] = $default_value;
    }
}

// Redirect if already logged in
if (isLoggedIn()) {
    if (isAdmin()) {
        redirect('admin/');
    } else {
        redirect('index.php');
    }
}

$error = '';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $username = sanitize($_POST['username']);
    $password = $_POST['password'];
    
    if (empty($username) || empty($password)) {
        $error = 'Username dan password harus diisi';
    } else {
        try {
            $db = new Database();
            $db->query('SELECT * FROM users WHERE (username = :username OR email = :email) AND status = "active"');
            $db->bind(':username', $username);
            $db->bind(':email', $username);
            $user = $db->single();
            
            if ($user && verifyPassword($password, $user->password)) {
                $_SESSION['user_id'] = $user->id;
                $_SESSION['username'] = $user->username;
                $_SESSION['user_role'] = $user->role;
                $_SESSION['full_name'] = $user->full_name;
                
                if ($user->role === 'admin') {
                    redirect('admin/');
                } else {
                    redirect('index.php');
                }
            } else {
                $error = 'Username atau password salah';
            }
        } catch (Exception $e) {
            $error = 'Error: ' . $e->getMessage() . ' (File: ' . $e->getFile() . ', Line: ' . $e->getLine() . ')';
        }
    }
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Login - Toko Pro</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    colors: {
                        primary: {
                            50: '#f0fdf4',
                            100: '#dcfce7',
                            200: '#bbf7d0',
                            300: '#86efac',
                            400: '#4ade80',
                            500: '#22c55e',
                            600: '#16a34a',
                            700: '#15803d',
                            800: '#166534',
                            900: '#14532d'
                        }
                    }
                }
            }
        }
    </script>
</head>
<body class="bg-gradient-to-br from-primary-50 to-primary-100 min-h-screen flex items-center justify-center p-4">
    <div class="max-w-md w-full">
        <!-- Logo/Brand -->
        <div class="text-center mb-8">
            <?php if (!empty($settings['store_logo'])): ?>
                <div class="flex justify-center mb-4">
                    <img src="uploads/logos/<?= htmlspecialchars($settings['store_logo']) ?>" 
                         alt="<?= htmlspecialchars($settings['store_name']) ?>" 
                         class="h-16 w-auto">
                </div>
                <h1 class="text-2xl font-bold text-primary-700 mb-2"><?= htmlspecialchars($settings['store_name']) ?></h1>
            <?php else: ?>
                <h1 class="text-4xl font-bold text-primary-700 mb-2"><?= htmlspecialchars($settings['store_name']) ?></h1>
            <?php endif; ?>
            <p class="text-primary-600">Toko Online Terpercaya</p>
        </div>
        
        <!-- Login Form -->
        <div class="bg-white rounded-2xl shadow-xl p-8">
            <h2 class="text-2xl font-bold text-gray-800 mb-6 text-center">Masuk ke Akun Anda</h2>
            
            <?php if ($error): ?>
                <div class="bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-lg mb-6">
                    <?php echo $error; ?>
                </div>
            <?php endif; ?>
            
            <form method="POST" action="" class="space-y-6">
                <div>
                    <label for="username" class="block text-sm font-medium text-gray-700 mb-2">
                        Username atau Email
                    </label>
                    <input type="text" id="username" name="username" required
                           class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition duration-200"
                           placeholder="Masukkan username atau email">
                </div>
                
                <div>
                    <label for="password" class="block text-sm font-medium text-gray-700 mb-2">
                        Password
                    </label>
                    <input type="password" id="password" name="password" required
                           class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition duration-200"
                           placeholder="Masukkan password">
                </div>
                
                <button type="submit"
                        class="w-full bg-primary-600 hover:bg-primary-700 text-white font-semibold py-3 px-4 rounded-lg transition duration-200 transform hover:scale-105">
                    Masuk
                </button>
            </form>
            
            <div class="mt-6 text-center">
                <p class="text-gray-600">
                    Belum punya akun? 
                    <a href="register.php" class="text-primary-600 hover:text-primary-700 font-semibold">
                        Daftar sekarang
                    </a>
                </p>
            </div>
            
            
        </div>
        
        <!-- Footer -->
        <div class="text-center mt-8">
            <p class="text-primary-600 text-sm">
                &copy; 2024 Toko Pro. All rights reserved.
            </p>
        </div>
    </div>
</body>
</html>