ProjectUpdateDisabledTooltip.tsx 983 B

12345678910111213141516171819202122232425262728293031323334
  1. import { PropsWithChildren } from 'react'
  2. import { Tooltip, TooltipContent, TooltipTrigger } from 'ui'
  3. export interface ProjectUpdateDisabledTooltipProps {
  4. projectUpdateDisabled: boolean
  5. projectNotActive?: boolean
  6. tooltip?: string
  7. }
  8. export const ProjectUpdateDisabledTooltip = ({
  9. projectUpdateDisabled,
  10. projectNotActive = false,
  11. children,
  12. tooltip,
  13. }: PropsWithChildren<ProjectUpdateDisabledTooltipProps>) => {
  14. const tooltipMessage =
  15. tooltip ||
  16. (projectUpdateDisabled
  17. ? 'Subscription changes are currently disabled. Our engineers are working on a fix.'
  18. : projectNotActive
  19. ? 'Unable to update subscription as project is currently not active'
  20. : undefined)
  21. return (
  22. <Tooltip>
  23. <TooltipTrigger asChild>{children}</TooltipTrigger>
  24. {tooltipMessage !== undefined && (
  25. <TooltipContent side="bottom" className="w-64 text-center">
  26. {tooltipMessage}
  27. </TooltipContent>
  28. )}
  29. </Tooltip>
  30. )
  31. }