All files / atoms/Input/mobile/Components/Atoms VisibilityToggle.tsx

75% Statements 3/4
0% Branches 0/2
0% Functions 0/1
75% Lines 3/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                    2x                   2x                   2x    
import React from 'react';
import { Pressable, StyleSheet } from 'react-native';
import { Eye, EyeOff } from '@sb/ui/components/atoms/Icons/index.native';
import { colors } from '@sb/styles/colors';
 
interface VisibilityToggleProps {
  visible: boolean;
  onToggle: () => void;
}
 
const VisibilityToggle = ({ visible, onToggle }: VisibilityToggleProps) => (
  <Pressable onPress={onToggle} style={styles.button}>
    {visible ? (
      <EyeOff size={24} width={24} height={24} color={colors.light.colorPrimary} />
    ) : (
      <Eye size={24} width={24} height={24} color={colors.light.colorPrimary} />
    )}
  </Pressable>
);
 
const styles = StyleSheet.create({
  button: {
    marginHorizontal: 5,
    width: 20,
    height: 20,
    justifyContent: 'center',
    alignItems: 'center',
  },
});
 
VisibilityToggle.displayName = 'VisibilityToggle';
export default VisibilityToggle;