import { Text, useTheme, zero } from "@streamplace/components"; import { Pressable, View, ViewStyle } from "react-native"; interface ButtonSelectorProps { text?: string; values: { label: string; value: string }[]; selectedValue: string; setSelectedValue: (value: any) => void; style?: ViewStyle; } export default function ButtonSelector({ text, values, selectedValue, setSelectedValue, style, ...props }: ButtonSelectorProps) { const { theme } = useTheme(); return ( {text && ( {text} )} {values.map(({ label, value }) => ( setSelectedValue(value)} style={[ zero.flex.values[1], zero.h[32], // height equivalent to "$2" selectedValue === value ? [ zero.borders.width.medium, { borderColor: theme.colors.border }, zero.r.lg, ] : [], zero.layout.flex.center, ]} > {label} ))} ); }