<?php
declare(strict_types=1);

require_once __DIR__ . '/../includes/layout.php';

require_login($conn);

if (!can_access_manage_system($conn)) {
    redirect_with_flash('dashboard.php', 'error', localized_flash_message('คุณไม่มีสิทธิ์เข้าถึงฟังก์ชันนี้', 'You do not have permission to access that function.'));
}

$sections = array();

if (can_access($conn, 'services')) {
    $sections[] = array(
        'eyebrow' => ui_text('บริการ', 'Service'),
        'title' => ui_text('จัดการบริการ', 'Service management'),
        'description' => ui_text(
            'เปิดหน้าจัดการรายการบริการ หมวดหมู่ และกลุ่มบริการจากพื้นที่จัดการโครงสร้างบริการเดียวกัน',
            'Open the separate pages for service items, categories and service groups from the shared service structure area.'
        ),
        'href' => 'services.php',
        'button' => ui_text('เปิดรายการบริการ', 'Open Service Lists'),
    );

    $sections[] = array(
        'eyebrow' => ui_text('ควิกเซอร์วิส', 'Quick Service'),
        'title' => ui_text('ตั้งค่าควิกเซอร์วิส', 'Quick Service settings'),
        'description' => ui_text(
            'ตั้งค่า PromptPay, รูป QR ที่อัปโหลด และ QR รับชำระที่ใช้ในหน้าชำระเงินและใบเสร็จของ Quick Service',
            'Configure PromptPay, uploaded QR images and the payment QR shown on Quick Service checkout screens and receipts.'
        ),
        'href' => 'quick_service_settings.php',
        'button' => ui_text('เปิดการตั้งค่า', 'Open Settings'),
    );
}

if (can_access($conn, 'employees')) {
    $sections[] = array(
        'eyebrow' => ui_text('พนักงาน', 'Employees'),
        'title' => ui_text('จัดการพนักงาน', 'Employee management'),
        'description' => ui_text(
            'จัดการบัญชีพนักงาน สาขาที่รับผิดชอบ และสิทธิ์การเข้าสู่ระบบ',
            'Manage staff accounts, assigned branches and login access.'
        ),
        'href' => 'employees.php',
        'button' => ui_text('เปิดหน้าพนักงาน', 'Open Employees'),
    );

    $sections[] = array(
        'eyebrow' => ui_text('ตำแหน่งงาน', 'Positions'),
        'title' => ui_text('จัดการตำแหน่งงาน', 'Position management'),
        'description' => ui_text(
            'จัดการตำแหน่งงาน สิทธิ์ และขอบเขตสาขาเริ่มต้นแยกจากบัญชีพนักงาน',
            'Manage job positions, permissions and default branch scope separately from employee accounts.'
        ),
        'href' => 'positions.php',
        'button' => ui_text('เปิดหน้าตำแหน่ง', 'Open Positions'),
    );
}

if (can_access($conn, 'bill_management')) {
    $sections[] = array(
        'eyebrow' => ui_text('บิล', 'Bills'),
        'title' => ui_text('จัดการบิล', 'Bill management'),
        'description' => ui_text(
            'ค้นหาบิลตามวันหรือเดือน กรองตามสาขา เปิดรายละเอียดบิล พิมพ์ใบเสร็จซ้ำ และยกเลิกบิลได้ตามสิทธิ์',
            'Search bills by day or month, filter by branch, open bill details, reprint receipts and cancel bills when allowed.'
        ),
        'href' => 'bill_management.php',
        'button' => ui_text('เปิดหน้าบิล', 'Open Bills'),
    );
}

if (can_access_data_maintenance($conn)) {
    $sections[] = array(
        'eyebrow' => ui_text('บำรุงรักษา', 'Maintenance'),
        'title' => ui_text('บำรุงรักษาข้อมูล', 'Data Maintenance'),
        'description' => ui_text(
            'พรีวิว ส่งออก snapshot และล้างข้อมูล log, booking หรือ sale ที่เลือก พร้อมการยืนยันแบบพิมพ์ข้อความ',
            'Preview, export snapshot and clear selected log, booking or sale data with typed confirmation.'
        ),
        'href' => 'data_maintenance.php',
        'button' => ui_text('เปิดหน้าบำรุงรักษา', 'Open Maintenance'),
    );
}

$pageTitle = ui_text('จัดการระบบ', 'Manage System');
$pageDescription = ui_text(
    'รวมพื้นที่ตั้งค่าหลักสำหรับบริการ บิล พนักงาน และการตั้งค่า Quick Service ไว้ในจุดเดียว',
    'Centralize the main setup areas for services, bills, employees and Quick Service configuration.'
);
$backToDashboardLabel = ui_text('กลับไปแดชบอร์ด', 'Back to dashboard');

render_page_start($pageTitle, 'manage_system', array('translation_buffer' => false));
?>

<section class="page-hero">
    <div>
        <h1><?= e($pageTitle) ?></h1>
        <p><?= e($pageDescription) ?></p>
    </div>
    <div class="hero-actions">
        <a class="button button-secondary" href="dashboard.php"><?= e($backToDashboardLabel) ?></a>
    </div>
</section>

<section class="grid grid-3 manage-system-grid">
    <?php foreach ($sections as $section): ?>
        <article class="card manage-system-card">
            <div class="stack">
                <span class="manage-system-eyebrow"><?= e((string) $section['eyebrow']) ?></span>
                <h2 class="section-title"><?= e((string) $section['title']) ?></h2>
                <p class="helper"><?= e((string) $section['description']) ?></p>
            </div>
            <div class="actions manage-system-actions">
                <a class="button button-secondary" href="<?= e((string) $section['href']) ?>"><?= e((string) $section['button']) ?></a>
            </div>
        </article>
    <?php endforeach; ?>
</section>

<?php render_page_end(); ?>
