diff --git a/web/src/pages/OAuthAuthorize/index.tsx b/web/src/pages/OAuthAuthorize/index.tsx new file mode 100644 index 0000000..676024f --- /dev/null +++ b/web/src/pages/OAuthAuthorize/index.tsx @@ -0,0 +1,74 @@ +import { Card, CardContent } from "@/components/ui/card"; +import { useOAuthContext } from "@/context/oauth"; +import AccountList from "@/feature/AccountList"; +import { useEffect, type FC } from "react"; +import { useSearchParams } from "react-router-dom"; + +const OAuthAuthorizePage: FC = () => { + const [searchParams] = useSearchParams(); + + const { + setActive, + setClientID, + setRedirectURI, + setScope, + setState, + setNonce, + } = useOAuthContext(); + + useEffect(() => { + setActive(true); + setClientID(searchParams.get("client_id") ?? ""); + setRedirectURI(searchParams.get("redirect_uri") ?? ""); + const scope = searchParams.get("scope") ?? ""; + setScope(scope.split(" ").filter((s) => s.length > 0)); + setState(searchParams.get("state") ?? ""); + setNonce(searchParams.get("nonce") ?? ""); + }, [ + searchParams, + setActive, + setClientID, + setNonce, + setRedirectURI, + setScope, + setState, + ]); + + return ( +
+
+ +
+
+ icon + +
+

+ Select Account +

+

+ Choose one of the accounts below in order to proceed to home + lab services and tools. +

+
+
+ + {/* */} + + + +
+
+
+
+ ); +}; + +export default OAuthAuthorizePage;