@equinor/fusion-framework-cli
Version:
--- title: Fusion Framework CLI ---
41 lines • 2.61 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useCallback, useState } from 'react';
import { ContextSelector } from './ContextSelector';
import { FusionLogo } from './FusionLogo';
/* typescript reference for makeStyles */
import '@material-ui/styles';
import { styled } from 'styled-components';
import { add, menu, tag } from '@equinor/eds-icons';
import { Icon, TopBar } from '@equinor/eds-core-react';
Icon.add({ menu, add, tag });
import { useCurrentUser } from '@equinor/fusion-framework-react/hooks';
import { useCurrentApp, useCurrentAppModule } from '@equinor/fusion-framework-react/app';
import { BookmarkProvider } from '@equinor/fusion-framework-react-components-bookmark';
import PersonAvatarElement from '@equinor/fusion-wc-person/avatar';
PersonAvatarElement;
import { PersonSideSheet } from './PersonSideSheet';
import { BookmarkSideSheet } from './BookMarkSideSheet';
import { HeaderActions } from './Header.Actions';
const Styled = {
Title: styled.div `
display: flex;
align-items: center;
gap: 0.75rem;
font-size: 1rem;
font-weight: 500;
`,
};
export const Header = () => {
const currentUser = useCurrentUser();
const [isPersonSheetOpen, setIsPersonSheetOpen] = useState(false);
const [isBookmarkOpen, setIsBookmarkOpen] = useState(false);
const onBookmarkClose = useCallback(() => {
setIsBookmarkOpen(false);
}, []);
const { currentApp } = useCurrentApp();
const { module: bookmarkProvider } = useCurrentAppModule('bookmark');
return (_jsxs(BookmarkProvider, { provider: bookmarkProvider ?? undefined, currentApp: currentApp
? { appKey: currentApp.appKey, name: currentApp.manifest?.displayName }
: undefined, currentUser: currentUser ? { id: currentUser.localAccountId, name: currentUser.name } : undefined, children: [_jsxs(TopBar, { id: "cli-top-bar", sticky: false, style: { padding: '0 1em', height: 48 }, children: [_jsx(TopBar.Header, { children: _jsxs(Styled.Title, { children: [_jsx(FusionLogo, {}), _jsx("span", { children: "Fusion Framework CLI" })] }) }), _jsx(HeaderActions, { userAzureId: currentUser?.localAccountId, toggleBookmark: setIsBookmarkOpen, togglePerson: setIsPersonSheetOpen }), _jsx(TopBar.CustomContent, { children: _jsx(ContextSelector, {}) })] }), _jsx(BookmarkSideSheet, { isOpen: isBookmarkOpen, onClose: onBookmarkClose }), _jsx(PersonSideSheet, { azureId: currentUser?.localAccountId, isOpen: isPersonSheetOpen, onClose: () => setIsPersonSheetOpen(!isPersonSheetOpen) })] }));
};
//# sourceMappingURL=Header.js.map