import { Box, Icon, Text, useTheme } from "native-base"; import React from "react"; import Ionicons from '@expo/vector-icons/Ionicons'; import { LinearGradient } from 'expo-linear-gradient'; import colors from '../../themes/main/colors'; import { Pressable } from "react-native"; interface ScheduleItemProps { title: string; time: string; mode: "free" | "disabled" | "selected"; id?: string; itemCount?: number; onClick?: (id?: string) => void; } function ScheduleItem(props: ScheduleItemProps) { const [pressed, setPressed] = React.useState(false); const theme = useTheme(); const defaultHeight = 70; const itemCount = props.itemCount || 1; const height = defaultHeight * itemCount + (itemCount > 1 ? theme.space[4] : 0); const borderColors = { "free": [], "disabled": [colors.mini_border_gray], "selected": [colors.mini_green, colors.mini_cream] } const iconColors = { "free": "mini_blue", "disabled": "mini_blue", "selected": "mini_green" } return ( {props.title} {props.time} {props.mode !== "disabled" && {props.mode !== "free" && } {props.mode === "free" && { props.onClick && props.onClick(props.id); }} onPressIn={() => setPressed(true)} onPressOut={() => setPressed(false)} > } } ); } export default ScheduleItem;