--- import { Icon } from "astro-icon/components"; import { Get } from "../pocketbase/Get"; import { Authentication } from "../pocketbase/Authentication"; // Get instances const get = Get.getInstance(); const auth = Authentication.getInstance(); // Interface for Event type interface Event { id: string; event_name: string; event_description: string; start_date: string; location: string; event_code: string; } interface ListResponse { page: number; perPage: number; totalItems: number; totalPages: number; items: T[]; } // Initialize variables let eventResponse: ListResponse = { page: 1, perPage: 5, totalItems: 0, totalPages: 0, items: [], }; let upcomingEvents: Event[] = []; // Fetch events try { if (auth.isAuthenticated()) { eventResponse = await get.getList("events", 1, 5, "", "-start_date"); upcomingEvents = eventResponse.items; } } catch (error) { console.error("Failed to fetch events:", error); } const totalEvents = eventResponse.totalItems; const totalPages = eventResponse.totalPages; const currentPage = eventResponse.page; // Add type declaration for window declare global { interface Window { [key: string]: any; openEditModal: (event: Event) => void; } } ---