// Import ======================================================================================================================== import { textareaHeightControl } from '@/js/components/input.js'; import App from '@/layouts/aia/app-layout'; import Button from '@/components/button'; import PageMeta from '@/components/aia/page-meta'; import EventCard from '@/components/aia/event-card'; import SearchBar from '@/components/aia/search-bar'; import { useState } from 'react'; import { usePage } from '@inertiajs/react'; import axios from 'axios'; import { useEffect } from 'react'; import { getNewsData } from '@/lib/utils'; // type PageProps = { // events: any; // } export default function News( ) { const [events, setEvents] = useState([]); const eventCards = events.map((event: any) => { return { eventCardTitle: event.acf.title, eventCardType: event.acf.type, eventCardDate: event.acf.date, eventCardLocation: event.acf.address, eventCardImage: event.acf.imageUrl, eventCardLink: route('event-detail', { id: event.id }), eventCardLinkText: "for more information", }; }); const [newsFilterType, setNewsFilterType] = useState('All'); const [searchData, setSearchData] = useState(''); const [page, setPage] = useState(1); // async function getNewsData(searchData: string = '', page: number = 1): Promise { // const params = { // search: searchData, // // type: newsFilterType.toLowerCase(), // per_page: 1, // page: page, // }; // console.log('Fetching news data with params:', params); // try { // const response = await axios.get('/api/news', { // params: params, // }); // // console.log('Response data:', response.data); // return response.data.events; // ✅ 正確 return // } catch (error) { // // console.error('Error fetching news data:', error); // return []; // 發生錯誤回傳空陣列,避免程式中斷 // } // } // async function initialize() { // const data = await getNewsData(); // setEvents([...data]); // 將獲取到的數據添加到 events 陣列中 // } async function loadMore() { const data = await getNewsData(searchData, page); setEvents(prevEvents => [...prevEvents, ...data]); } useEffect(() => { // initialize(); setPage(1); // 重置頁面為1 (async () => setEvents(await getNewsData(searchData)))(); }, [searchData]); useEffect(() => { if (page > 1) { loadMore(); } else { // initialize(); // alert(searchData); (async () => setEvents(await getNewsData(searchData)))(); } }, [page]); // const eventCards = [ // { // eventCardTitle: "Title AI EXPO Taiwan 2025", // eventCardType: "Type", // eventCardDate: "26 Mar 2025", // eventCardLocation: "Taiepi", // eventCardImage: "resources/images/img-event.png", // eventCardLink: "javascript:;", // eventCardLinkText: "for more information", // }, // { // eventCardTitle: "Title AI EXPO Taiwan 2025", // eventCardType: "Type", // eventCardDate: "26 Mar 2025", // eventCardLocation: "Taiepi", // eventCardImage: "resources/images/img-event.png", // eventCardLink: "javascript:;", // eventCardLinkText: "for more information", // }, // { // eventCardTitle: "Title AI EXPO Taiwan 2025", // eventCardType: "Type", // eventCardDate: "26 Mar 2025", // eventCardLocation: "Taiepi", // eventCardImage: "resources/images/img-event.png", // eventCardLink: "javascript:;", // eventCardLinkText: "for more information", // }, // { // eventCardTitle: "Title AI EXPO Taiwan 2025", // eventCardType: "Type", // eventCardDate: "26 Mar 2025", // eventCardLocation: "Taiepi", // eventCardImage: "resources/images/img-event.png", // eventCardLink: "javascript:;", // eventCardLinkText: "for more information", // }, // { // eventCardTitle: "Title AI EXPO Taiwan 2025", // eventCardType: "Type", // eventCardDate: "26 Mar 2025", // eventCardLocation: "Taiepi", // eventCardImage: "resources/images/img-event.png", // eventCardLink: "javascript:;", // eventCardLinkText: "for more information", // }, // { // eventCardTitle: "Title AI EXPO Taiwan 2025", // eventCardType: "Type", // eventCardDate: "26 Mar 2025", // eventCardLocation: "Taiepi", // eventCardImage: "resources/images/img-event.png", // eventCardLink: "javascript:;", // eventCardLinkText: "for more information", // }, // { // eventCardTitle: "Title AI EXPO Taiwan 2025", // eventCardType: "Type", // eventCardDate: "26 Mar 2025", // eventCardLocation: "Taiepi", // eventCardImage: "resources/images/img-event.png", // eventCardLink: "javascript:;", // eventCardLinkText: "for more information", // }, // { // eventCardTitle: "Title AI EXPO Taiwan 2025", // eventCardType: "Type", // eventCardDate: "26 Mar 2025", // eventCardLocation: "Taiepi", // eventCardImage: "resources/images/img-event.png", // eventCardLink: "javascript:;", // eventCardLinkText: "for more information", // }, // ]; return ( } tabs={[ { name: 'All', href: '#', }, { name: 'News', href: '#' }, { name: 'Event', href: '#' }, ]} /> } mainClass='pageContent' > {/* {newsFilterType} */} < div className='container' > {searchData}
{eventCards .filter(card => newsFilterType === 'All' || card.eventCardType.toLowerCase() === newsFilterType.toLowerCase()) .map((card: any, index: number) => ( ))}
); }