All files / modules/75-cf/components/GitSyncActions BranchSettingsButton.tsx

100% Statements 13/13
100% Branches 2/2
100% Functions 2/2
100% Lines 13/13

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              9x 9x   9x 9x 9x 9x 9x 9x                         9x 29x   29x                   16x                         9x  
/*
 * Copyright 2021 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, { ReactElement } from 'react'
import cx from 'classnames'
 
import { PopoverPosition } from '@blueprintjs/core'
import { Text, Container, Button, Icon } from '@wings-software/uicore'
import { Color } from '@harness/design-system'
import SettingsMenu from './SettingsMenu'
import BranchStatusIcon from './BranchStatusIcon'
import css from './GitSyncActions.module.scss'
 
interface BranchSettingsProps {
  isSettingsOpen: boolean
  handleToggleAutoCommit: (newAutoCommitValue: boolean) => void
  handleGitPause: (newGitPauseValue: boolean) => void
  setIsSettingsOpen: (isOpen: boolean) => void
  branch: string
  isLoading: boolean
  isAutoCommitEnabled: boolean
  isGitSyncPaused: boolean
}
 
const BranchSettingsButton = (props: BranchSettingsProps): ReactElement => {
  const { isSettingsOpen, setIsSettingsOpen, branch } = props
 
  return (
    <Button
      noStyling
      className={cx(css.branchActionButton, isSettingsOpen && css.branchActionButtonActive)}
      tooltipProps={{
        fill: true,
        interactionKind: 'click',
        minimal: true,
        position: PopoverPosition.BOTTOM_LEFT,
        isOpen: isSettingsOpen,
        onInteraction: nextOpenState => setIsSettingsOpen(nextOpenState)
      }}
      tooltip={<SettingsMenu {...props} />}
    >
      <Container className={css.branchActionButtonWrapper}>
        <Icon name="git-new-branch" size={15} />
        <Text color={Color.GREY_900}>{branch}</Text>
        <BranchStatusIcon {...props} />
      </Container>
    </Button>
  )
}
 
export default BranchSettingsButton