convert to TS
This commit is contained in:
@@ -1,37 +1,3 @@
|
|||||||
/*import {useState} from 'react';
|
|
||||||
import {EventContext} from "./EventContext";
|
|
||||||
import getAllEvents from "../../utils/events/getAllEvents.js";
|
|
||||||
import createEvent from "../../utils/events/createEvent.js";
|
|
||||||
import deleteEvent from "../../utils/events/deleteEvent.js";
|
|
||||||
|
|
||||||
|
|
||||||
export function EventProvider({ children }) {
|
|
||||||
|
|
||||||
const [events, setEvents] = useState([]);
|
|
||||||
|
|
||||||
const updateEvent = async () => {
|
|
||||||
const result = await getAllEvents();
|
|
||||||
setEvents(result.data.data);
|
|
||||||
}
|
|
||||||
|
|
||||||
const addEvent = async (name, description, start, end) => {
|
|
||||||
await createEvent(name, description, start, end);
|
|
||||||
await updateEvent();
|
|
||||||
}
|
|
||||||
|
|
||||||
const removeEvent = async (eventId) => {
|
|
||||||
const result = await deleteEvent(eventId);
|
|
||||||
await updateEvent();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<EventContext.Provider value={{ events, updateEvent, addEvent, removeEvent }}>
|
|
||||||
{children}
|
|
||||||
</EventContext.Provider>
|
|
||||||
);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
import { useState, ReactNode } from 'react';
|
import { useState, ReactNode } from 'react';
|
||||||
import { EventContext, EventGroup, EventContextType } from "./EventContext";
|
import { EventContext, EventGroup, EventContextType } from "./EventContext";
|
||||||
import getAllEvents from "../../utils/events/getAllEvents";
|
import getAllEvents from "../../utils/events/getAllEvents";
|
||||||
|
|||||||
@@ -3,17 +3,20 @@ import styles from "./AdminPage.module.css";
|
|||||||
import IncompleteEvents from "./components/IncompleteEvent/IncompleteEvent";
|
import IncompleteEvents from "./components/IncompleteEvent/IncompleteEvent";
|
||||||
import PendingMembers from "./components/PendingMembers/PendingMembers";
|
import PendingMembers from "./components/PendingMembers/PendingMembers";
|
||||||
import { AuthContext } from "../../contexts/Auth/AuthContext";
|
import { AuthContext } from "../../contexts/Auth/AuthContext";
|
||||||
|
import user from "../../interfaces/user.interface"
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
import RegisterMember from "./components/RegisterMember/RegisterMember";
|
import RegisterMember from "./components/RegisterMember/RegisterMember";
|
||||||
|
|
||||||
|
|
||||||
function AdminPage() {
|
|
||||||
|
|
||||||
const { user } = useContext(AuthContext);
|
function AdminPage() {
|
||||||
|
const authContext = useContext(AuthContext);
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
if(!user.isAdmin) navigate("/");
|
if (!authContext?.user?.isAdmin) {
|
||||||
|
navigate("/");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<div className={styles.container}>
|
<div className={styles.container}>
|
||||||
<RegisterMember />
|
<RegisterMember />
|
||||||
Reference in New Issue
Block a user