merge fix

This commit is contained in:
Cristhian Zanforlin Lousa 2023-08-25 17:10:54 -03:00
commit 1ed89cbbad
6 changed files with 28 additions and 26 deletions

View file

@ -141,7 +141,7 @@ export default function App() {
}; };
//this function is to get the user logged in when the page is refreshed //this function is to get the user logged in when the page is refreshed
const { setUserData, getAuthentication, login, setAutoLogin, logout } = const { setUserData, getAuthentication, login, setAutoLogin, logout, setIsAdmin } =
useContext(AuthContext); useContext(AuthContext);
useEffect(() => { useEffect(() => {
@ -161,6 +161,8 @@ export default function App() {
.then((user) => { .then((user) => {
setUserData(user); setUserData(user);
setLoading(false); setLoading(false);
const isSuperUser = user.is_superuser;
setIsAdmin(isSuperUser);
}) })
.catch((error) => {}); .catch((error) => {});
} }

View file

@ -1,4 +1,4 @@
import { useContext, useEffect, useState } from "react"; import { useContext } from "react";
import { FaDiscord, FaGithub, FaTwitter } from "react-icons/fa"; import { FaDiscord, FaGithub, FaTwitter } from "react-icons/fa";
import { Link, useLocation, useNavigate } from "react-router-dom"; import { Link, useLocation, useNavigate } from "react-router-dom";
import AlertDropdown from "../../alerts/alertDropDown"; import AlertDropdown from "../../alerts/alertDropDown";
@ -7,7 +7,6 @@ import { alertContext } from "../../contexts/alertContext";
import { AuthContext } from "../../contexts/authContext"; import { AuthContext } from "../../contexts/authContext";
import { darkContext } from "../../contexts/darkContext"; import { darkContext } from "../../contexts/darkContext";
import { TabsContext } from "../../contexts/tabsContext"; import { TabsContext } from "../../contexts/tabsContext";
import { getRepoStars } from "../../controllers/API";
import IconComponent from "../genericIconComponent"; import IconComponent from "../genericIconComponent";
import { Button } from "../ui/button"; import { Button } from "../ui/button";
import { Separator } from "../ui/separator"; import { Separator } from "../ui/separator";
@ -43,22 +42,35 @@ export default function Header(): JSX.Element {
</Button> </Button>
)} )}
{autoLogin === false && ( {autoLogin === false && (
<Button <a
onClick={() => { onClick={() => {
logout(); logout();
navigate("/login"); navigate("/login");
}} }}
variant="outline" className="text-sm font-medium text-muted-foreground transition-colors hover:text-primary cursor-pointer mx-5"
className=""
> >
Sign out Sign out
</Button> </a>
)}
{location.pathname === "/admin" && (
<a
onClick={() => {
navigate("/");
}}
className="text-sm font-medium text-muted-foreground transition-colors hover:text-primary cursor-pointer"
>
Home
</a>
)} )}
{isAdmin && !autoLogin && location.pathname !== "/admin" && ( {isAdmin && !autoLogin && location.pathname !== "/admin" && (
<Button variant="outline" onClick={() => navigate("/admin")}> <a
className="text-sm font-medium text-muted-foreground transition-colors hover:text-primary cursor-pointer"
onClick={() => navigate("/admin")}
>
Admin page Admin page
</Button> </a>
)} )}
</div> </div>
<div className="round-button-div"> <div className="round-button-div">

View file

@ -47,14 +47,6 @@ export function AuthProvider({ children }): React.ReactElement {
fetchStars(); fetchStars();
}, []); }, []);
useEffect(() => {
if (accessToken) {
getLoggedUser().then((user) => {
const isSuperUser = user.is_superuser;
setIsAdmin(isSuperUser);
});
}
}, [accessToken, isAdmin]);
function getAuthentication() { function getAuthentication() {
const storedRefreshToken = cookies.get("refresh_token"); const storedRefreshToken = cookies.get("refresh_token");

View file

@ -103,9 +103,5 @@ function ApiInterceptor() {
return null; return null;
} }
// Function to sleep for a given duration in milliseconds
function sleep(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
export { ApiInterceptor, api }; export { ApiInterceptor, api };

View file

@ -194,7 +194,7 @@ export default function AdminPage() {
Welcome back! Welcome back!
</h2> </h2>
<p className="text-muted-foreground"> <p className="text-muted-foreground">
Here&apos;s a list of all users! Navigate through this section to efficiently oversee all application users. From here, you can seamlessly manage user accounts.
</p> </p>
</div> </div>
<div className="flex items-center space-x-2"></div> <div className="flex items-center space-x-2"></div>

View file

@ -88,9 +88,9 @@ const Router = () => {
<Route <Route
path="/admin" path="/admin"
element={ element={
<ProtectedAdminRoute>
<AdminPage /> <AdminPage />
</ProtectedAdminRoute>
} }
/> />
@ -106,9 +106,9 @@ const Router = () => {
<Route <Route
path="api-keys" path="api-keys"
element={ element={
<ProtectedRoute> <ProtectedAdminRoute>
<ApiKeysPage /> <ApiKeysPage />
</ProtectedRoute> </ProtectedAdminRoute>
} }
></Route> ></Route>
</Route> </Route>