From 96f45dd617ef32fe813de03026c9370498099f34 Mon Sep 17 00:00:00 2001
From: Maxime Cyr <2829180+Redm4x@users.noreply.github.com>
Date: Fri, 8 Nov 2024 14:35:38 -0500
Subject: [PATCH] fix(auth): fix logout button not logging out completely
(#446)
fix(auth): fix logout btn not logging out completely
chore: simplify code
---
.../src/components/layout/AccountMenu.tsx | 10 ++--
.../components/layout/MobileSidebarUser.tsx | 1 +
.../components/layout/SidebarRouteButton.tsx | 57 ++++++++++---------
3 files changed, 37 insertions(+), 31 deletions(-)
diff --git a/apps/deploy-web/src/components/layout/AccountMenu.tsx b/apps/deploy-web/src/components/layout/AccountMenu.tsx
index 98c77856f..ea076d29d 100644
--- a/apps/deploy-web/src/components/layout/AccountMenu.tsx
+++ b/apps/deploy-web/src/components/layout/AccountMenu.tsx
@@ -51,7 +51,7 @@ export function AccountMenu() {
setOpen(false);
}}
>
-
+
{!isLoading && user ? (
{username && (
@@ -82,19 +82,21 @@ export function AccountMenu() {
My Alerts
- router.push(UrlService.logout())} icon={}>
+ (window.location.href = UrlService.logout())} icon={}>
Logout
) : (
router.push(UrlService.signup())}
>
Sign up
- router.push(UrlService.login())} className="justify-center p-2">Sign in
+ router.push(UrlService.login())} className="justify-center p-2">
+ Sign in
+
)}
diff --git a/apps/deploy-web/src/components/layout/MobileSidebarUser.tsx b/apps/deploy-web/src/components/layout/MobileSidebarUser.tsx
index ad3332b72..e8be181de 100644
--- a/apps/deploy-web/src/components/layout/MobileSidebarUser.tsx
+++ b/apps/deploy-web/src/components/layout/MobileSidebarUser.tsx
@@ -60,6 +60,7 @@ export const MobileSidebarUser: React.FunctionComponent = () => {
}}
/>
,
diff --git a/apps/deploy-web/src/components/layout/SidebarRouteButton.tsx b/apps/deploy-web/src/components/layout/SidebarRouteButton.tsx
index a6f6cc371..04d761256 100644
--- a/apps/deploy-web/src/components/layout/SidebarRouteButton.tsx
+++ b/apps/deploy-web/src/components/layout/SidebarRouteButton.tsx
@@ -1,5 +1,5 @@
"use client";
-import { ReactNode } from "react";
+import React, { ReactNode } from "react";
import { buttonVariants } from "@akashnetwork/ui/components";
import { cn } from "@akashnetwork/ui/utils";
import Link from "next/link";
@@ -13,36 +13,39 @@ type Props = {
route: ISidebarRoute;
isNavOpen?: boolean;
className?: string;
+ useNextLinkTag?: boolean;
};
-export const SidebarRouteButton: React.FunctionComponent = ({ route, className = "", isNavOpen = true }) => {
+export const SidebarRouteButton: React.FunctionComponent = ({ route, className = "", isNavOpen = true, useNextLinkTag = true }) => {
const pathname = usePathname();
const isSelected = route.url === UrlService.home() ? pathname === "/" : route.activeRoutes.some(x => pathname?.startsWith(x));
- return (
-
-
- {!!route.icon && (
-
- {route.icon({ className: cn({ ["text-primary font-bold"]: isSelected, ["mx-auto"]: !isNavOpen }, "text-xs") })}
-
- )}
- {isNavOpen && {route.title}}
-
-
+ const linkProps: React.ComponentProps & React.ComponentProps<"a"> & { "data-testid": string | undefined } = {
+ target: route.target ?? "_self",
+ rel: route.rel ? route.rel : "",
+ href: route.url,
+ className: cn(
+ buttonVariants({ variant: isSelected ? "secondary" : "ghost", size: "sm" }),
+ "flex w-full items-center justify-start text-current hover:no-underline",
+ {
+ ["font-bold"]: isSelected,
+ ["min-w-[initial] px-4 py-1"]: isNavOpen,
+ ["w-[45px] min-w-0 p-2"]: !isNavOpen
+ }
+ ),
+ "data-testid": route.testId
+ };
+
+ const innerContent = (
+ <>
+ {!!route.icon && (
+
+ {route.icon({ className: cn({ ["text-primary font-bold"]: isSelected, ["mx-auto"]: !isNavOpen }, "text-xs") })}
+
+ )}
+ {isNavOpen && {route.title}}
+ >
);
+
+ return {useNextLinkTag ? {innerContent} : {innerContent}};
};