<?php
require_once '../includes/auth.php';
require_once '../includes/config.php';
require_once '../includes/header.php';
require_once '../includes/sidebar.php';
require_once 'functions.php';

$search = isset($_GET['search']) ? trim($_GET['search']) : '';
$category_id = isset($_GET['category_id']) ? (int)$_GET['category_id'] : 0;
$status = isset($_GET['status']) ? $_GET['status'] : '';

$success_message = '';
$error_message = '';

if (isset($_GET['added']) && $_GET['added'] == '1') {
    $success_message = 'تمت إضافة التصنيف الفرعي بنجاح';
}

if (isset($_GET['updated']) && $_GET['updated'] == '1') {
    $success_message = 'تم تحديث التصنيف الفرعي بنجاح';
}

if (isset($_GET['deleted']) && $_GET['deleted'] == '1') {
    $success_message = 'تم حذف التصنيف الفرعي بنجاح';
}

if (isset($_GET['toggled']) && $_GET['toggled'] == '1') {
    $success_message = 'تم تغيير حالة التصنيف الفرعي بنجاح';
}

if (isset($_GET['delete_error']) && $_GET['delete_error'] === 'linked') {
    $error_message = 'لا يمكن حذف هذا التصنيف الفرعي لأنه مرتبط بمنتجات';
}

$total_count = 0;
$active_count = 0;
$inactive_count = 0;

$total_result = $conn->query("SELECT COUNT(*) AS total_count FROM product_types");
if ($total_result && $row = $total_result->fetch_assoc()) {
    $total_count = (int)$row['total_count'];
}

$active_result = $conn->query("SELECT COUNT(*) AS active_count FROM product_types WHERE status = 1");
if ($active_result && $row = $active_result->fetch_assoc()) {
    $active_count = (int)$row['active_count'];
}

$inactive_result = $conn->query("SELECT COUNT(*) AS inactive_count FROM product_types WHERE status = 0");
if ($inactive_result && $row = $inactive_result->fetch_assoc()) {
    $inactive_count = (int)$row['inactive_count'];
}

$where = [];
$params = [];
$types = '';

$sql = "SELECT product_types.*, categories.name AS category_name
        FROM product_types
        LEFT JOIN categories ON categories.id = product_types.category_id";

if ($search !== '') {
    $where[] = "product_types.name LIKE ?";
    $params[] = '%' . $search . '%';
    $types .= 's';
}

if ($category_id > 0) {
    $where[] = "product_types.category_id = ?";
    $params[] = $category_id;
    $types .= 'i';
}

if ($status !== '' && ($status === '1' || $status === '0')) {
    $where[] = "product_types.status = ?";
    $params[] = (int)$status;
    $types .= 'i';
}

if (!empty($where)) {
    $sql .= " WHERE " . implode(' AND ', $where);
}

$sql .= " ORDER BY product_types.id DESC";

$stmt = $conn->prepare($sql);

if (!empty($params)) {
    $stmt->bind_param($types, ...$params);
}

$stmt->execute();
$result = $stmt->get_result();

$categories = product_types_get_categories($conn);

$filtered_count = ($result) ? $result->num_rows : 0;
?>

<div class="page-content">
    <div class="container-fluid">

        <div class="nay-page-top">
            <div class="nay-page-top-text">
                <h1>إدارة التصنيفات الفرعية</h1>
                <p>إدارة كاملة للتصنيفات الفرعية مع البحث والفلترة وتغيير الحالة والحذف</p>
            </div>

            <div class="nay-page-top-actions">
                <a href="index.php" class="nay-btn nay-btn-light">الرجوع للرئيسية</a>
                <a href="create.php" class="nay-btn nay-btn-primary">إضافة تصنيف فرعي</a>
            </div>
        </div>

        <?php if ($success_message !== ''): ?>
            <div class="nay-alert nay-alert-success"><?php echo htmlspecialchars($success_message); ?></div>
        <?php endif; ?>

        <?php if ($error_message !== ''): ?>
            <div class="nay-alert nay-alert-danger"><?php echo htmlspecialchars($error_message); ?></div>
        <?php endif; ?>

        <div class="nay-stats-grid">
            <div class="nay-stat-card">
                <div class="nay-stat-label">إجمالي التصنيفات الفرعية</div>
                <div class="nay-stat-value"><?php echo $total_count; ?></div>
                <div class="nay-stat-note">كل السجلات الموجودة</div>
            </div>

            <div class="nay-stat-card">
                <div class="nay-stat-label">التصنيفات المفعلة</div>
                <div class="nay-stat-value"><?php echo $active_count; ?></div>
                <div class="nay-stat-note">الظاهرة والنشطة حالياً</div>
            </div>

            <div class="nay-stat-card">
                <div class="nay-stat-label">التصنيفات غير المفعلة</div>
                <div class="nay-stat-value"><?php echo $inactive_count; ?></div>
                <div class="nay-stat-note">الموقوفة أو المخفية</div>
            </div>

            <div class="nay-stat-card">
                <div class="nay-stat-label">نتائج الفلترة الحالية</div>
                <div class="nay-stat-value"><?php echo $filtered_count; ?></div>
                <div class="nay-stat-note">حسب البحث والفلاتر الحالية</div>
            </div>
        </div>

        <div class="nay-card nay-filter-card">
            <div class="nay-card-header">
                <h3>البحث والفلترة</h3>
                <span>خصص النتائج بسرعة</span>
            </div>

            <form method="GET" class="nay-filter-grid">
                <div class="nay-form-group">
                    <label>بحث بالاسم</label>
                    <input
                        type="text"
                        name="search"
                        value="<?php echo htmlspecialchars($search); ?>"
                        placeholder="مثال: سيروم، شامبو، ماسك..."
                    >
                </div>

                <div class="nay-form-group">
                    <label>التصنيف الرئيسي</label>
                    <select name="category_id">
                        <option value="0">كل التصنيفات الرئيسية</option>
                        <?php if ($categories): ?>
                            <?php while ($category = $categories->fetch_assoc()): ?>
                                <option value="<?php echo (int)$category['id']; ?>" <?php echo ($category_id === (int)$category['id']) ? 'selected' : ''; ?>>
                                    <?php echo htmlspecialchars($category['name']); ?>
                                </option>
                            <?php endwhile; ?>
                        <?php endif; ?>
                    </select>
                </div>

                <div class="nay-form-group">
                    <label>الحالة</label>
                    <select name="status">
                        <option value="">كل الحالات</option>
                        <option value="1" <?php echo ($status === '1') ? 'selected' : ''; ?>>مفعل</option>
                        <option value="0" <?php echo ($status === '0') ? 'selected' : ''; ?>>غير مفعل</option>
                    </select>
                </div>

                <div class="nay-filter-actions">
                    <button type="submit" class="nay-btn nay-btn-primary">تطبيق الفلترة</button>
                    <a href="list.php" class="nay-btn nay-btn-light">إعادة تعيين</a>
                </div>
            </form>
        </div>

        <div class="nay-card nay-table-card">
            <div class="nay-card-header nay-card-header-inline">
                <div>
                    <h3>قائمة التصنيفات الفرعية</h3>
                    <span>عرض شامل لكل العناصر المسجلة</span>
                </div>
                <div class="nay-results-chip">
                    عدد النتائج: <strong><?php echo $filtered_count; ?></strong>
                </div>
            </div>

            <div class="nay-table-responsive">
                <table class="nay-table">
                    <thead>
                        <tr>
                            <th style="width:70px;">#</th>
                            <th>اسم التصنيف الفرعي</th>
                            <th>التصنيف الرئيسي</th>
                            <th style="width:140px;">الحالة</th>
                            <th style="width:190px;">تاريخ الإنشاء</th>
                            <th style="width:260px;">الإجراءات</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php if ($result && $result->num_rows > 0): ?>
                            <?php while ($row = $result->fetch_assoc()): ?>
                                <tr>
                                    <td><?php echo (int)$row['id']; ?></td>

                                    <td>
                                        <div class="nay-cell-main">
                                            <div class="nay-cell-title"><?php echo htmlspecialchars($row['name']); ?></div>
                                            <div class="nay-cell-subtitle">رقم المعرف: <?php echo (int)$row['id']; ?></div>
                                        </div>
                                    </td>

                                    <td>
                                        <span class="nay-category-pill">
                                            <?php echo htmlspecialchars($row['category_name'] ?? 'غير محدد'); ?>
                                        </span>
                                    </td>

                                    <td>
                                        <?php if ((int)$row['status'] === 1): ?>
                                            <span class="nay-badge nay-badge-success">مفعل</span>
                                        <?php else: ?>
                                            <span class="nay-badge nay-badge-muted">غير مفعل</span>
                                        <?php endif; ?>
                                    </td>

                                    <td><?php echo htmlspecialchars($row['created_at']); ?></td>

                                    <td>
                                        <div class="nay-action-group">
                                            <a href="edit.php?id=<?php echo (int)$row['id']; ?>" class="nay-btn nay-btn-small nay-btn-info">تعديل</a>

                                            <?= admin_post_action_form(
                                                'toggle_status.php',
                                                'تغيير الحالة',
                                                'nay-btn nay-btn-small nay-btn-warning',
                                                'product_type_toggle',
                                                ['id' => (int)$row['id']],
                                                'هل تريد تغيير حالة هذا التصنيف الفرعي؟'
                                            ); ?>

                                            <?= admin_post_action_form(
                                                'delete.php',
                                                'حذف',
                                                'nay-btn nay-btn-small nay-btn-danger',
                                                'product_type_delete',
                                                ['id' => (int)$row['id']],
                                                'هل أنت متأكد من حذف هذا التصنيف الفرعي؟'
                                            ); ?>
                                        </div>
                                    </td>
                                </tr>
                            <?php endwhile; ?>
                        <?php else: ?>
                            <tr>
                                <td colspan="6">
                                    <div class="nay-empty-state">
                                        <div class="nay-empty-state-title">لا توجد تصنيفات فرعية مطابقة</div>
                                        <div class="nay-empty-state-text">جرّب تغيير البحث أو الفلاتر أو أضف تصنيف فرعي جديد</div>
                                        <a href="create.php" class="nay-btn nay-btn-primary">إضافة تصنيف فرعي</a>
                                    </div>
                                </td>
                            </tr>
                        <?php endif; ?>
                    </tbody>
                </table>
            </div>
        </div>

    </div>
</div>

<?php require_once '../includes/footer.php'; ?>