Merge branch 'frontend' into gruppDM

This commit is contained in:
Davenludd 2024-03-20 11:19:02 +01:00
commit 7ed9398bcb
13 changed files with 149 additions and 38 deletions

View file

@ -0,0 +1,35 @@
import { Dispatch, useEffect } from "react";
import { api } from "../API/API";
/**
* Gets all usernames in the system and puts them in an array
* @param props - A setStateAction for the array you want to put users in
* @returns {void} Nothing
* @example
* const [users, setUsers] = useState<string[]>([]);
* GetAllUsers({ setUsersProp: setUsers });
*/
function GetAllUsers(props: {
setUsersProp: Dispatch<React.SetStateAction<string[]>>;
}): void {
const setUsers: Dispatch<React.SetStateAction<string[]>> = props.setUsersProp;
useEffect(() => {
const fetchUsers = async (): Promise<void> => {
try {
const token = localStorage.getItem("accessToken") ?? "";
const response = await api.getAllUsers(token);
if (response.success) {
setUsers(response.data ?? []);
} else {
console.error("Failed to fetch users:", response.message);
}
} catch (error) {
console.error("Error fetching users:", error);
}
};
void fetchUsers();
}, [setUsers]);
}
export default GetAllUsers;

View file

@ -32,16 +32,11 @@ function LoginCheck(props: {
prevAuth = 1;
return prevAuth;
});
} else if (token !== "" && props.username === "pm") {
} else if (token !== "") {
props.setAuthority((prevAuth) => {
prevAuth = 2;
return prevAuth;
});
} else if (token !== "" && props.username === "user") {
props.setAuthority((prevAuth) => {
prevAuth = 3;
return prevAuth;
});
}
} else {
console.error("Token was undefined");

View file

@ -1,14 +1,6 @@
import { useState } from "react";
import { PublicUser } from "../Types/goTypes";
import UserInfoModal from "./UserInfoModal";
/**
* The props for the UserProps component
*/
interface UserProps {
users: PublicUser[];
}
/**
* A list of users for admin manage users page, that sets an onClick
* function for eact user <li> element, which displays a modul with
@ -20,7 +12,7 @@ interface UserProps {
* return <UserList users={users} />;
*/
export function UserListAdmin(props: UserProps): JSX.Element {
export function UserListAdmin(props: { users: string[] }): JSX.Element {
const [modalVisible, setModalVisible] = useState(false);
const [username, setUsername] = useState("");
@ -46,12 +38,12 @@ export function UserListAdmin(props: UserProps): JSX.Element {
{props.users.map((user) => (
<li
className="pt-5"
key={user.userId}
key={user}
onClick={() => {
handleClick(user.username);
handleClick(user);
}}
>
{user.username}
{user}
</li>
))}
</ul>