/**
* Copyright (c) 650 Industries.
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import React, { useState } from 'react';
import { GestureResponderEvent, Insets, Platform, Pressable, View, ViewStyle } from 'react-native';
import * as LogBoxStyle from './LogBoxStyle';
type Props = {
backgroundColor: {
default: string;
pressed: string;
};
children?: any;
hitSlop?: Insets;
onPress?: ((event: GestureResponderEvent) => void) | null;
style?: ViewStyle;
};
export function LogBoxButton(props: Props) {
const [pressed, setPressed] = useState(false);
let backgroundColor = props.backgroundColor;
if (!backgroundColor) {
backgroundColor = {
default: LogBoxStyle.getBackgroundColor(0.95),
pressed: LogBoxStyle.getBackgroundColor(0.6),
};
}
const content = (
{props.children}
);
return props.onPress == null ? (
content
) : (
setPressed(true)}
onPressOut={() => setPressed(false)}>
{content}
);
}