2026-07-02 14:34:19 +05:30

39 lines
996 B
TypeScript

import React from 'react';
import { Text, TouchableOpacity, ActivityIndicator } from 'react-native';
import { useAppTheme } from '@theme';
import { getStyles } from './onlineToggleButton.styles';
interface OnlineToggleButtonProps {
isOnline: boolean;
onToggle: () => void;
isLoading?: boolean;
}
export const OnlineToggleButton: React.FC<OnlineToggleButtonProps> = ({
isOnline,
onToggle,
isLoading = false,
}) => {
const { colors } = useAppTheme();
const styles = getStyles(colors);
const buttonStyle = isOnline ? styles.offlineBg : styles.onlineBg;
const label = isOnline ? 'Go Offline' : 'Go Online';
return (
<TouchableOpacity
style={[styles.button, buttonStyle]}
activeOpacity={0.8}
onPress={onToggle}
disabled={isLoading}
>
{isLoading ? (
<ActivityIndicator color={colors.white} />
) : (
<Text style={styles.text}>{label}</Text>
)}
</TouchableOpacity>
);
};
export default OnlineToggleButton;