overleaf-cep/services/web/frontend/js/shared/components/split-test-badge.tsx
Tim Down 09b68de041 Merge pull request #24083 from overleaf/td-bs5-misc-bs3-removal
Remove Bootstrap 3 components in a few places

GitOrigin-RevId: 0380506543b40f3d8d83f2bf6199af28f61ad5af
2025-03-18 09:05:17 +00:00

53 lines
1.2 KiB
TypeScript

import { useSplitTestContext } from '../context/split-test-context'
import BetaBadge from './beta-badge'
type TooltipProps = {
id?: string
className?: string
}
type SplitTestBadgeProps = {
splitTestName: string
displayOnVariants: string[]
tooltip?: TooltipProps
}
export default function SplitTestBadge({
splitTestName,
displayOnVariants,
tooltip = {},
}: SplitTestBadgeProps) {
const { splitTestVariants, splitTestInfo } = useSplitTestContext()
const testInfo = splitTestInfo[splitTestName]
if (!testInfo) {
return null
}
const variant = splitTestVariants[splitTestName]
if (!variant || !displayOnVariants.includes(variant)) {
return null
}
return (
<BetaBadge
tooltip={{
id: tooltip.id || `${splitTestName}-badge-tooltip`,
className: `split-test-badge-tooltip ${tooltip.className}`,
text: testInfo.badgeInfo?.tooltipText || (
<>
We are testing this new feature.
<br />
Click to give feedback
</>
),
}}
phase={testInfo.phase}
link={{
href: testInfo.badgeInfo?.url?.length
? testInfo.badgeInfo?.url
: undefined,
}}
/>
)
}