<?php
/**
 * Account Sign In Page
 * Converted from account-signin.html
 */

$pageTitle = 'Cartzilla | Account - Sign In';
$pageDescription = 'Cartzilla - Multipurpose Bootstrap E-Commerce HTML Template';

// Redirect if already logged in
require_once __DIR__ . '/includes/init.php';
if ($auth->isLoggedIn() && !$auth->isAdmin()) {
    header('Location: /');
    exit;
}

// Handle login
$error = null;
$needsCartMerge = false;
$sessionCartId = null;
$userCartId = null;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $email = $_POST['email'] ?? '';
    $password = $_POST['password'] ?? '';
    
    if ($auth->login($email, $password, false)) {
        $user = $auth->getUser();
        
        // Handle cart merge
        $sessionId = $auth->getSessionId();
        $sessionCart = $cart->getOrCreateCart(null, $sessionId);
        $userCart = $cart->getOrCreateCart($user['id'], null);
        
        $sessionItems = $cart->getCartItems($sessionCart['id']);
        $userItems = $cart->getCartItems($userCart['id']);
        
        if (!empty($sessionItems) && !empty($userItems)) {
            // Both carts have items - show merge modal
            $needsCartMerge = true;
            $sessionCartId = $sessionCart['id'];
            $userCartId = $userCart['id'];
        } elseif (!empty($sessionItems)) {
            // Only session cart has items - merge automatically
            $cart->mergeCarts($sessionCart['id'], $userCart['id'], 'replace');
            header('Location: /');
            exit;
        } else {
            // Only user cart or no items - redirect
            header('Location: /');
            exit;
        }
    } else {
        $error = 'Invalid email or password';
    }
}
?>
<!DOCTYPE html>
<html lang="en" data-bs-theme="light" data-pwa="true">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, viewport-fit=cover">
    <title><?php echo htmlspecialchars($pageTitle); ?></title>
    <meta name="description" content="<?php echo htmlspecialchars($pageDescription); ?>">
    <link rel="manifest" href="manifest.json">
    <link rel="icon" type="image/png" href="assets/app-icons/icon-32x32.png" sizes="32x32">
    <link rel="apple-touch-icon" href="assets/app-icons/icon-180x180.png">
    <script src="assets/js/theme-switcher.js"></script>
    <link rel="preload" href="assets/fonts/inter-variable-latin.woff2" as="font" type="font/woff2" crossorigin>
    <link rel="preload" href="assets/icons/cartzilla-icons.woff2" as="font" type="font/woff2" crossorigin>
    <link rel="stylesheet" href="assets/icons/cartzilla-icons.min.css">
    <link rel="preload" href="assets/css/theme.min.css" as="style">
    <link rel="preload" href="assets/css/theme.rtl.min.css" as="style">
    <link rel="stylesheet" href="assets/css/theme.min.css" id="theme-styles">
  </head>
  <body>
    <main class="content-wrapper w-100 px-3 ps-lg-5 pe-lg-4 mx-auto" style="max-width: 1920px">
      <div class="d-lg-flex">
        <div class="d-flex flex-column min-vh-100 w-100 py-4 mx-auto me-lg-5" style="max-width: 416px">
          <header class="navbar px-0 pb-4 mt-n2 mt-sm-0 mb-2 mb-md-3 mb-lg-4">
            <a href="/" class="navbar-brand pt-0">
              <span class="d-flex flex-shrink-0 text-primary me-2">
                <svg xmlns="http://www.w3.org/2000/svg" width="36" height="36"><path d="M36 18.01c0 8.097-5.355 14.949-12.705 17.2a18.12 18.12 0 0 1-5.315.79C9.622 36 2.608 30.313.573 22.611.257 21.407.059 20.162 0 18.879v-1.758c.02-.395.059-.79.099-1.185.099-.908.277-1.817.514-2.686C2.687 5.628 9.682 0 18 0c5.572 0 10.551 2.528 13.871 6.517 1.502 1.797 2.648 3.91 3.359 6.201.494 1.659.771 3.436.771 5.292z" fill="currentColor"/><g fill="#fff"><path d="M17.466 21.624c-.514 0-.988-.316-1.146-.829-.198-.632.138-1.303.771-1.501l7.666-2.469-1.205-8.254-13.317 4.621a1.19 1.19 0 0 1-1.521-.75 1.19 1.19 0 0 1 .751-1.521l13.89-4.818c.553-.197 1.166-.138 1.64.158a1.82 1.82 0 0 1 .85 1.284l1.344 9.183c.138.987-.494 1.994-1.482 2.33l-7.864 2.528-.375.04zm7.31.138c-.178-.632-.85-1.007-1.482-.81l-5.177 1.58c-2.331.79-3.28.02-3.418-.099l-6.56-8.412a4.25 4.25 0 0 0-4.406-1.758l-3.122.987c-.237.889-.415 1.777-.514 2.686l4.228-1.363a1.84 1.84 0 0 1 1.857.81l6.659 8.551c.751.948 2.015 1.323 3.359 1.323.909 0 1.857-.178 2.687-.474l5.078-1.54c.632-.178 1.008-.829.81-1.481z"/><use href="#czlogo"/><use href="#czlogo" x="8.516" y="-2.172"/></g><defs><path id="czlogo" d="M18.689 28.654a1.94 1.94 0 0 1-1.936 1.935 1.94 1.94 0 0 1-1.936-1.935 1.94 1.94 0 0 1 1.936-1.935 1.94 1.94 0 0 1 1.936 1.935z"/></defs></svg>
              </span>
              Cartzilla
            </a>
          </header>

          <h1 class="h2 mt-auto">Welcome back</h1>
          <div class="nav fs-sm mb-4">
            Don't have an account?
            <a class="nav-link text-decoration-underline p-0 ms-2" href="/cont/inregistrare">Create an account</a>
          </div>

          <?php if ($error): ?>
          <div class="alert alert-danger" role="alert">
            <?php echo htmlspecialchars($error); ?>
          </div>
          <?php endif; ?>

          <form method="POST" class="needs-validation" novalidate>
            <div class="position-relative mb-4">
              <input type="email" name="email" class="form-control form-control-lg" placeholder="Email" required>
              <div class="invalid-tooltip bg-transparent py-0">Enter a valid email address!</div>
            </div>
            <div class="mb-4">
              <div class="password-toggle">
                <input type="password" name="password" class="form-control form-control-lg" placeholder="Password" required>
                <div class="invalid-tooltip bg-transparent py-0">Password is incorrect!</div>
                <label class="password-toggle-button fs-lg" aria-label="Show/hide password">
                  <input type="checkbox" class="btn-check">
                </label>
              </div>
            </div>
            <div class="d-flex align-items-center justify-content-between mb-4">
              <div class="form-check me-2">
                <input type="checkbox" class="form-check-input" id="remember-30" name="remember">
                <label for="remember-30" class="form-check-label">Remember for 30 days</label>
              </div>
              <div class="nav">
                <a class="nav-link animate-underline p-0" href="/cont/recuperare-parola">
                  <span class="animate-target">Forgot password?</span>
                </a>
              </div>
            </div>
            <button type="submit" class="btn btn-lg btn-primary w-100">Sign In</button>
          </form>

          <div class="d-flex align-items-center my-4">
            <hr class="w-100 m-0">
            <span class="text-body-emphasis fw-medium text-nowrap mx-4">or continue with</span>
            <hr class="w-100 m-0">
          </div>

          <div class="d-flex flex-column flex-sm-row gap-3 pb-4 mb-3 mb-lg-4">
            <button type="button" class="btn btn-lg btn-outline-secondary w-100 px-2">
              <i class="ci-google ms-1 me-1"></i>
              Google
            </button>
            <button type="button" class="btn btn-lg btn-outline-secondary w-100 px-2">
              <i class="ci-facebook ms-1 me-1"></i>
              Facebook
            </button>
            <button type="button" class="btn btn-lg btn-outline-secondary w-100 px-2">
              <i class="ci-apple ms-1 me-1"></i>
              Apple
            </button>
          </div>

          <footer class="mt-auto">
            <div class="nav mb-4">
              <a class="nav-link text-decoration-underline p-0" href="help-topics-v1.php">Need help?</a>
            </div>
            <p class="fs-xs mb-0">
              &copy; <?php echo date('Y'); ?> All rights reserved. Made by <span class="animate-underline"><a class="animate-target text-dark-emphasis text-decoration-none" href="https://coderthemes.com/" target="_blank" rel="noreferrer">Coderthemes</a></span>
            </p>
          </footer>
        </div>

        <div class="d-none d-lg-block w-100 py-4 ms-auto" style="max-width: 1034px">
          <div class="d-flex flex-column justify-content-end h-100 rounded-5 overflow-hidden">
            <span class="position-absolute top-0 start-0 w-100 h-100 d-none-dark" style="background: linear-gradient(-90deg, #accbee 0%, #e7f0fd 100%)"></span>
            <span class="position-absolute top-0 start-0 w-100 h-100 d-none d-block-dark" style="background: linear-gradient(-90deg, #1b273a 0%, #1f2632 100%)"></span>
            <div class="ratio position-relative z-2" style="--cz-aspect-ratio: calc(1030 / 1032 * 100%)">
              <img src="assets/img/account/cover.png" alt="Girl">
            </div>
          </div>
        </div>
      </div>
    </main>

    <!-- Cart Merge Modal -->
    <?php if ($needsCartMerge): ?>
    <div class="modal fade show" id="cartMergeModal" tabindex="-1" style="display: block;" data-bs-backdrop="static">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title">Merge Shopping Carts</h5>
          </div>
          <div class="modal-body">
            <p>You have items in both your saved cart and your current cart. How would you like to proceed?</p>
            <div class="d-flex flex-column gap-2">
              <button type="button" class="btn btn-primary" onclick="mergeCarts('replace')">Replace with current cart</button>
              <button type="button" class="btn btn-secondary" onclick="mergeCarts('keep')">Keep saved cart</button>
              <button type="button" class="btn btn-outline-primary" onclick="mergeCarts('merge')">Merge both carts</button>
            </div>
          </div>
        </div>
      </div>
    </div>
    <script>
    function mergeCarts(type) {
        fetch('api/cart.php?action=merge', {
            method: 'POST',
            headers: {'Content-Type': 'application/json'},
            body: JSON.stringify({
                session_cart_id: <?php echo $sessionCartId; ?>,
                user_cart_id: <?php echo $userCartId; ?>,
                merge_type: type
            })
        })
        .then(r => r.json())
        .then(data => {
            if (data.success) {
                window.location.href = '/';
            }
        });
    }
    </script>
    <?php endif; ?>

    <script src="assets/js/theme.min.js"></script>
  </body>
</html>

