@equinor/fusion-framework-cli
Version:
--- title: Fusion Framework CLI ---
32 lines • 1.71 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useCallback, useMemo, useState } from 'react';
import { SideSheet } from '@equinor/fusion-react-side-sheet';
import PersonListItem from '@equinor/fusion-wc-person/list-item';
PersonListItem;
import { Divider } from '@equinor/eds-core-react';
import { LandingSheetContent, FeatureSheetContent } from './sheets';
/**
* Add Sidesheet with settings for the current user.
* @param PersonSideSheetProps
*/
export const PersonSideSheet = ({ azureId, isOpen, onClose }) => {
const [currentSheet, setCurrentSheet] = useState('landing');
const Component = useMemo(() => {
let Comp;
switch (currentSheet) {
case 'features':
Comp = FeatureSheetContent;
break;
default:
Comp = LandingSheetContent;
break;
}
return Comp;
}, [currentSheet]);
const navigateCallback = useCallback((sheet) => {
setCurrentSheet(sheet !== null && sheet !== void 0 ? sheet : 'default');
}, []);
return (_jsxs(SideSheet, { isOpen: isOpen, onClose: onClose, isDismissable: true, children: [_jsx(SideSheet.Title, { title: "User settings" }), _jsx(SideSheet.SubTitle, { subTitle: 'Settings for your user in Fusion portal' }), _jsx(SideSheet.Actions, {}), _jsx(SideSheet.Content, { children: _jsxs("section", { style: { paddingLeft: '0.5em' }, children: [_jsx("div", { children: _jsx("fwc-person-list-item", { azureId: azureId }) }), _jsx(Divider, {}), _jsx(Component, { azureId: azureId, sheet: currentSheet, navigate: navigateCallback })] }) })] }));
};
export default PersonSideSheet;
//# sourceMappingURL=index.js.map