<?php
// ১. সব এরর দেখার জন্য
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

session_start();

// ২. ডাটাবেজ কানেকশন পাথ
require_once 'config.php'; 

$error_message = '';
$success_message = '';
$orders = []; 

// --- ৩. লগআউট প্রসেস ---
if (isset($_GET['action']) && $_GET['action'] == 'logout') {
    session_destroy();
    header("Location: account.php");
    exit;
}

// --- ৪. ফর্ম সাবমিশন প্রসেস ---
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    // ================= রেজিস্ট্রেশন প্রসেস =================
    if (isset($_POST['register'])) {
        $phone = isset($_POST['phone']) ? trim($_POST['phone']) : '';
        $password = isset($_POST['password']) ? trim($_POST['password']) : '';
        
        if (empty($phone) || empty($password)) {
            $error_message = "মোবাইল নাম্বার এবং পাসওয়ার্ড দুটিই প্রয়োজন!";
        } elseif (strlen($password) < 6) {
            $error_message = "পাসওয়ার্ড অন্তত ৬ অক্ষরের হতে হবে!";
        } else {
            try {
                $check_stmt = $pdo->prepare("SELECT id FROM users WHERE phone = ?");
                $check_stmt->execute([$phone]);
                
                if ($check_stmt->rowCount() > 0) {
                    $error_message = "এই মোবাইল নাম্বারে ইতিপূর্বে অ্যাকাউন্ট তৈরি করা হয়েছে! লগইন করুন।";
                } else {
                    $hashed_password = password_hash($password, PASSWORD_BCRYPT);
                    
                    $insert_stmt = $pdo->prepare("INSERT INTO users (phone, password) VALUES (?, ?)");
                    $insert_stmt->execute([$phone, $hashed_password]);
                    
                    $new_user_id = $pdo->lastInsertId();
                    $_SESSION['user_id'] = $new_user_id;
                    $_SESSION['user_phone'] = $phone;
                    
                    header("Location: account.php");
                    exit;
                }
            } catch (PDOException $e) {
                $error_message = "সার্ভার ক্র্যাশ করেছে: " . $e->getMessage();
            }
        }
    }
    
    // ================= লগইন প্রসেস =================
    if (isset($_POST['login'])) {
        $phone = isset($_POST['phone']) ? trim($_POST['phone']) : '';
        $password = isset($_POST['password']) ? trim($_POST['password']) : '';
        
        if (empty($phone) || empty($password)) {
            $error_message = "মোবাইল নাম্বার এবং পাসওয়ার্ড দিন!";
        } else {
            try {
                $stmt = $pdo->prepare("SELECT * FROM users WHERE phone = ?");
                $stmt->execute([$phone]);
                $user = $stmt->fetch(PDO::FETCH_ASSOC);
                
                if ($user && password_verify($password, $user['password'])) {
                    $_SESSION['user_id'] = $user['id'];
                    $_SESSION['user_phone'] = $user['phone'];
                    header("Location: account.php");
                    exit;
                } else {
                    $error_message = "মোবাইল নাম্বার অথবা পাসওয়ার্ড ভুল হয়েছে!";
                }
            } catch (PDOException $e) {
                $error_message = "সার্ভার ক্র্যাশ করেছে: " . $e->getMessage();
            }
        }
    }
}

// --- ৫. লগইন থাকলে ডাইনামিক অর্ডার হিস্টোরি তুলে আনা ---
if (isset($_SESSION['user_id'])) {
    $user_phone = $_SESSION['user_phone'] ?? '';

    if (!empty($user_phone)) {
        try {
            $order_query = "SELECT 
                                o.id AS main_order_id, 
                                o.order_status AS status, 
                                o.created_at, 
                                o.payment_method,
                                oi.product_name AS item_name, 
                                oi.size AS item_size, 
                                oi.color AS item_color, 
                                oi.price AS item_price,
                                oi.qty AS item_qty,
                                p.image AS db_product_image
                            FROM orders o
                            INNER JOIN order_items oi ON o.id = oi.order_id
                            LEFT JOIN products p ON oi.product_id = p.id
                            WHERE o.customer_phone = ?
                            ORDER BY o.id DESC";
            
            $order_stmt = $pdo->prepare($order_query);
            $order_stmt->execute([$user_phone]);
            $orders = $order_stmt->fetchAll(PDO::FETCH_ASSOC);
            
        } catch (PDOException $e) {
            $orders = [];
            $error_message = "ডাটাবেজ কুয়েরি ত্রুটি: " . $e->getMessage();
        }
    }
}
?>
<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>আমার অ্যাকাউন্ট - ই-কমার্স ড্যাশবোর্ড</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="css/account_style.css">
    <style>
        body {
            font-family: 'Hind Siliguri', sans-serif;
            background-color: #f8f9fa;
            margin: 0;
            padding: 0;
        }
        .auth-buttons-group {
            display: flex;
            gap: 15px;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
        }
        .btn-trigger-login {
            background-color: #2ed573;
            color: white;
            border: none;
            padding: 12px 25px;
            font-size: 16px;
            border-radius: 6px;
            cursor: pointer;
            transition: 0.3s;
        }
        .btn-trigger-login:hover { background-color: #26af5f; }
        .btn-trigger-register {
            background-color: #ff4757;
            color: white;
            border: none;
            padding: 12px 25px;
            font-size: 16px;
            border-radius: 6px;
            cursor: pointer;
            transition: 0.3s;
        }
        .btn-trigger-register:hover { background-color: #e03d4b; }

        .dashboard-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
        }
        
        .user-sidebar {
            background: white; 
            padding: 20px; 
            border-radius: 8px; 
            text-align: center; 
            box-shadow: 0 4px 6px rgba(0,0,0,0.05); 
            height: fit-content;
        }

        .order-cards-container {
            display: flex;
            flex-direction: column;
            gap: 15px;
            margin-top: 15px;
        }
        .hero-order-card {
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            padding: 15px;
            border: 1px solid #edf2f7;
            display: flex;
            flex-direction: column;
            gap: 12px;
            position: relative;
        }
        .card-line-1 {
            display: flex;
            align-items: center;
            gap: 12px;
            border-bottom: 1px dashed #e2e8f0;
            padding-bottom: 12px;
        }
        .prod-img {
            width: 60px;
            height: 60px;
            object-fit: cover;
            border-radius: 8px;
            border: 1px solid #e2e8f0;
            background-color: #f7fafc;
            flex-shrink: 0;
        }
        .prod-details h4 {
            margin: 0 0 5px 0;
            font-size: 16px;
            color: #2d3748;
            line-height: 1.4;
        }
        .order-id-badge {
            font-size: 11px;
            color: #718096;
            background: #edf2f7;
            padding: 2px 6px;
            border-radius: 4px;
        }
        .card-line-2 {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 13px;
            color: #4a5568;
            flex-wrap: wrap;
            gap: 8px;
        }
        .meta-options {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
        }
        .meta-options span {
            background: #ebf8ff;
            color: #2b6cb0;
            padding: 2px 6px;
            border-radius: 4px;
            font-size: 12px;
            display: inline-block;
        }
        .card-line-3 {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: #f7fafc;
            padding: 10px 12px;
            border-radius: 8px;
            flex-wrap: wrap;
            gap: 10px;
        }
        .price-info {
            font-size: 16px;
            font-weight: 700;
            color: #2d3748;
        }
        .payment-method {
            font-size: 13px;
            color: #718096;
        }
        .status-container {
            display: flex;
            align-items: center;
        }
        .status-badge {
            padding: 4px 10px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
        }
        
        /* ৫টি নির্দিষ্ট স্ট্যাটাসের জন্য ডাইনামিক ডিজাইন (CSS ক্লাসের নাম ছোট হাতেরই রাখা হলো) */
        .status-pending { background-color: #ffe8cc !important; color: #d9480f !important; }      
        .status-processing { background-color: #fff3bf !important; color: #f59f00 !important; }   
        .status-shipped { background-color: #e7f5ff !important; color: #1c7ed6 !important; }      
        .status-delivered { background-color: #d3f9d8 !important; color: #2b8a3e !important; }    
        .status-cancelled { background-color: #ffe3e3 !important; color: #c92a2a !important; }    

        .alert-success {
            background-color: #c6f6d5;
            color: #22543d;
            padding: 12px;
            border-radius: 6px;
            margin-bottom: 15px;
        }
        .alert-error {
            background-color: #fed7d7;
            color: #742a2a;
            padding: 12px;
            border-radius: 6px;
            margin-bottom: 15px;
        }

        .modal {
            padding: 0 15px;
        }

        @media (min-width: 768px) {
            .dashboard-grid {
                grid-template-columns: 280px 1fr;
                gap: 30px;
            }
            .hero-order-card {
                padding: 20px;
                gap: 15px;
            }
            .prod-img {
                width: 70px;
                height: 70px;
            }
            .prod-details h4 {
                font-size: 18px;
            }
            .order-id-badge {
                font-size: 12px;
            }
            .card-line-2 {
                font-size: 14px;
            }
            .meta-options span {
                font-size: 13px;
                padding: 3px 8px;
            }
            .card-line-3 {
                padding: 12px 15px;
            }
            .price-info {
                font-size: 18px;
            }
            .payment-method {
                font-size: 14px;
            }
            .status-badge {
                font-size: 13px;
            }
        }
    </style>
</head>
<body>

<div class="container" style="max-width: 1200px; margin: 20px auto; padding: 0 15px; box-sizing: border-box;">

    <!-- এলার্ট মেসেজ ভিউ -->
    <?php if (!empty($error_message)): ?>
        <div class="alert-error"><i class="fa-solid fa-circle-exclamation"></i> <?php echo htmlspecialchars($error_message); ?></div>
    <?php endif; ?>
    <?php if (!empty($success_message)): ?>
        <div class="alert-success"><i class="fa-solid fa-circle-check"></i> <?php echo htmlspecialchars($success_message); ?></div>
    <?php endif; ?>

    <?php if (!isset($_SESSION['user_id'])): ?>
        <!-- ================= গেস্ট ইউজার ভিউ ================= -->
        <div class="guest-card" style="text-align: center; background: white; padding: 40px 20px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
            <div class="guest-icon" style="font-size: 48px; color: #a0aec0; margin-bottom: 20px;"><i class="fa-solid fa-user-lock"></i></div>
            <h2>আপনার অ্যাকাউন্ট ড্যাশবোর্ড</h2>
            <p style="color: #718096; margin-bottom: 20px; max-width: 500px; margin-left: auto; margin-right: auto;">আপনার অর্ডার ট্র্যাক করতে এবং পূর্ববর্তী অর্ডারের হিস্টোরি দেখতে আপনার অ্যাকাউন্টে প্রবেশ করুন।</p>
            
            <div class="auth-buttons-group">
                <button class="btn-trigger-login" onclick="openModal('login')">
                    <i class="fa-solid fa-right-to-bracket"></i> লগইন করুন
                </button>
                <button class="btn-trigger-register" onclick="openModal('register')">
                    <i class="fa-solid fa-user-plus"></i> অ্যাকাউন্ট তৈরি করুন
                </button>
            </div>
        </div>

    <?php else: ?>
        <!-- ================= প্রোফাইল ড্যাশবোর্ড ================= -->
        <div class="dashboard-grid">
            
            <!-- বামপাশের সাইডবার -->
            <div class="user-sidebar">
                <div class="avatar-wrapper" style="font-size: 50px; color: #cbd5e0; margin-bottom: 15px;"><i class="fa-solid fa-user"></i></div>
                <div class="sidebar-phone" style="font-weight: bold; font-size: 18px; margin-bottom: 20px; color: #4a5568;">
                    <?php echo htmlspecialchars($_SESSION['user_phone'] ?? 'ইউজার'); ?>
                </div>
                <a href="account.php?action=logout" class="btn-logout" style="display: block; background: #e53e3e; color: white; padding: 10px; border-radius: 6px; text-decoration: none;">
                    <i class="fa-solid fa-right-from-bracket"></i> লগআউট করুন
                </a>
            </div>

            <!-- ডানপাশের অর্ডার প্যানেল -->
            <div class="orders-panel">
                <h3 class="panel-title" style="font-size: 20px; margin-bottom: 20px; color: #2d3748;">
                    <i class="fa-solid fa-bag-shopping" style="color: #ff4757;"></i> আপনার অর্ডার সমূহ
                </h3>

                <div class="order-cards-container">
                    <?php if (count($orders) > 0): ?>
                        <?php foreach ($orders as $order): 
                            // ডাটাবেজের ভ্যালুর প্রথম অক্ষর বড় হাতের এবং বাকিটা ছোট হাতের করা হলো (যেমন: Pending)
                            $db_status = isset($order['status']) ? ucfirst(strtolower(trim($order['status']))) : 'Pending';
                            
                            // ইংরেজি ভ্যালু ও ছোট হাতের CSS ক্লাস ম্যাপিং
                            switch ($db_status) {
                                case 'Processing':
                                    $status_class = 'status-processing';
                                    $status_text = 'Processing';
                                    break;
                                case 'Shipped':
                                    $status_class = 'status-shipped';
                                    $status_text = 'Shipped';
                                    break;
                                case 'Delivered':
                                    $status_class = 'status-delivered';
                                    $status_text = 'Delivered';
                                    break;
                                case 'Cancelled':
                                case 'Canceled':
                                    $status_class = 'status-cancelled';
                                    $status_text = 'Cancelled';
                                    break;
                                case 'Pending':
                                default:
                                    $status_class = 'status-pending';
                                    $status_text = 'Pending';
                                    break;
                            }
                            
                            $p_img = 'images/default-product.png'; 
                            if (!empty($order['db_product_image'])) {
                                if (strpos($order['db_product_image'], 'uploads/products/') === false) {
                                    $p_img = 'uploads/products/' . $order['db_product_image'];
                                } else {
                                    $p_img = $order['db_product_image'];
                                }
                            }
                            
                            $p_name = 'প্রোডাক্টের নাম পাওয়া যায়নি';
                            if (!empty($order['item_name'])) {
                                $p_name = $order['item_name'];
                            }
                        ?>
                            <!-- হিরো কার্ড শুরু -->
                            <div class="hero-order-card">
                                
                                <!-- ১ম লাইন: প্রোডাক্ট নাম এবং ছবি -->
                                <div class="card-line-1">
                                    <img src="<?php echo htmlspecialchars($p_img); ?>" alt="Product Image" class="prod-img">
                                    <div class="prod-details">
                                        <h4><?php echo htmlspecialchars($p_name); ?></h4>
                                        <span class="order-id-badge">অর্ডার আইডি: #<?php echo htmlspecialchars($order['main_order_id'] ?? 'N/A'); ?></span>
                                    </div>
                                </div>

                                <!-- ২য় লাইন: তারিখ এবং সাইজ/কালার -->
                                <div class="card-line-2">
                                    <div class="order-date">
                                        <i class="fa-regular fa-calendar-days"></i> <?php echo isset($order['created_at']) ? date('d M, Y', strtotime($order['created_at'])) : 'N/A'; ?>
                                    </div>
                                    <div class="meta-options">
                                        <?php if (!empty($order['item_size'])): ?>
                                            <span>সাইজ: <?php echo htmlspecialchars($order['item_size']); ?></span>
                                        <?php endif; ?>
                                        <?php if (!empty($order['item_color'])): ?>
                                            <span>কালার: <?php echo htmlspecialchars($order['item_color']); ?></span>
                                        <?php endif; ?>
                                        <?php if (!empty($order['item_qty'])): ?>
                                            <span style="background: #e6fffa; color: #234e52;">পরিমাণ: <?php echo htmlspecialchars($order['item_qty']); ?> টি</span>
                                        <?php endif; ?>
                                    </div>
                                </div>

                                <!-- ৩য় লাইন: টাকা, পেমেন্ট মেথড ও স্ট্যাটাস -->
                                <div class="card-line-3">
                                    <div class="price-info">
                                        ৳<?php echo htmlspecialchars($order['item_price'] ?? '0'); ?>
                                    </div>
                                    <div class="payment-method">
                                        <i class="fa-solid fa-credit-card"></i> <?php echo htmlspecialchars($order['payment_method'] ?? 'COD'); ?>
                                    </div>
                                    <div class="status-container">
                                        <span class="status-badge <?php echo $status_class; ?>">
                                            <?php echo $status_text; ?>
                                        </span>
                                    </div>
                                </div>

                            </div>
                            <!-- হিরো কার্ড শেষ -->
                        <?php endforeach; ?>
                    <?php else: ?>
                        <div style="text-align: center; padding: 40px 10px; color: #a0aec0; background: white; border-radius: 8px;">
                            <i class="fa-solid fa-box-open" style="font-size: 50px; margin-bottom: 15px; display: block;"></i>
                            <p>আপনার এই নাম্বারে পূর্বে কোনো অর্ডার পাওয়া যায়নি।</p>
                        </div>
                    <?php endif; ?>
                </div>
            </div>

        </div>
    <?php endif; ?>

</div>

<!-- ================= লগইন / রেজিস্ট্রেশন মডাল ================= -->
<div id="authModal" class="modal" style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); justify-content: center; align-items: center; z-index: 9999;">
    <div class="modal-content" style="background: white; padding: 30px; border-radius: 8px; width: 100%; max-width: 400px; position: relative; box-sizing: border-box;">
        <span class="close-modal" onclick="closeModal()" style="position: absolute; top: 10px; right: 15px; font-size: 24px; cursor: pointer;">&times;</span>
        
        <div id="loginSection">
            <h3 style="margin-bottom: 20px;">লগইন করুন</h3>
            <form action="account.php" method="POST">
                <div class="form-group" style="margin-bottom: 15px;">
                    <label style="display: block; margin-bottom: 5px;">আপনার মোবাইল নাম্বার</label>
                    <input type="tel" name="phone" placeholder="01xxxxxxxxx" required pattern="[0-9]{11}" title="১১ ডিজিটের মোবাইল নাম্বার দিন" style="width: 100%; padding: 10px; border: 1px solid #cbd5e0; border-radius: 4px; box-sizing: border-box;">
                </div>
                <div class="form-group" style="margin-bottom: 25px;">
                    <label style="display: block; margin-bottom: 5px;">পাসওয়ার্ড</label>
                    <input type="password" name="password" placeholder="******" required style="width: 100%; padding: 10px; border: 1px solid #cbd5e0; border-radius: 4px; box-sizing: border-box;">
                </div>
                <button type="submit" name="login" class="btn-submit" style="width: 100%; background: #2ed573; color: white; border: none; padding: 12px; border-radius: 6px; cursor: pointer; font-size: 16px;">লগইন</button>
            </form>
            <div class="toggle-link" style="text-align: center; margin-top: 15px; color: #718096;">
                নতুন ইউজার? <span onclick="switchForm('register')" style="color: #ff4757; cursor: pointer; font-weight: bold;">রেজিস্ট্রেশন করুন</span>
            </div>
        </div>

        <div id="registerSection" style="display: none;">
            <h3 style="margin-bottom: 20px;">নতুন অ্যাকাউন্ট তৈরি</h3>
            <form action="account.php" method="POST">
                <div class="form-group" style="margin-bottom: 15px;">
                    <label style="display: block; margin-bottom: 5px;">আপনার মোবাইল নাম্বার</label>
                    <input type="tel" name="phone" placeholder="01xxxxxxxxx" required pattern="[0-9]{11}" title="১১ ডিজিটের মোবাইল নাম্বার দিন" style="width: 100%; padding: 10px; border: 1px solid #cbd5e0; border-radius: 4px; box-sizing: border-box;">
                </div>
                <div class="form-group" style="margin-bottom: 25px;">
                    <label style="display: block; margin-bottom: 5px;">পাসওয়ার্ড (নূন্যতম ৬ অক্ষর)</label>
                    <input type="password" name="password" placeholder="******" required minlength="6" style="width: 100%; padding: 10px; border: 1px solid #cbd5e0; border-radius: 4px; box-sizing: border-box;">
                </div>
                <button type="submit" name="register" class="btn-submit" style="width: 100%; background: #ff4757; color: white; border: none; padding: 12px; border-radius: 6px; cursor: pointer; font-size: 16px;">রেজিস্ট্রেশন এবং লগইন</button>
            </form>
            <div class="toggle-link" style="text-align: center; margin-top: 15px; color: #718096;">
                ইতিমধ্যে অ্যাকাউন্ট আছে? <span onclick="switchForm('login')" style="color: #2ed573; cursor: pointer; font-weight: bold;">লগইন করুন</span>
            </div>
        </div>
    </div>
</div>

<script>
    function openModal(formType) {
        document.getElementById('authModal').style.display = 'flex';
        if(formType === 'register') {
            switchForm('register');
        } else {
            switchForm('login');
        }
    }

    function closeModal() {
        document.getElementById('authModal').style.display = 'none';
    }

    window.onclick = function(event) {
        var modal = document.getElementById('authModal');
        if (event.target == modal) {
            modal.style.display = "none";
        }
    }

    function switchForm(type) {
        var loginSec = document.getElementById('loginSection');
        var registerSec = document.getElementById('registerSection');
        if (type === 'register') {
            loginSec.style.display = 'none';
            registerSec.style.display = 'block';
        } else {
            loginSec.style.display = 'block';
            registerSec.style.display = 'none';
        }
    }
</script>
<!-- পেজের অন্যান্য কন্টেন্ট এখানে শেষ হলো -->

    <!-- স্পেসার: এটি নিশ্চিত করবে যে নিচের ন্যাভিগেশন বারটি যেন পেজের শেষ লেখাকে ঢেকে না ফেলে -->
    <div class="bottom-spacer"></div>

    <!-- আলাদা ফাইলটি এখানে ইনক্লুড করুন -->
    <?php include 'bottom-nav.php'; ?>

</body>
</html>
</body>
</html>