// Libraries import { css } from '@emotion/css'; import React from 'react'; // Components import { GrafanaTheme2 } from '@grafana/data'; import { config } from '@grafana/runtime'; import { Alert, LinkButton, Stack, useStyles2 } from '@grafana/ui'; import { Branding } from 'app/core/components/Branding/Branding'; import { t, Trans } from 'app/core/internationalization'; import { ChangePassword } from '../ForgottenPassword/ChangePassword'; import LoginCtrl from './LoginCtrl'; import { LoginForm } from './LoginForm'; import { LoginLayout, InnerBox } from './LoginLayout'; import { LoginServiceButtons } from './LoginServiceButtons'; import { UserSignup } from './UserSignup'; export const LoginPage = () => { const styles = useStyles2(getStyles); document.title = Branding.AppTitle; return ( {({ loginHint, passwordHint, disableLoginForm, disableUserSignUp, login, isLoggingIn, changePassword, skipPasswordChange, isChangingPassword, showDefaultPasswordWarning, loginErrorMessage, }) => ( {!isChangingPassword && ( {loginErrorMessage && ( {loginErrorMessage} )} {!disableLoginForm && ( {!config.auth.disableLogin && ( Forgot your password? )} )} {!disableUserSignUp && } )} {isChangingPassword && ( skipPasswordChange()} /> )} )} ); }; const getStyles = (theme: GrafanaTheme2) => { return { forgottenPassword: css({ padding: 0, marginTop: theme.spacing(0.5), }), alert: css({ width: '100%', }), }; };