Skip to content

Commit da84cf9

Browse files
Merge pull request #103 from solo-io/charlesthebird/headerRefactorAndOidcAuthFixes
OIDC header variant link fixes for new features
2 parents 074b82b + 1089ea5 commit da84cf9

File tree

15 files changed

+317
-313
lines changed

15 files changed

+317
-313
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
changelog:
2+
- type: FIX
3+
issueLink: https://github.com/solo-io/gloo-mesh-enterprise/issues/18658
4+
description: >-
5+
Adds links for the new teams + apps pages to the OIDC auth header variant.
6+
This also includes some refactoring of that area.

projects/ui/src/Components/ApiDetails/gloo-gateway-components/ApiProductDetailsPageHeading.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { Box, Flex, Select } from "@mantine/core";
2-
import { useContext, useState } from "react";
2+
import { useState } from "react";
33
import toast from "react-hot-toast";
44
import {
55
ApiProductSummary,
66
ApiVersion,
77
ApiVersionSchema,
88
} from "../../../Apis/api-types";
99
import { Icon } from "../../../Assets/Icons";
10-
import { AuthContext } from "../../../Context/AuthContext";
10+
import { useIsLoggedIn } from "../../../Context/AuthContext";
1111
import { FormModalStyles } from "../../../Styles/shared/FormModalStyles";
1212
import { useGetImageURL } from "../../../Utility/custom-image-utility";
1313
import {
@@ -34,7 +34,7 @@ const ApiProductDetailsPageHeading = ({
3434
onSelectedApiVersionChange: (newVersionId: string | null) => void;
3535
apiVersionSpec: ApiVersionSchema | undefined;
3636
}) => {
37-
const { isLoggedIn } = useContext(AuthContext);
37+
const isLoggedIn = useIsLoggedIn();
3838
const [showSubscribeModal, setShowSubscribeModal] = useState(false);
3939

4040
const downloadApiSpec = () => {

projects/ui/src/Components/Apis/EmptyApisPage.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { Code } from "@mantine/core";
2-
import { useContext } from "react";
32
import { Icon } from "../../Assets/Icons";
4-
import { AuthContext } from "../../Context/AuthContext";
3+
import { useIsLoggedIn } from "../../Context/AuthContext";
54
import { apisImageURL } from "../../user_variables.tmplr";
65
import { BannerHeading } from "../Common/Banner/BannerHeading";
76
import { BannerHeadingTitle } from "../Common/Banner/BannerHeadingTitle";
@@ -28,7 +27,7 @@ export function EmptyApisPage() {
2827
}
2928

3029
export const EmptyApisPageContent = () => {
31-
const { isLoggedIn } = useContext(AuthContext);
30+
const isLoggedIn = useIsLoggedIn();
3231

3332
if (!!isLoggedIn)
3433
return <EmptyData>No API Products have been created.</EmptyData>;

projects/ui/src/Components/AppContent.tsx

+2-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ import { css } from "@emotion/react";
22
import styled from "@emotion/styled";
33
import { useContext } from "react";
44
import { AppContext } from "../Context/AppContext";
5-
import { appliedOidcAuthCodeConfig } from "../user_variables.tmplr";
65
import AppContentRoutes from "./AppContentRoutes";
7-
import { Header } from "./Structure/BasicAuthVariant/Header";
8-
import OidcAuthCodeHeaderVariant from "./Structure/OidcAuthCodeHeaderVariant/OidcAuthCodeHeaderVariant";
6+
import Header from "./Structure/Header";
97

108
export const StyledAppContainer = styled.div(
119
({ theme }) => css`
@@ -32,7 +30,7 @@ function AppContent() {
3230
*/
3331
return (
3432
<StyledAppContainer data-theme={isDarkMode ? "dark" : "light"}>
35-
{!!appliedOidcAuthCodeConfig ? <OidcAuthCodeHeaderVariant /> : <Header />}
33+
<Header />
3634
<AppContentRoutes />
3735
</StyledAppContainer>
3836
);

projects/ui/src/Components/AppContentRoutes.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import styled from "@emotion/styled";
22
import { useContext } from "react";
33
import { Navigate, Route, Routes } from "react-router-dom";
44
import { AppContext } from "../Context/AppContext";
5-
import { AuthContext } from "../Context/AuthContext";
5+
import { useIsLoggedIn } from "../Context/AuthContext";
66
import {
77
customPages,
88
oidcAuthCodeConfigCallbackPath,
@@ -46,7 +46,7 @@ const MainContentContainer = styled.div`
4646
* know the area that failed.
4747
**/
4848
function AppContentRoutes() {
49-
const { isLoggedIn } = useContext(AuthContext);
49+
const isLoggedIn = useIsLoggedIn();
5050
const { portalServerType } = useContext(AppContext);
5151

5252
return (
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { useIsLoggedIn } from "../../../Context/AuthContext";
2+
import HeaderSectionLoggedIn from "./HeaderSectionLoggedIn";
3+
import HeaderSectionLoggedOut from "./HeaderSectionLoggedOut";
4+
5+
if (!window.isSecureContext) {
6+
// eslint-disable-next-line no-console
7+
console.error(
8+
"This page is not being delivered in a secure context (see https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), " +
9+
"so login will not work."
10+
);
11+
}
12+
13+
/**
14+
* MAIN COMPONENT
15+
**/
16+
export function BasicAuthHeaderSection() {
17+
const isLoggedIn = useIsLoggedIn();
18+
19+
if (isLoggedIn) {
20+
return <HeaderSectionLoggedIn />;
21+
}
22+
return <HeaderSectionLoggedOut />;
23+
}

projects/ui/src/Components/Structure/BasicAuthVariant/HeaderSectionLoggedIn.tsx projects/ui/src/Components/Structure/BasicAuth/HeaderSectionLoggedIn.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ const HeaderSectionLoggedIn = () => {
7979
onClick={() => setOpened(!opened)}
8080
>
8181
<div className="userHolder">
82-
<Icon.UserProfile className="userCircle" />{" "}
83-
{!!user ? user.username : " "}
82+
<Icon.UserProfile className="userCircle" />
83+
{!!user ? user.username : " NO USER " + JSON.stringify(user)}
8484
<Icon.DownArrow
8585
className={`dropdownArrow canRotate ${opened ? "rotate180" : ""}`}
8686
/>

projects/ui/src/Components/Structure/BasicAuthVariant/HeaderSectionLoggedOut.tsx projects/ui/src/Components/Structure/BasicAuth/HeaderSectionLoggedOut.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
AuthContext,
55
LOCAL_STORAGE_AUTH_STATE,
66
LOCAL_STORAGE_AUTH_VERIFIER,
7+
useIsLoggedIn,
78
} from "../../../Context/AuthContext";
89
import { doAccessTokenRequest } from "../../../Utility/accessTokenRequest";
910
import {
@@ -103,7 +104,8 @@ const AuthFlowStarter = () => {
103104
};
104105

105106
const HeaderSectionLoggedOut = () => {
106-
const { onLogin, isLoggedIn } = useContext(AuthContext);
107+
const { onLogin } = useContext(AuthContext);
108+
const isLoggedIn = useIsLoggedIn();
107109
const [searchParams] = useSearchParams();
108110

109111
//

projects/ui/src/Components/Structure/BasicAuthVariant/Header.tsx

-227
This file was deleted.

0 commit comments

Comments
 (0)