-- Migration: Create menus table
-- สำหรับเก็บข้อมูลเมนูหลักและเมนูย่อย

CREATE TABLE IF NOT EXISTS menus (
    id INT AUTO_INCREMENT PRIMARY KEY,
    parent_id INT DEFAULT NULL COMMENT 'ID ของเมนูหลัก (NULL = เมนูหลัก)',
    menu_title VARCHAR(100) NOT NULL COMMENT 'ชื่อเมนู',
    menu_url VARCHAR(255) DEFAULT NULL COMMENT 'ลิงก์เมนู',
    menu_icon VARCHAR(50) DEFAULT NULL COMMENT 'ไอคอน Font Awesome เช่น fa-home',
    menu_target VARCHAR(20) DEFAULT '_self' COMMENT 'เปิดในหน้าต่างใหม่หรือไม่ (_self, _blank)',
    menu_order INT DEFAULT 0 COMMENT 'ลำดับการแสดงผล',
    is_active TINYINT(1) DEFAULT 1 COMMENT 'สถานะการใช้งาน',
    menu_type ENUM('header', 'footer', 'sidebar') DEFAULT 'header' COMMENT 'ประเภทเมนู',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (parent_id) REFERENCES menus(id) ON DELETE CASCADE,
    INDEX idx_parent_id (parent_id),
    INDEX idx_menu_order (menu_order),
    INDEX idx_is_active (is_active),
    INDEX idx_menu_type (menu_type)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ตารางเก็บข้อมูลเมนู';

-- Insert default menus
INSERT INTO menus (menu_title, menu_url, menu_icon, menu_order, menu_type) VALUES
('หน้าแรก', '/', 'fa-home', 1, 'header'),
('คอร์สเรียน', '/courses', 'fa-book', 2, 'header'),
('เกี่ยวกับเรา', '/about', 'fa-info-circle', 3, 'header'),
('ติดต่อเรา', '/contact', 'fa-envelope', 4, 'header'),
('เกี่ยวกับเรา', '/about', 'fa-info-circle', 1, 'footer'),
('นโยบายความเป็นส่วนตัว', '/privacy-policy', 'fa-shield-alt', 2, 'footer'),
('ข้อกำหนดการใช้งาน', '/terms-of-service', 'fa-file-contract', 3, 'footer'),
('ติดต่อเรา', '/contact', 'fa-envelope', 4, 'footer')
ON DUPLICATE KEY UPDATE updated_at = CURRENT_TIMESTAMP;
