import { useMemo } from 'react';
import { View } from 'react-native';
import Svg from 'react-native-svg';
import { Icon } from '../../components/wui-icon';
import { Image } from '../../components/wui-image';
import { Shimmer } from '../../components/wui-shimmer';
import { QRCodeUtil } from '../../utils/QRCodeUtil';
import { BorderRadius, LightTheme, Spacing } from '../../utils/ThemeUtil';
import styles from './styles';
export interface QrCodeProps {
size: number;
uri?: string;
imageSrc?: string;
testID?: string;
}
export function QrCode({ size, uri, imageSrc, testID }: QrCodeProps) {
const Theme = LightTheme;
const containerPadding = Spacing.l;
const qrSize = size - containerPadding * 2;
const dots = useMemo(
() => (uri ? QRCodeUtil.generate(uri, qrSize, qrSize / 4) : []),
[uri, qrSize]
);
const shimmerTemplate = () => {
return ;
};
const logoTemplate = () => {
if (imageSrc) {
return (
);
}
return (
);
};
return uri ? (
{logoTemplate()}
) : (
shimmerTemplate()
);
}