@@ -13,8 +13,10 @@ import useLocalize from '@hooks/useLocalize';
1313import useNetwork from '@hooks/useNetwork' ;
1414import useOnyx from '@hooks/useOnyx' ;
1515import useThemeStyles from '@hooks/useThemeStyles' ;
16+ import useThrottledButtonState from '@hooks/useThrottledButtonState' ;
1617import { resetValidateActionCodeSent } from '@libs/actions/User' ;
1718import Clipboard from '@libs/Clipboard' ;
19+ import CopyTextToClipboard from '@components/CopyTextToClipboard' ;
1820import Navigation from '@libs/Navigation/Navigation' ;
1921import ONYXKEYS from '@src/ONYXKEYS' ;
2022import ROUTES from '@src/ROUTES' ;
@@ -29,6 +31,7 @@ import {useTravelCVVActions, useTravelCVVState} from './TravelCVVContextProvider
2931 */
3032function TravelCVVPage ( ) {
3133 const styles = useThemeStyles ( ) ;
34+ const [ isCopyButtonActive , setCopyButtonInactive ] = useThrottledButtonState ( ) ;
3235 const { isOffline} = useNetwork ( ) ;
3336 const { translate} = useLocalize ( ) ;
3437 const icons = useMemoizedLazyExpensifyIcons ( [ 'Copy' ] ) ;
@@ -118,8 +121,11 @@ function TravelCVVPage() {
118121 actionButton = (
119122 < Button
120123 icon = { icons . Copy }
121- text = { translate ( 'cardPage.cardDetails.copyCvv' ) }
122- onPress = { ( ) => Clipboard . setString ( cvv ) }
124+ text = { isCopyButtonActive ? translate ( 'cardPage.cardDetails.copyCvv' ) : translate ( 'common.copied' ) }
125+ onPress = { ( ) => {
126+ Clipboard . setString ( cvv ) ;
127+ setCopyButtonInactive ( ) ;
128+ } }
123129 style = { [ styles . mt10 , styles . alignSelfCenter ] }
124130 />
125131 ) ;
0 commit comments