userinfo: add webauthn buttons to user info page (#3075)

* userinfo: add webauthn buttons to user info page

* use new buttons on original page

* fix test
This commit is contained in:
Caleb Doxsey 2022-02-23 10:08:24 -07:00 committed by GitHub
parent 38c7089642
commit 35f697e491
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 423 additions and 288 deletions

View file

@ -1,27 +1,27 @@
import { Drawer, useMediaQuery } from "@mui/material";
import Container from "@mui/material/Container";
import Stack from "@mui/material/Stack";
import { useTheme } from "@mui/material/styles";
import React, { FC, useContext } from "react";
import { UserInfoPageData } from "src/types";
import { SubpageContext } from "../context/Subpage";
import GroupDetails from "./GroupDetails";
import SessionDetails from "./SessionDetails";
import SessionDeviceCredentials from "./SessionDeviceCredentials";
import Container from "@mui/material/Container";
import React, {FC, useContext} from "react";
import { UserInfoPageData } from "src/types";
import {Drawer, useMediaQuery} from "@mui/material";
import { useTheme } from '@mui/material/styles';
import { ToolbarOffset } from "./ToolbarOffset";
import {UserSidebarContent} from "./UserSidebarContent";
import {SubpageContext} from "../context/Subpage";
import Stack from "@mui/material/Stack";
import { UserSidebarContent } from "./UserSidebarContent";
type UserInfoPageProps = {
data: UserInfoPageData;
};
const UserInfoPage: FC<UserInfoPageProps> = ({ data }) => {
const theme = useTheme();
const mdUp = useMediaQuery(() => theme.breakpoints.up('md'), {
const mdUp = useMediaQuery(() => theme.breakpoints.up("md"), {
defaultMatches: true,
noSsr: false
noSsr: false,
});
const {subpage} = useContext(SubpageContext);
const { subpage } = useContext(SubpageContext);
return (
<Container maxWidth={false}>
@ -31,37 +31,37 @@ const UserInfoPage: FC<UserInfoPageProps> = ({ data }) => {
open
PaperProps={{
sx: {
backgroundColor: 'neutral.900',
backgroundColor: "neutral.900",
width: 256,
height: '100vh',
}
height: "100vh",
},
}}
variant="persistent"
>
<ToolbarOffset />
<UserSidebarContent close={null}/>
<UserSidebarContent close={null} />
<ToolbarOffset />
</Drawer>
)}
<Stack
spacing={3}
sx={{
marginLeft: mdUp ? '256px' : '0px',
}}>
marginLeft: mdUp ? "256px" : "0px",
}}
>
{subpage === "User" && <SessionDetails session={data?.session} />}
{subpage === 'User' && (
<SessionDetails session={data?.session} />
)}
{subpage === 'Groups Info' && (
{subpage === "Groups Info" && (
<GroupDetails groups={data?.directoryGroups} />
)}
{subpage === 'Devices Info' && (
{subpage === "Devices Info" && (
<SessionDeviceCredentials
csrfToken={data?.csrfToken}
session={data?.session}
user={data?.user}
webAuthnCreationOptions={data?.webAuthnCreationOptions}
webAuthnRequestOptions={data?.webAuthnRequestOptions}
webAuthnUrl={data?.webAuthnUrl}
/>
)}