import React, { useContext, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Avatar, Button, ButtonVariant, Brand, Dropdown, DropdownItem, DropdownSeparator, DropdownToggle, KebabToggle, PageHeader, PageHeaderTools, PageHeaderToolsItem, PageHeaderToolsGroup} from '@patternfly/react-core'; import { HelpIcon } from '@patternfly/react-icons'; import { KeycloakContext } from './auth/KeycloakContext'; export const Header = () => { return ( } headerTools={headerTools()} /> ); }; const ManageAccountDropdownItem = () => { const keycloak = useContext(KeycloakContext); const { t } = useTranslation(); return ( keycloak?.account()}>{t('Manage account')} ); } const SignOutDropdownItem = () => { const keycloak = useContext(KeycloakContext); const { t } = useTranslation(); return ( keycloak?.logout()}>{t('Sign out')} ); } const ServerInfoDropdownItem = () => { const { t } = useTranslation(); return ( {t('Server info')} ) } const HelpDropdownItem = () => { const { t } = useTranslation(); const help = t('Help'); return ( {` ${help}`} ) } const kebabDropdownItems = [ , , , , ]; const userDropdownItems = [ , , , ]; const headerTools = () => { return ( ); } const KebabDropdown = () => { const [isDropdownOpen, setDropdownOpen] = useState(false); const onDropdownToggle = () => { setDropdownOpen(!isDropdownOpen); }; return ( } isOpen={isDropdownOpen} dropdownItems={kebabDropdownItems} /> ) } const UserDropdown = () => { const keycloak = useContext(KeycloakContext); const [isDropdownOpen, setDropdownOpen] = useState(false); const onDropdownToggle = () => { setDropdownOpen(!isDropdownOpen); }; return ( {keycloak?.loggedInUser}} dropdownItems={userDropdownItems} /> ); }