import * as React from "react";
import { TouchableOpacity, TouchableOpacityProps } from "react-native";

type Props = TouchableOpacityProps & {
  testID: string;
  children: React.ReactElement<any>;
};

function isRunningInUITestsEnv() {
  return process.env?.ZAPP_UI_TESTS_ENV === "true";
}

export function Touchable({ testID, children, ...props }: Props) {
  const accessible = React.useMemo(() => !isRunningInUITestsEnv(), []);

  return (
    <TouchableOpacity
      accessible={accessible}
      testID={testID}
      accessibilityLabel={testID}
      {...props}
    >
      {children}
    </TouchableOpacity>
  );
}
