// src/router/index.js
import { createRouter, createWebHistory } from 'vue-router';

// 1. Import Layouts
import DefaultLayout from "@/layouts/DefaultLayout.vue";
import LandingLayout from "@/layouts/LandingLayout.vue";

// 2. Import Views (สำคัญ: ต้อง import ชื่อที่ถูกต้อง)
import LandingPageView from "@/views/LandingPageView.vue"; // View สำหรับหน้า Landing Page
import HomeView from "@/views/HomeView.vue";             // View สำหรับหน้า Home หลัก (ที่มี Calousels, News ฯลฯ)

import ContentView from "@/views/ContentView.vue";        // View สำหรับแสดงรายละเอียดข่าว
import NewsCategoryView from "@/views/NewsCategoryView.vue"; // View สำหรับแสดงรายการข่าวตามหมวดหมู่
import NotFoundView from '@/views/NotFoundView.vue';

const routes = [
    // --- Route สำหรับหน้า Landing Page (ใช้ LandingLayout) ---
    {
        path: '/',
        component: LandingLayout, // LandingLayout คือกรอบของหน้า Landing
        children: [
            {
                path: '', // นี่คือ path สำหรับเนื้อหาที่แสดงเมื่อเข้าถึง '/'
                name: 'landing',
                component: LandingPageView, // ชี้ไปที่ View ที่มีเนื้อหาเฉพาะ Landing
            },
        ],
    },

    // --- Route สำหรับหน้า Home และหน้าอื่นๆ ที่ใช้ DefaultLayout ---
    {
        path: '/',
        component: DefaultLayout, // DefaultLayout คือกรอบของหน้า Home หลัก
        children: [
            {
                path: 'home', // HomeView จะถูกโหลดเมื่อเข้าถึง /home
                name: 'home',
                component: HomeView, // HomeView ที่มี Calousels, News, ฯลฯ
            },
            // !!! เพิ่ม Route สำหรับ ContentView !!!
            {
                path: 'news-content/:id', // Path สำหรับรายละเอียดข่าว เช่น /news-content/1, /news-content/2
                name: 'ContentView',
                component: ContentView,
                props: true // ส่งค่า parameter (id) เป็น props ไปยัง component ได้
            },
            // !!! เพิ่ม Route สำหรับ NewsCategoryView !!!
            {
                path: 'news/:category', // Path สำหรับข่าวตามหมวดหมู่ เช่น /news/RTAFNews
                name: 'NewsCategoryView',
                component: NewsCategoryView,
                props: true // ส่งค่า parameter (category) เป็น props ไปยัง component ได้
            },
            // ... ( routes อื่นๆ ที่อาจจะใช้ DefaultLayout )

            // *** เส้นทาง 404 (ต้องอยู่สุดท้ายเสมอ!) ***
            {
                path: '/:pathMatch(.*)*', // นี้คือ catch-all route ที่จะจับ URL ที่ไม่ตรงกับข้างบนทั้งหมด
                name: 'NotFound',
                component: NotFoundView
            }
        ],
    },

];

const router = createRouter({
    history: createWebHistory(import.meta.env.BASE_URL),
    routes,
});

// อย่าลืม export default router; ที่ท้ายไฟล์
export default router;