All files / modules/75-ce/common/EmptyPage EmptyPage.tsx

100% Statements 8/8
100% Branches 1/1
100% Functions 1/1
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58              1x 1x 1x 1x 1x                 1x 1x                                                                     1x  
/*
 * Copyright 2022 Harness Inc. All rights reserved.
 * Use of this source code is governed by the PolyForm Shield 1.0.0 license
 * that can be found in the licenses directory at the root of this repository, also available at
 * https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt.
 */
 
import React from 'react'
import { Button, Text, Container } from '@wings-software/uicore'
import { Color, FontVariation } from '@harness/design-system'
import EmptyView from '@ce/images/empty-state.svg'
import css from './EmptyPage.module.scss'
 
interface EmptyPageProps {
  title?: string
  subtitle?: string
  buttonText?: string
  buttonAction?: () => void
}
 
const EmptyPage: (props: EmptyPageProps) => React.ReactElement = ({ title, subtitle, buttonAction, buttonText }) => {
  return (
    <Container className={css.empty}>
      <img src={EmptyView} />
      <Text
        margin={{
          top: 'large',
          bottom: 'xsmall'
        }}
        font={{ variation: FontVariation.SMALL_SEMI }}
        style={{
          fontWeight: 600
        }}
        color={Color.GREY_500}
      >
        {title}
      </Text>
      <Text font={{ variation: FontVariation.SMALL }}>{subtitle}</Text>
      {buttonText ? (
        <Button
          margin={{
            top: 'large'
          }}
          intent="primary"
          text={buttonText}
          iconProps={{
            size: 10
          }}
          onClick={buttonAction}
          icon="plus"
        />
      ) : /* istanbul ignore next */ null}
    </Container>
  )
}
 
export default EmptyPage