mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-20 01:11:25 +00:00
Co-authored-by: Victor Meng <vimeng@microsoft.com> Co-authored-by: Steve Faulkner <stfaul@microsoft.com>
69 lines
1.8 KiB
TypeScript
69 lines
1.8 KiB
TypeScript
import {
|
|
FocusZone,
|
|
DefaultButton,
|
|
DirectionalHint,
|
|
Persona,
|
|
PersonaInitialsColor,
|
|
PersonaSize
|
|
} from "office-ui-fabric-react";
|
|
import * as React from "react";
|
|
import { Account } from "msal";
|
|
import { useGraphPhoto } from "../../../hooks/useGraphPhoto";
|
|
|
|
interface Props {
|
|
graphToken: string;
|
|
account: Account;
|
|
openPanel: () => void;
|
|
logout: () => void;
|
|
}
|
|
|
|
export const MeControl: React.FunctionComponent<Props> = ({ openPanel, logout, account, graphToken }: Props) => {
|
|
const photo = useGraphPhoto(graphToken);
|
|
return (
|
|
<FocusZone>
|
|
<DefaultButton
|
|
id="mecontrolHeader"
|
|
className="mecontrolHeaderButton"
|
|
menuProps={{
|
|
className: "mecontrolContextualMenu",
|
|
isBeakVisible: false,
|
|
directionalHintFixed: true,
|
|
directionalHint: DirectionalHint.bottomRightEdge,
|
|
calloutProps: {
|
|
minPagePadding: 0
|
|
},
|
|
items: [
|
|
{
|
|
key: "SwitchDirectory",
|
|
text: "Switch Directory",
|
|
onClick: openPanel
|
|
},
|
|
{
|
|
key: "SignOut",
|
|
text: "Sign Out",
|
|
onClick: logout
|
|
}
|
|
]
|
|
}}
|
|
styles={{
|
|
rootHovered: { backgroundColor: "#393939" },
|
|
rootFocused: { backgroundColor: "#393939" },
|
|
rootPressed: { backgroundColor: "#393939" },
|
|
rootExpanded: { backgroundColor: "#393939" }
|
|
}}
|
|
>
|
|
<Persona
|
|
imageUrl={photo}
|
|
text={account?.name}
|
|
secondaryText={account?.userName}
|
|
showSecondaryText={true}
|
|
showInitialsUntilImageLoads={true}
|
|
initialsColor={PersonaInitialsColor.teal}
|
|
size={PersonaSize.size28}
|
|
className="mecontrolHeaderPersona"
|
|
/>
|
|
</DefaultButton>
|
|
</FocusZone>
|
|
);
|
|
};
|