T'JAMPENS QUENTIN p2406187 committed 2025-12-10 12:17:56 +01:00
commit 7a532492ea
14 files changed
+177 -81

No files matched your search

+3 -2
View File
@@ -3,12 +3,13 @@ import Event from "../../components/Event/Event.jsx";
import styles from "./EventsPage.module.css";
import ToolBar from "../../components/ToolBar/ToolBar.jsx";
import getAllEvents from "../../utils/event/getAllEvents.js";
import filter from "../../utils/filter.js";
function EventsPage(){
const [filters, setFilters] = useState({
alphabetical: "asc",
yearOrder: "asc",
yearOrder: "desc",
});
@@ -28,7 +29,7 @@ function EventsPage(){
<div className={styles.eventsContainer}>
<ToolBar setFilters={setFilters} filters={filters}/>
<div className={styles.eventsList}>
{events.map((event, index) => (
{filter(events, filters, "event").map((event, index) => (
<Event key={index} event={event} />
))}
</div>
+3 -12
View File
@@ -1,33 +1,24 @@
import React, {useEffect, useState} from "react";
import React, {useState} from "react";
import styles from "./VolunteersPage.module.css";
import getUserById from "../../utils/users/getUserById.js";
import formatDate from "../../utils/date/formatDate.js";
import { useNavigate } from "react-router";
import Button from "../../components/ui/button/button.jsx";
export default function VolunteerCard({ id }) {
export default function VolunteerCard({ user }) {
const [isExpanded, setIsExpanded] = useState(false);
const [user, setUser] = useState({});
const toggleExpand = () => {
setIsExpanded(!isExpanded);
};
useEffect(() => {
(async () => {
const data = await getUserById(id);
setUser(data);
}) ()
}, []);
const navigate = useNavigate();
return (
<div className={`${styles.profileboard} glassCard`}>
<div className={styles.header}>
<h2>{user?.name}</h2>
<h2>{user?.name} {user?.lastname}</h2>
<Button
variant={"transparent"}
onClick={toggleExpand}
+17 -5
View File
@@ -2,22 +2,34 @@ import { useState, useEffect } from "react";
import styles from "./VolunteersPage.module.css";
import VolunteerCard from "./VolunteerCard.jsx";
import getAllUser from "../../utils/users/getAllUsers.js";
import ToolBar from "../../components/ToolBar/ToolBar.jsx";
import filter from "../../utils/filter.js";
import getUserById from "../../utils/users/getUserById.js";
function VolunteerPage() {
const [filters, setFilters] = useState({
alphabetical: "asc",
yearOrder: "desc",
});
const [users, setUsers] = useState([]);
useEffect(() => {
(async () => {
const data = await getAllUser();
setUsers(data);
}) ()
const ids = await getAllUser();
const usersData = await Promise.all(ids.map(id => getUserById(id)));
setUsers(usersData);
})()
}, [])
return (
<div className={styles.container}>
{users.map((user, index) => <VolunteerCard key={index} id={user} /> )}
<ToolBar setFilters={setFilters} filters={filters}/>
<div className={styles.usersList}>
{filter(users, filters, "user").map((user, index) => (
<VolunteerCard key={index} user={user} />
))}
</div>
</div>
);
}
+10 -8
View File
@@ -1,18 +1,22 @@
.container {
width: 100%;
padding: 10px;
margin-top: 50px;
box-sizing: border-box;
position: relative;
}
.profileboard {
width: 100%;
padding: 15px;
margin-top: 3%;
width: 80%;
display: flex;
flex-direction: column;
gap: 10px;
box-sizing: border-box;
margin: 1rem 0;
padding: 1rem 0.5rem;
}
.usersList{
display: flex;
flex-direction: column;
align-items: center;
}
.header {
@@ -101,8 +105,6 @@
@media screen and (min-width: 1024px) {
.container {
max-width: 1200px;
margin: 50px auto;
padding: 20px;
}