diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index 601f022..e21994a 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -87,11 +87,13 @@ const Index = () => { const [todosActivePage, setTodosActivePage] = useState(0); const [todosCompletedPage, setTodosCompletedPage] = useState(0); const [rssPage, setRssPage] = useState(0); + const [calendarPage, setCalendarPage] = useState(0); const NOTES_PER_PAGE = 5; - const TODOS_PER_PAGE = 10; + const TODOS_PER_PAGE = 15; const RSS_MAX_ARTICLES = 14; - const RSS_PER_PAGE = 7; + const RSS_PER_PAGE = 8; + const CALENDAR_PER_PAGE = 10; // Chatbox states const [chatOpen, setChatOpen] = useState(false); @@ -195,7 +197,7 @@ const Index = () => { const loadCalendarEvents = async () => { try { - const events = await CalendarService.getEvents(10); // Limité à 10 événements + const events = await CalendarService.getEvents(50); // Charger 50 événements pour pagination if (Array.isArray(events)) { setCalendarEvents(events); } @@ -702,6 +704,10 @@ const Index = () => { setRssPage(0); }, [rssArticles.length]); + useEffect(() => { + setCalendarPage(0); + }, [calendarEvents.length]); + // Pagination for todos const activeTodos = todos.filter(t => !t.completed); const completedTodos = todos.filter(t => t.completed); @@ -723,6 +729,13 @@ const Index = () => { (rssPage + 1) * RSS_PER_PAGE ); + // Pagination for Calendar + const totalCalendarPages = Math.ceil(calendarEvents.length / CALENDAR_PER_PAGE); + const paginatedCalendarEvents = calendarEvents.slice( + calendarPage * CALENDAR_PER_PAGE, + (calendarPage + 1) * CALENDAR_PER_PAGE + ); + return (