import React from 'react'; import styled from 'styled-components'; import type { JSX } from 'react'; import { useThemeConfig, useThemeHooks } from '@redocly/theme/core/hooks'; import { UserAvatar } from '@redocly/theme/components/UserMenu/UserAvatar'; import { LogoutMenuItem } from '@redocly/theme/components/UserMenu/LogoutMenuItem'; import { LoginButton } from '@redocly/theme/components/UserMenu/LoginButton'; export type UserMenuMobileProps = { className?: string; }; export function UserMenuMobile({ className }: UserMenuMobileProps): JSX.Element | null { const { useUserMenu } = useThemeHooks(); const { userData, loginUrl } = useUserMenu(); const { userMenu: userMenuSettings } = useThemeConfig(); if (!userData?.isAuthenticated) { if (loginUrl && !userMenuSettings?.hideLoginButton) { return ( ); } else { return null; } } return (
{userData.name}
); } const UserMenuMobileWrapper = styled.div` display: flex; justify-content: space-between; align-items: center; width: 100%; bottom: 0; padding: 18px 16px; border-top: 1px solid var(--menu-mobile-profile-border-color); background: var(--menu-mobile-profile-bg-color); `; const UserMenuMobileLoginButton = styled(LoginButton)` width: 100%; & button { width: 100%; } `; const UserInfoWrapper = styled.div` display: flex; align-items: center; gap: var(--spacing-base); `;