diff --git a/src/pages/Events/EventsPage.jsx b/src/pages/Events/EventsPage.jsx
deleted file mode 100644
index 256e825..0000000
--- a/src/pages/Events/EventsPage.jsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import { useState, useContext } from "react";
-import Event from "./components/Event/Event.jsx";
-import styles from "./EventsPage.module.css";
-import ToolBar from "../../components/ToolBar/ToolBar.jsx";
-import filter from "../../utils/filter.js";
-import { EventContext } from "../../contexts/Events/EventContext.js";
-
-
-function EventsPage(){
-
- const { events } = useContext(EventContext);
-
- const [filters, setFilters] = useState({
- alphabetical: "asc",
- yearOrder: "desc",
- });
-
- return (
-
-
-
- {Array.isArray(events) && events.length > 0 ? (
- filter(events, filters, "event").map((event, index) => (
-
- ))) : (
-
Aucun événement n'existe pour le moment
- )}
-
-
- )
-}
-
-export default EventsPage;
\ No newline at end of file
diff --git a/src/pages/Events/EventsPage.tsx b/src/pages/Events/EventsPage.tsx
new file mode 100644
index 0000000..f21e9b0
--- /dev/null
+++ b/src/pages/Events/EventsPage.tsx
@@ -0,0 +1,41 @@
+import { useState, useContext } from "react";
+import Event from "./components/Event/Event";
+import styles from "./EventsPage.module.css";
+import ToolBar from "../../components/ToolBar/ToolBar";
+import filter from "../../utils/filter";
+import { EventContext, EventGroup, EventContextType } from "../../contexts/Events/EventContext";
+
+interface FilterOptions {
+ alphabetical: "asc" | "desc";
+ yearOrder: "asc" | "desc";
+}
+
+function EventsPage() {
+ const eventContext = useContext(EventContext);
+ if (!eventContext) {
+ throw new Error("EventsPage must be used within an EventContext.Provider");
+ }
+ const { events } = eventContext;
+
+ const [filters, setFilters] = useState({
+ alphabetical: "asc",
+ yearOrder: "desc",
+ });
+
+ return (
+
+
+
+ {Array.isArray(events) && events.length > 0 ? (
+ filter(events, filters, "event").map((event: EventGroup, index: number) => (
+
+ ))
+ ) : (
+
Aucun événement n'existe pour le moment
+ )}
+
+
+ );
+}
+
+export default EventsPage;
\ No newline at end of file