import {ArrowRightFromSquare, ArrowRightToSquare} from '@gravity-ui/icons';
import {ActionTooltip, Button, Icon} from '@gravity-ui/uikit';
import {useHistory} from 'react-router-dom';
import routes, {createHref} from '../../../routes';
import {authenticationApi} from '../../../store/reducers/authentication/authentication';
import {useClusterWithoutAuthInUI} from '../../../store/reducers/capabilities/hooks';
import {cn} from '../../../utils/cn';
import {useDatabaseFromQuery} from '../../../utils/hooks/useDatabaseFromQuery';
import {useMetaAuth, useMetaAuthUnavailable} from '../../../utils/hooks/useMetaAuth';
import type {UserInfo} from '../../../utils/user';
import i18n from '../i18n';
import './YdbInternalUser.scss';
const b = cn('kv-ydb-internal-user');
export function YdbInternalUser({user}: {user?: UserInfo}) {
const [logout] = authenticationApi.useLogoutMutation();
const authUnavailable = useClusterWithoutAuthInUI();
const metaAuthUnavailable = useMetaAuthUnavailable();
const metaAuth = useMetaAuth();
const database = useDatabaseFromQuery();
const history = useHistory();
const handleLoginClick = () => {
history.push(
createHref(routes.auth, undefined, {
returnUrl: encodeURIComponent(location.href),
database,
}),
);
};
const handleLogout = () => {
logout({useMeta: metaAuth});
};
const renderLoginButton = () => {
if (authUnavailable || metaAuthUnavailable) {
return null;
}
return (