Bluesky app fork with some witchin' additions 💫 forked from jollywhoppers.com/witchsky.app
Something went wrong. Try again.
1.2 kB · 42 lines
TSX
at commit 8ce9bdb2
12345678910111213141516171819202122232425262728293031323334353637383940414243import {type SvgProps} from 'react-native-svg'import type React from 'react'
import {PressableWithHover} from '#/view/com/util/PressableWithHover'import {atoms as a, useTheme, web} from '#/alf'
export function ControlButton({ active, activeLabel, inactiveLabel, activeIcon: ActiveIcon, inactiveIcon: InactiveIcon, onPress,}: { active: boolean activeLabel: string inactiveLabel: string activeIcon: React.ComponentType<Pick<SvgProps, 'fill' | 'width'>> inactiveIcon: React.ComponentType<Pick<SvgProps, 'fill' | 'width'>> onPress: () => void}) { const t = useTheme() return ( <PressableWithHover accessibilityRole="button" accessibilityLabel={active ? activeLabel : inactiveLabel} accessibilityHint="" onPress={onPress} style={[ a.p_xs, a.rounded_full, web({transition: 'background-color 0.1s'}), ]} hoverStyle={{backgroundColor: 'rgba(255, 255, 255, 0.2)'}}> {active ? ( <ActiveIcon fill={t.palette.white} width={20} aria-hidden /> ) : ( <InactiveIcon fill={t.palette.white} width={20} aria-hidden /> )} </PressableWithHover> )}