import Styles from "@/constants/Styles";
import { useTheme } from "@/providers/ThemeProvider";
import { Feather } from "@expo/vector-icons";
import { Pressable, View } from "react-native";
import Text from "./Text";

type Props = {
   value: string
   onPress?: () => void
   round?: boolean
   error?: boolean
   errorText?: string
   disabled?: boolean
}

export default function ButtonSelect({ value, onPress, round, error, errorText, disabled }: Props) {
   const { colors } = useTheme();
   return (
      <View style={[Styles.mv05]}>
         <Pressable onPress={onPress} disabled={disabled}>
            <View style={[
               Styles.inputRoundForm,
               Styles.inputRoundFormRight,
               round && Styles.round30,
               Styles.pv10,
               { borderColor: colors.icon + '20', backgroundColor: colors.input },
               error && { borderColor: "red" },
               disabled && { opacity: 0.4 }
            ]}>
               <Feather name="arrow-right-circle" size={20} color={colors.text} />
               <Text style={[{ color: colors.text }]}>{value}</Text>
            </View>
         </Pressable>
         {error && (<Text style={[Styles.textInformation, Styles.mt05, { color: colors.error }]}>{errorText}</Text>)}
      </View>
   )
}