// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { DefaultIcon, IconType, ProjectsIcon } from '../../components/icon/icon'; import { EmptyResource } from '../../models/empty'; import { DetailsData } from "./details-data"; import Typography from "@material-ui/core/Typography"; import { StyleRulesCallback, WithStyles, withStyles } from "@material-ui/core/styles"; import { ArvadosTheme } from "../../common/custom-theme"; import Icon from "@material-ui/core/Icon/Icon"; type CssRules = 'container' | 'icon'; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ container: { textAlign: 'center' }, icon: { color: theme.palette.grey["500"], fontSize: '72px' } }); export interface EmptyStateDataProps { message: string; icon: IconType; details?: string; children?: React.ReactNode; } type EmptyStateProps = EmptyStateDataProps & WithStyles; const EmptyState = withStyles(styles)( ({ classes, details, message, children }: EmptyStateProps) => {message} {details && {details}} {children && {children}} ); export class EmptyDetails extends DetailsData { getIcon(className?: string) { return ; } getDetails() { return ; } }