import { ActivityIndicator, StyleSheet, View } from 'react-native';
import { useSnapshot } from 'valtio';
import ModalHeader from '../components/ModalHeader';
import QRCode from '../components/QRCode';
import CopyIcon from '../assets/CopyLarge';
import { WcConnectionCtrl } from '../controllers/WcConnectionCtrl';
import type { RouterProps } from '../types/routerTypes';
import { ThemeCtrl } from '../controllers/ThemeCtrl';
import useTheme from '../hooks/useTheme';
import { ToastCtrl } from '../controllers/ToastCtrl';
import { useEffect } from 'react';
function QRCodeView({
onCopyClipboard,
isPortrait,
windowHeight,
windowWidth,
}: RouterProps) {
const Theme = useTheme();
const QRSize = isPortrait
? Math.round(windowWidth * 0.8)
: Math.round(windowHeight * 0.6);
const themeState = useSnapshot(ThemeCtrl.state);
const { pairingUri, pairingError } = useSnapshot(WcConnectionCtrl.state);
const onCopy = async () => {
if (onCopyClipboard && pairingUri) {
onCopyClipboard(pairingUri);
ToastCtrl.openToast('Link copied', 'success');
}
};
useEffect(() => {
if (pairingError) {
ToastCtrl.openToast('Connection request declined', 'error');
}
}, [pairingError]);
return (
<>
}
onActionPress={onCopyClipboard ? onCopy : undefined}
actionDisabled={!pairingUri}
/>
{pairingUri ? (
) : (
)}
>
);
}
const styles = StyleSheet.create({
container: {
paddingBottom: 16,
width: '100%',
},
});
export default QRCodeView;