// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { connect, DispatchProp } from 'react-redux'; import { Grid, Typography, Button, Select } from '@material-ui/core'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { login, authActions } from '~/store/auth/auth-action'; import { ArvadosTheme } from '~/common/custom-theme'; import { RootState } from '~/store/store'; type CssRules = 'root' | 'container' | 'title' | 'content' | 'content__bolder' | 'button'; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ root: { position: 'relative', backgroundColor: theme.palette.grey["200"], '&::after': { content: `''`, position: 'absolute', top: 0, left: 0, bottom: 0, right: 0, opacity: 0.2, } }, container: { width: '560px', zIndex: 10 }, title: { marginBottom: theme.spacing.unit * 6, color: theme.palette.grey["800"] }, content: { marginBottom: theme.spacing.unit * 3, lineHeight: '1.2rem', color: theme.palette.grey["800"] }, 'content__bolder': { fontWeight: 'bolder' }, button: { boxShadow: 'none' } }); type LoginPanelProps = DispatchProp & WithStyles & { remoteHosts: { [key: string]: string }, homeCluster: string, uuidPrefix: string, loginCluster: string, welcomePage: string }; export const LoginPanel = withStyles(styles)( connect((state: RootState) => ({ remoteHosts: state.auth.remoteHosts, homeCluster: state.auth.homeCluster, uuidPrefix: state.auth.localCluster, loginCluster: state.auth.loginCluster, welcomePage: state.auth.config.clusterConfig.Workbench.WelcomePageHTML }))(({ classes, dispatch, remoteHosts, homeCluster, uuidPrefix, loginCluster, welcomePage }: LoginPanelProps) =>
{Object.keys(remoteHosts).length > 1 && loginCluster === "" && } ));