Newer
Older
import React, { FC, useEffect, useState } from 'react';
import { getRoles } from 'api/getRoles';
import { setRole } from 'api/setRole';
import { useHistory } from 'react-router-dom';
import { AuthRoutes } from 'api/routes';
* Page that let's users decide role between available roles.
* This is intended to use when a user has more than one role.
* @returns ChoseRole component.
*/
export const ChoseRole: FC = () => {
const history = useHistory();
const [userRoles, setUserRoles] = useState<string[]>(['']);
const choseAndForward = (role: string): void => {
// Set role in the server.
setRole(role);
// Push to homepage.
history.push(`${AuthRoutes.dashboard}${AuthRoutes.home}`);
};
getRoles().then((fetchedRoles) => setUserRoles(fetchedRoles));
}, []);
{userRoles ? (
userRoles.map((role) => (
<Button
variant="outlined"
color="default"
key={role}
onClick={() => choseAndForward(role)}
>
{role}
</Button>
))
) : (
<h1>No roles were returned.</h1>
)}