// src/stores/app.js
import { defineStore } from 'pinia';

const IMAGE_BASE_URL = '';

export const useAppStore = defineStore('app', {
    state: () => ({
        isTh: true,
        tabs: [ // ตรวจสอบว่า tabs array ใน store ตรงกับ TabNews.vue
            { title: "ข่าวประชาสัมพันธ์หน่วยงาน", title_en: "RTAF News", category: "HumanTechNews" },
            { title: "ข่าวประชาสัมพันธ์ภายใน", title_en: "RTAF Organization News", category: "OrgNews" },
            { title: "ข่าวนวัตกรรม", title_en: "RTAF Service News", category: "InnovationNews" },
            { title: "Press Release", title_en: "RTAF Press Release", category: "GeneralPublic" },
            { title: "ข่าวบริการประชาชน", title_en: "Public Service News", category: "EventActivities" },
        ],
        // *** ข้อมูลสำหรับ Header ***
        headers: {
            header_background: { url: '/images/news_header_bg_b815923058.png' },
            logo: { url: '/images/Enter.png' }, // ใช้รูปโลโก้ตามที่ระบุ
            mainColor: '#0A2647', // สีหลักของ Header/Navbar
            main_menus: [
                { id: 1, main_menu: 'หน้าหลัก', main_menu_en: 'Home', link: '/home', order: 1, active: true, active_en: true, sub_menus: [] },
                {
                    id: 2, main_menu: 'รู้จักหน่วยงาน', main_menu_en: 'About HumanTech', order: 2, active: true, active_en: true,
                    sub_menus: [
                        { id: 21, title_th: 'ประวัติความเป็นมา', title_en: 'HumanTech History', link: '/about/history', order: 1, active: true, active_en: true },
                        { id: 22, title_th: 'วิสัยทัศน์ พันธกิจ', title_en: 'Vision & Mission', link: '/about/vision-mission', order: 2, active: true, active_en: true },
                        { id: 23, title_th: 'คณะผู้บริหารองค์กร', title_en: 'Commander-in-Chief', link: '/about/commander', order: 3, active: true, active_en: true },
                        { id: 24, title_th: 'นโยบายองค์กร', title_en: 'C-in-C Policy', link: '/about/policy', order: 4, active: true, active_en: true },
                        { id: 25, title_th: 'โครงสร้างองค์กร', title_en: 'Organization Structure', link: '/about/organization', order: 5, active: true, active_en: true },
                        { id: 26, title_th: 'ทำเนียบผู้บริหารองค์กร', title_en: 'Commanders List', link: '/about/commanders-list', order: 6, active: true, active_en: true },
                        { id: 27, title_th: 'ผู้บริหารเทคโนโลยีสารสนเทศระดับสูงองค์กร', title_en: 'HumanTech Senior IT Management', link: '/about/it-management', order: 7, active: true, active_en: true },
                    ]
                },
                {
                    id: 3, main_menu: 'ข้อมูลเผยแพร่', main_menu_en: 'Information', order: 3, active: true, active_en: true,
                    sub_menus: [
                        { id: 31, title_th: 'เอกสารเผยแพร่', title_en: 'Publications', link: '/data/publications', order: 1, active: true, active_en: true },
                        { id: 32, title_th: 'วารสารองค์กร', title_en: 'HumanTech Journal', link: '/data/journal', order: 2, active: true, active_en: true },
                        { id: 33, title_th: 'คลังภาพ/สื่อผสม', title_en: 'Gallery/Media', link: '/data/gallery-media', order: 3, active: true, active_en: true },
                        { id: 34, title_th: 'รายงานผลการดำเนินงาน', title_en: 'Performance Report', link: '/data/performance-report', order: 4, active: true, active_en: true },
                        { id: 35, title_th: 'รายงานการเงินหน่วยงาน', title_en: 'HumanTech Financial Report', link: '/data/financial-report', order: 5, active: true, active_en: true },
                        { id: 36, title_th: 'กฎหมายที่เกี่ยวข้อง', title_en: 'Related Laws', link: '/data/laws', order: 6, active: true, active_en: true },
                        { id: 37, title_th: 'การเปิดเผยข้อมูลสาธารณะ', title_en: 'Public Information Disclosure', link: '/data/public-disclosure', order: 7, active: true, active_en: true },
                        { id: 38, title_th: 'ปฏิทินกิจกรรม', title_en: 'Activity Calendar', link: '/data/calendar', order: 8, active: true, active_en: true },
                    ]
                },
                { id: 4, main_menu: 'บริการของเรา', main_menu_en: 'HumanTech Services', link: '/services', order: 5, active: true, active_en: true, sub_menus: [] },
                {
                    id: 5, main_menu: 'การติดต่อ', main_menu_en: 'Contact', order: 6, active: true, active_en: true,
                    sub_menus: [
                        { id: 51, title_th: 'ติดต่อเรา', title_en: 'Contact Us', link: '/contact/us', order: 1, active: true, active_en: true },
                        { id: 52, title_th: 'คำถามยอดฮิต', title_en: 'FAQ', link: '/contact/faq', order: 2, active: true, active_en: true },
                        { id: 53, title_th: 'ร้องทุกข์ร้องเรียน', title_en: 'Complaints', link: '/contact/complaints', order: 3, active: true, active_en: true },
                    ]
                },
            ],

        },

        // *** ข้อมูลสำหรับ Footer ***
        footer_menus: {
            menu: [
                { id: 1, title: 'ติดต่อเรา', title_en: 'Contact Us', link: '/contact', File: null, active: true, active_en: true },
                { id: 2, title: 'แผนผังเว็บไซต์', title_en: 'Sitemap', link: '/sitemap', File: null, active: true, active_en: true },
                // เพิ่มเมนู Footer อื่นๆ
                { id: 3, title: 'เอกสารดาวน์โหลด', title_en: 'Downloads', link: null, File: { url: '/docs/document.pdf' }, active: true, active_en: true },
            ]
        },

        // Mock Data สำหรับ Calousels
        calousels: [
            {
                id: 1, // รูปภาพปกติ, มีลิงก์ภายนอก
                type: 'image', // ระบุประเภทเป็น 'image'
                image: { url: '/uploads/main_banner_1.jpg' }, // URL รูปภาพ
                link: 'https://www.google.com', // ลิงก์ภายนอก
                File: null, // ไม่มีไฟล์ให้ดาวน์โหลด
                video_url: null, // ไม่มีวิดีโอ URL
                active: true,
                active_en: true,
                order: 1,
                startDate: '01/01/2025',
                endDate: '12/31/2025',
            },
            {
                id: 2, // รูปภาพ, มีไฟล์ให้ดาวน์โหลด
                type: 'image',
                image: { url: '/uploads/main_banner_2.jpg' },
                link: null, // ไม่มีลิงก์ภายนอก
                File: { url: '/uploads/document_2.pdf', name: 'document_2.pdf' }, // มีไฟล์ PDF ให้ดาวน์โหลด
                video_url: null,
                active: true,
                active_en: true,
                order: 2,
                startDate: '01/01/2025',
                endDate: '12/31/2025',
            },
            {
                id: 3, // วิดีโอ YouTube
                type: 'video', // ระบุประเภทเป็น 'video'
                image: { url: '/uploads/youtube-thumbnail-3.jpg' }, // Thumbnail สำหรับวิดีโอ (ถ้ามี)
                link: null,
                File: null,
                video_url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ', // ตัวอย่าง YouTube URL (Rick Astley)
                active: true,
                active_en: true,
                order: 3,
                startDate: '01/01/2025',
                endDate: '12/31/2025',
            },
            {
                id: 4, // วิดีโอ Vimeo
                type: 'video',
                image: { url: '/uploads/vimeo-thumbnail-4.jpg' }, // Thumbnail สำหรับวิดีโอ (ถ้ามี)
                link: null,
                File: null,
                video_url: 'https://vimeo.com/76979871', // ตัวอย่าง Vimeo URL
                active: true,
                active_en: true,
                order: 4,
                startDate: '01/01/2025',
                endDate: '12/31/2025',
            },
            {
                id: 5, // รูปภาพปกติ, ไม่มีลิงก์/ไฟล์
                type: 'image',
                image: { url: '/uploads/main_banner_3.jpg' },
                link: null,
                File: null,
                video_url: null,
                active: true,
                active_en: true,
                order: 5,
                startDate: '01/01/2025',
                endDate: '12/31/2025',
            },
            {
                id: 6, // รูปภาพ, ไม่มีลิงก์/ไฟล์, และ active เป็น false (ไม่ควรแสดง)
                type: 'image',
                image: { url: '/uploads/main_banner_4.jpg' },
                link: null,
                File: null,
                video_url: null,
                active: false, // จะไม่แสดงในภาษาไทย
                active_en: true,
                order: 6,
                startDate: '01/01/2025',
                endDate: '12/31/2025',
            },
            {
                id: 7, // วิดีโอ YouTube ที่ไม่ Active ในภาษาไทย
                type: 'video',
                image: { url: '/uploads/youtube-thumbnail-7.jpg' },
                link: null,
                File: null,
                video_url: 'https://www.youtube.com/embed/n0NcsaOxMhM?si=6guI-XduDl87qMVC',
                active: false, // จะไม่แสดงในภาษาไทย
                active_en: true,
                order: 7,
                startDate: '01/01/2025',
                endDate: '12/31/2025',
            },
        ],
        // Mock Data สำหรับ News
        mockNews: [
            {
                id: 1,
                title_th: 'โครงการบินเพื่อชีวิต: กองทัพอากาศช่วยเหลือผู้ป่วยฉุกเฉิน',
                title_en: 'Flying for Life: RTAF Assists Emergency Patients',
                detail_th: 'กองทัพอากาศได้ปฏิบัติภารกิจบินลำเลียงผู้ป่วยฉุกเฉินจากจังหวัดชายแดนสู่โรงพยาบาลกลางอย่างเร่งด่วน ภารกิจนี้ไม่เพียงแต่ช่วยชีวิต แต่ยังแสดงถึงบทบาทสำคัญของกองทัพในงานด้านมนุษยธรรม',
                detail_en: 'The Royal Thai Air Force conducted an urgent airlift mission, transporting critical patients from border provinces to central hospitals, showcasing the humanitarian role of the military.',
                image: { url: '/uploads/airlift_patient.jpg' },
                release_date: '07/04/2025',
                active: true,
                active_en: true,
                feature: true,
                type: 'HumanTechNews'
            },
            {
                id: 2, title_th: 'ข่าวทั่วไป 1 (ไทย)', title_en: 'General News 1 (Eng)',
                detail_th: 'รายละเอียดข่าวทั่วไป 1 ภาษาไทย...', detail_en: 'Detail of general news 1 in English...',
                image: { url: '/uploads/news_2.jpg' }, release_date: '02/01/2025', active: true, active_en: true, feature: false, type: 'HumanTechNews'
            },
            {
                id: 3, title_th: 'ข่าวเด่น 2 (ไทย)', title_en: 'Hot News 2 (Eng)',
                detail_th: 'รายละเอียดข่าวเด่น 2 ภาษาไทย...', detail_en: 'Detail of hot news 2 in English...',
                image: { url: '/uploads/news_3.jpg' }, release_date: '03/01/2025', active: true, active_en: true, feature: false, type: 'OrgNews'
            },
            {
                id: 4, title_th: 'ข่าวทั่วไป 2 (ไทย)', title_en: 'General News 2 (Eng)',
                detail_th: 'รายละเอียดข่าวทั่วไป 2 ภาษาไทย...', detail_en: 'Detail of general news 2 in English...',
                image: { url: '/uploads/news_4.jpg' }, release_date: '04/01/2025', active: true, active_en: true, feature: false, type: 'OrgNews'
            },
            {
                id: 5, title_th: 'ข่าวประชาสัมพันธ์หน่วยงาน', title_en: 'RTAF News Sample',
                detail_th: 'รายละเอียดข่าวประชาสัมพันธ์ ภาษาไทยที่มีความยาวมากเกินไปเพื่อทดสอบการตัดคำ: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
                detail_en: 'English detail of RTAF News Sample with excessive length to test truncation: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
                image: { url: '/uploads/news_5.jpg' }, release_date: '05/01/2025', active: true, active_en: true, feature: false, type: 'HumanTechNews'
            },
            {
                id: 6, title_th: 'ข่าวประชาสัมพันธ์หน่วยงานภายใน', title_en: 'RTAF Organization News Sample',
                detail_th: 'รายละเอียดข่าวประชาสัมพันธ์หน่วยงานภายใน ภาษาไทย...', detail_en: 'Detail of RTAF Organization News Sample...',
                image: { url: '/uploads/news_6.jpg' }, release_date: '06/01/2025', active: true, active_en: true, feature: false, type: 'OrgNews'
            },
            {
                id: 7, title_th: 'ข่าวบริการกำลังพล ทอ.', title_en: 'RTAF Service News Sample',
                detail_th: 'รายละเอียดข่าวบริการกำลังพล ทอ. ภาษาไทย...', detail_en: 'Detail of RTAF Service News Sample...',
                image: { url: '/uploads/news_7.jpg' }, release_date: '07/01/2025', active: true, active_en: true, feature: false, type: 'InnovationNews'
            },
            {
                id: 8, title_th: 'Press Release/โฆษก ทอ.', title_en: 'RTAF Press Release Sample',
                detail_th: 'รายละเอียด Press Release/โฆษก ทอ. ภาษาไทย...', detail_en: 'Detail of RTAF Press Release Sample...',
                image: { url: '/uploads/news_8.jpg' }, release_date: '08/01/2025', active: true, active_en: true, feature: false, type: 'GeneralPublic'
            },
            {
                id: 9, title_th: 'ข่าวบริการประชาชน', title_en: 'Public Service News Sample',
                detail_th: 'รายละเอียดข่าวบริการประชาชน ภาษาไทย...', detail_en: 'Detail of Public Service News Sample...',
                image: { url: '/uploads/news_9.jpg' }, release_date: '09/01/2025', active: true, active_en: true, feature: false, type: 'EventActivities'
            },
            {
                id: 10, title_th: 'ข่าวทั่วไป 3 (ไทย)', title_en: 'General News 3 (Eng)',
                detail_th: 'รายละเอียดข่าวทั่วไป 3 ภาษาไทย...', detail_en: 'Detail of general news 3 in English...',
                image: { url: '/uploads/news_10.jpg' }, release_date: '10/01/2025', active: true, active_en: true, feature: false, type: 'HumanTechNews'
            },
        ],
        // Mock Data TabNews
        mockNewsData : [
            {
                id: 1,
                title_th: "ข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 1", // RTAF News
                title_en: "RTAF News Item 1",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 1 เพื่อทดสอบการแสดงผลข้อมูล. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF News Item 1 for testing purposes. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_1.jpg" },
                release_date: "07/01/2025",
                active: true,
                active_en: true,
                type: "HumanTechNews", // <-- ให้ตรงกับ category ใน TabNews.vue
                feature: false,
            },
            {
                id: 2,
                title_th: "ข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 2",
                title_en: "RTAF News Item 2",
                detail_th: "ข่าวนี้มีรายละเอียดที่ยาวมากจริงๆ เพื่อทดสอบการ truncate detail. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
                detail_en: "This news has very long details to test detail truncation. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
                image: { url: "/uploads/news_2.jpg" },
                release_date: "07/03/2025",
                active: true,
                active_en: true,
                type: "HumanTechNews", // <-- ให้ตรงกับ category ใน TabNews.vue
                feature: false,
            },
            {
                id: 3,
                title_th: "ข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 1", // RTAF Organization News
                title_en: "RTAF Org News Item 1",
                detail_th: "รายละเอียดข่าว นขต.ทอ. ชิ้นที่ 1 เพื่อทดสอบการแสดงผลข้อมูล. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF Org News Item 1 for testing purposes. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_3.jpg" },
                release_date: "06/15/2025",
                active: true,
                active_en: true,
                type: "OrgNews", // <-- ให้ตรงกับ category ใน TabNews.vue
                feature: false,
            },
            {
                id: 4,
                title_th: "ข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 2",
                title_en: "RTAF Org News Item 2",
                detail_th: "รายละเอียดข่าว นขต.ทอ. ชิ้นที่ 2 เพื่อทดสอบการแสดงผลข้อมูล. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF Org News Item 2 for testing purposes. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_4.jpg" },
                release_date: "07/02/2025",
                active: true,
                active_en: true,
                type: "OrgNews", // <-- ให้ตรงกับ category ใน TabNews.vue
                feature: false,
            },
            {
                id: 5,
                title_th: "ข่าวนวัตกรรม ชิ้นที่ 1", // RTAF Service News (หรือชื่อที่เหมาะสมกับ InnovationNews)
                title_en: "RTAF Service News Item 1",
                detail_th: "รายละเอียดข่าวนวัตกรรม ชิ้นที่ 1 เพื่อทดสอบการแสดงผลข้อมูล. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF Service News Item 1 for testing purposes. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_5.jpg" },
                release_date: "07/04/2025",
                active: true,
                active_en: true,
                type: "InnovationNews", // <-- ให้ตรงกับ category ใน TabNews.vue
                feature: false,
            },
            {
                id: 6,
                title_th: "ข่าวนวัตกรรม ชิ้นที่ 2",
                title_en: "RTAF Service News Item 2",
                detail_th: "รายละเอียดข่าวนวัตกรรม ชิ้นที่ 2 เพื่อทดสอบการแสดงผลข้อมูล. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF Service News Item 2 for testing purposes. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_5.jpg" },
                release_date: "07/05/2025",
                active: true,
                active_en: true,
                type: "InnovationNews", // <-- ให้ตรงกับ category ใน TabNews.vue
                feature: false,
            },
            {
                id: 7,
                title_th: "Press Release ชิ้นที่ 1", // Press Release
                title_en: "RTAF Press Release Item 1",
                detail_th: "รายละเอียด Press Release ชิ้นที่ 1 เพื่อทดสอบการแสดงผลข้อมูล. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF Press Release Item 1 for testing purposes. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_4.jpg" },
                release_date: "06/20/2025",
                active: true,
                active_en: true,
                type: "GeneralPublic", // <-- ให้ตรงกับ category ใน TabNews.vue
                feature: false,
            },
            {
                id: 8,
                title_th: "ข่าวบริการประชาชน ชิ้นที่ 1", // Public Service News
                title_en: "Public Service News Item 1",
                detail_th: "รายละเอียดข่าวบริการประชาชน ชิ้นที่ 1 เพื่อทดสอบการแสดงผลข้อมูล. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for Public Service News Item 1 for testing purposes. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_3.jpg" },
                release_date: "07/06/2025",
                active: true,
                active_en: true,
                type: "EventActivities", // <-- ให้ตรงกับ category ใน TabNews.vue
                feature: false,
            },
            // เพิ่มเติมเพื่อให้มีข้อมูลเพียงพอสำหรับแต่ละแท็บ (อย่างน้อย 6 ชิ้นในแต่ละประเภท เพื่อให้ปุ่ม Read More แสดง)
            {
                id: 9,
                title_th: "ข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 3",
                title_en: "RTAF News Item 3",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 3. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF News Item 3. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_2.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "HumanTechNews",
                feature: false,
            },
            {
                id: 10,
                title_th: "ข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 4",
                title_en: "RTAF News Item 4",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 4. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF News Item 4. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_1.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "HumanTechNews",
                feature: false,
            },
            {
                id: 11,
                title_th: "ข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 5",
                title_en: "RTAF News Item 5",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 5. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF News Item 5. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_1.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "HumanTechNews",
                feature: false,
            },
            {
                id: 12,
                title_th: "ข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 6",
                title_en: "RTAF News Item 6",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 6. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF News Item 6. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_2.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "HumanTechNews",
                feature: false,
            },
            {
                id: 13,
                title_th: "ข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 7 (สำหรับปุ่ม More)",
                title_en: "RTAF News Item 7 (for More button)",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์หน่วยงาน ชิ้นที่ 7. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                detail_en: "Details for RTAF News Item 7. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                image: { url: "/uploads/news_3.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "HumanTechNews",
                feature: false,
            },
            // เพิ่มข้อมูลสำหรับแต่ละ category ใน tabs ของคุณให้มีจำนวนเพียงพอที่จะแสดงผล
            // ตัวอย่างเช่น สำหรับ OrgNews
            {
                id: 14,
                title_th: "ข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 3",
                title_en: "RTAF Org News Item 3",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 3.",
                detail_en: "Details for RTAF Org News Item 3.",
                image: { url: "/uploads/news_4.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "OrgNews",
                feature: false,
            },
            {
                id: 15,
                title_th: "ข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 4",
                title_en: "RTAF Org News Item 4",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 4.",
                detail_en: "Details for RTAF Org News Item 4.",
                image: { url: "/uploads/news_5.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "OrgNews",
                feature: false,
            },
            {
                id: 16,
                title_th: "ข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 5",
                title_en: "RTAF Org News Item 5",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 5.",
                detail_en: "Details for RTAF Org News Item 5.",
                image: { url: "/uploads/news_6.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "OrgNews",
                feature: false,
            },
            {
                id: 17,
                title_th: "ข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 6",
                title_en: "RTAF Org News Item 6",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 6.",
                detail_en: "Details for RTAF Org News Item 6.",
                image: { url: "/uploads/news_1.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "OrgNews",
                feature: false,
            },
            {
                id: 18,
                title_th: "ข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 7 (สำหรับปุ่ม More)",
                title_en: "RTAF Org News Item 7 (for More button)",
                detail_th: "รายละเอียดข่าวประชาสัมพันธ์ภายใน ชิ้นที่ 7.",
                detail_en: "Details for RTAF Org News Item 7.",
                image: { url: "/uploads/news_2.jpg" },
                release_date: "07/07/2025",
                active: true,
                active_en: true,
                type: "OrgNews",
                feature: false,
            },
            // เพิ่มให้ครบทุก category เพื่อทดสอบ
        ],

        mockBottomBanners: [
            { id: 1, banner_type: 'calousel', active: true, active_en: true, image: { url: '/uploads/slider_banner_1.jpg' }, link: 'www.google.co.th' },
        ],
        mockFixedBanners: [
            { id: 1, banner_type: 'fixed', active: true, active_en: true, image: { url: '/uploads/news_1.jpg' }, link: '/some-internal-page' },
            { id: 2, banner_type: 'fixed', active: true, active_en: true, image: { url: '/uploads/news_2.jpg' }, link: '/weblink-4' },
            { id: 3, banner_type: 'fixed', active: true, active_en: true, image: { url: '/uploads/news_3.jpg' }, link: '/weblink-4' },
            { id: 4, banner_type: 'fixed', active: true, active_en: true, image: { url: '/uploads/news_4.jpg' }, link: '/weblink-4' },
            { id: 5, banner_type: 'fixed', active: true, active_en: true, image: { url: '/uploads/news_5.jpg' }, link: '/weblink-4' },
            { id: 6, banner_type: 'fixed', active: true, active_en: true, image: { url: '/uploads/news_6.jpg' }, link: '/weblink-4' },
            { id: 7, banner_type: 'fixed', active: true, active_en: true, image: { url: '/uploads/news_1.jpg' }, link: '/weblink-4' },
        ],
        mockSliderBanners: [
            { id: 1, active: true, active_en: true, image: { url: '/uploads/slider_banner_1.jpg' }, link: '/weblink-4' },
            { id: 2, active: true, active_en: true, image: { url: '/uploads/slider_banner_2.jpg' }, link: '/weblink-4' },
            { id: 3, active: true, active_en: true, image: { url: '/uploads/slider_banner_3.jpg' }, link: '/weblink-4' },
            { id: 4, active: true, active_en: true, image: { url: '/uploads/slider_banner_4.jpg' }, link: '/weblink-4' },
            { id: 5, active: true, active_en: true, image: { url: '/uploads/slider_banner_5.jpg' }, link: '/weblink-4' },
        ],
        mockBottomLinks: [
            { id: 1, active: true, active_en: true, image: [{ url: '/uploads/weblink-1.png' }], link: '/weblink-4', title: 'Print Magazine', title_en: 'Link 1' },
            { id: 2, active: true, active_en: true, image: [{ url: '/uploads/weblink-2.png' }], link: '/weblink-4', title: 'Rimberio', title_en: 'Link 2' },
            { id: 3, active: true, active_en: true, image: [{ url: '/uploads/weblink-3.png' }], link: '/weblink-4', title: 'Art Academy', title_en: 'Link 3' },
            { id: 4, active: true, active_en: true, image: [{ url: '/uploads/weblink-4.png' }], link: '/weblink-4', title: 'THE CREATIVE AGENCY', title_en: 'Link 4' },
            { id: 5, active: true, active_en: true, image: [{ url: '/uploads/weblink-5.png' }], link: '/weblink-5', title: 'Day Tech', title_en: 'Link 5' },
            { id: 6, active: true, active_en: true, image: [{ url: '/uploads/weblink-6.png' }], link: '/weblink-6', title: 'Artificial Intelligence', title_en: 'Link 6' },
        ],

    }),
    getters: {
        // Getter สำหรับดึง Image Base URL
        // หาก IMAGE_BASE_URL เป็น '', การรวมกับ /uploads/... จะได้ /uploads/... ซึ่ง Vite จะ serve จาก public folder
        imageBaseUrl: (state) => IMAGE_BASE_URL,
        // Getter สำหรับสถานะภาษา
        checkLang: (state) => ({
            isTh: state.isTh,
            isEn: !state.isTh,
        }),
        // Getter สำหรับ Main Banner โดยเฉพาะ
        mainBannerData: (state) => {
            // ค้นหา Main Banner จาก calousels โดย id
            return state.calousels.find(item => item.id === 1);
        },
        headerData: (state) => state.headers,
        footerData: (state) => state.footer_menus,
        allMainMenus: (state) => state.headers.main_menus,
        allFooterMenus: (state) => state.footer_menus.menu,
    },
    actions: {
        // Action สำหรับเปลี่ยนภาษา
        toggleLanguage() {
            this.isTh = !this.isTh;
        },

        // *** Action ใหม่: สำหรับ TabNews โดยเฉพาะ (return { data, total }) ***
        async fetchTabNews(category, limit = 6) {
            await new Promise(resolve => setTimeout(resolve, 100)); // Simulate API delay

            const isTh = this.isTh;
            // const currentDate = new Date(); // ไม่ต้องใช้แล้ว
            // currentDate.setHours(0, 0, 0, 0); // ไม่ต้องใช้แล้ว

            // ขั้นตอนที่ 1: กรองข้อมูลทั้งหมดที่เข้าเงื่อนไข (active, type) ก่อนที่จะ apply limit
            const allMatchingNews = this.mockNewsData.filter(item => {
                const isActive = isTh ? item.active : item.active_en;
                const isCorrectType = item.type === category;

                // ลบส่วนการตรวจสอบวันที่ออกไป
                // const releaseDateParts = item.release_date ? item.release_date.split('/') : null;
                // const itemReleaseDate = releaseDateParts ? new Date(parseInt(releaseDateParts[2]), parseInt(releaseDateParts[0]) - 1, parseInt(releaseDateParts[1])) : new Date(0);
                // itemReleaseDate.setHours(0, 0, 0, 0);

                // return isActive && isCorrectType && (itemReleaseDate <= currentDate); // เงื่อนไขเก่า
                return isActive && isCorrectType; // เงื่อนไขใหม่: ไม่สนใจวันที่
            });

            // เก็บจำนวนรวมทั้งหมดก่อนการจำกัด (total count)
            const totalCount = allMatchingNews.length;

            // ขั้นตอนที่ 2: เรียงลำดับข้อมูลที่กรองแล้ว (ยังคงเรียงตามวันที่จากใหม่ไปเก่า)
            allMatchingNews.sort((a, b) => {
                const dateA = a.release_date ? new Date(parseInt(a.release_date.split('/')[2]), parseInt(a.release_date.split('/')[0]) - 1, parseInt(a.release_date.split('/')[1])) : new Date(0);
                dateA.setHours(0, 0, 0, 0);
                const dateB = b.release_date ? new Date(parseInt(b.release_date.split('/')[2]), parseInt(b.release_date.split('/')[0]) - 1, parseInt(b.release_date.split('/')[1])) : new Date(0);
                dateB.setHours(0, 0, 0, 0);
                return dateB.getTime() - dateA.getTime();
            });

            // ขั้นตอนที่ 3: จำกัดจำนวนตาม _limit สำหรับข้อมูลที่จะแสดงผล
            const data = allMatchingNews.slice(0, limit);

            return { data: data, total: totalCount }; // ส่ง Object กลับไปสำหรับ TabNews
        },

        // *** Action เดิม: find (ยังคง return เป็น Array เหมือนเดิมสำหรับ endpoint อื่นๆ) ***
        async find(endpoint, queryParams = '') {
            await new Promise(resolve => setTimeout(resolve, 100));

            let data = [];
            const isTh = this.isTh;

            switch (endpoint) {
                case 'calousels':
                    data = this.calousels.filter(item => {
                        const isActive = isTh ? item.active : item.active_en;

                        // --- Logic การกรองตาม startDate และ endDate ---
                        let isWithinDateRange = true;
                        if (item.startDate && item.endDate) {
                            try {
                                const today = new Date();
                                // แปลงวันที่จาก MM/DD/YYYY เป็น Date Object
                                // ต้องแน่ใจว่า item.startDate/endDate เป็น MM/DD/YYYY
                                const [startMonth, startDay, startYear] = item.startDate.split('/');
                                const [endMonth, endDay, endYear] = item.endDate.split('/');

                                const startDate = new Date(parseInt(startYear), parseInt(startMonth) - 1, parseInt(startDay));
                                const endDate = new Date(parseInt(endYear), parseInt(endMonth) - 1, parseInt(endDay));

                                // เซ็ตเวลาของวันนี้ให้เป็น 00:00:00 เพื่อเปรียบเทียบกับ startDate/endDate ที่มักจะไม่มีเวลา
                                today.setHours(0, 0, 0, 0);

                                isWithinDateRange = today >= startDate && today <= endDate;
                            } catch (e) {
                                console.error("Error parsing date for calousel item:", item, e);
                                isWithinDateRange = false; // ถ้า parse ไม่ได้ ถือว่าไม่อยู่ในช่วง
                            }
                        }
                        // --- จบ Logic การกรองตาม startDate และ endDate ---

                        return isActive && isWithinDateRange && item.order !== undefined; // ตรวจสอบ item.order เพื่อความปลอดภัย
                    }).sort((a, b) => a.order - b.order);
                    break;
                case 'bottom-banners':
                    data = isTh ? this.mockBottomBanners.filter(b => b.active) : this.mockBottomBanners.filter(b => b.active_en);
                    break;
                case 'slider-banners':
                    data = isTh ? this.mockSliderBanners.filter(b => b.active) : this.mockSliderBanners.filter(b => b.active_en);
                    break;
                case 'bottom-links':
                    data = isTh ? this.mockBottomLinks.filter(l => l.active) : this.mockBottomLinks.filter(l => l.active_en);
                    break;
                case 'contents':
                case 'news':
                    data = this.mockNews.filter(item => {
                        const isActive = isTh ? item.active : item.active_en;
                        let match = isActive;
                        if (queryParams.includes('feature=true')) {
                            match = match && item.feature;
                        } else if (queryParams.includes('feature=false')) {
                            match = match && !item.feature;
                        }
                        return match;
                    });

                    data.sort((a, b) => {
                        const dateA = new Date(a.release_date.split('/').reverse().join('-'));
                        const dateB = new Date(b.release_date.split('/').reverse().join('-'));
                        return dateA - dateB;
                    });

                    const limitMatch = queryParams.match(/_limit=(\d+)/);
                    if (limitMatch) {
                        data = data.slice(0, parseInt(limitMatch[1]));
                    }
                    break;
                case 'tabNews':
                    data = this.mockNewsData.filter(item => {
                        const isActive = isTh ? item.active : item.active_en;
                        let match = isActive;
                        if (queryParams.includes('feature=true')) {
                            match = match && item.feature;
                        } else if (queryParams.includes('feature=false')) {
                            match = match && !item.feature;
                        }
                        return match;
                    });

                    data.sort((a, b) => {
                        const dateA = new Date(a.release_date.split('/').reverse().join('-'));
                        const dateB = new Date(b.release_date.split('/').reverse().join('-'));
                        return dateA - dateB;
                    });

                    const limit = queryParams.match(/_limit=(\d+)/);
                    if (limit) {
                        data = data.slice(0, parseInt(limit[1]));
                    }
                    break;
                default:
                    console.warn(`Endpoint ${endpoint} not mocked or handled by specific action.`);
                    data = [];
            }
            return data; // สำหรับ find action ทั่วไป จะยังคง return เป็น Array
        },

        // ในอนาคตถ้าต้องการดึงข้อมูล Header/Footer จาก API
        async fetchHeaderFooterData() {
            // ตัวอย่าง: const response = await axios.get('/api/header-footer');
            // this.headers = response.data.headers;
            // this.footer_menus = response.data.footer;
        },
    },
});