ICS React Native App
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 39 lines 1.1 kB view raw
1import { TouchableOpacity } from "react-native"; 2import { ThemedText, ThemedView } from "@/components/theme"; 3import { useToggle } from "@/hooks/use-toggle"; 4import { blurAccountNumber } from "@/services/blur-accountnumber"; 5import { PropsWithChildren } from "react"; 6 7interface AccountNumberProps { 8 children: string; 9 hidden?: boolean; 10 size?: "default" | "small"; 11} 12 13export const AccountNumber = ({ 14 children, 15 hidden = false, 16 size = "default", 17}: AccountNumberProps) => { 18 const { isHidden, toggleHidden } = useToggle(true); 19 20 return ( 21 <Wrapper onPress={toggleHidden} toggleable={!hidden}> 22 <ThemedText type={size}> 23 {isHidden ? blurAccountNumber(children.toString()) : children} 24 </ThemedText> 25 </Wrapper> 26 ); 27}; 28 29type WrapperProps = PropsWithChildren<{ 30 toggleable: boolean; 31 onPress: () => void | Promise<void>; 32}>; 33 34const Wrapper = ({ children, toggleable, onPress }: WrapperProps) => 35 toggleable ? ( 36 <TouchableOpacity onPressOut={onPress}>{children}</TouchableOpacity> 37 ) : ( 38 <ThemedView>{children}</ThemedView> 39 );