import { Box, chakra, HStack, IconButton, Modal, ModalBody, ModalCloseButton, ModalContent, ModalHeader, ModalOverlay, Text, VStack, } from '@chakra-ui/react'; import { ChevronLeftIcon, ChevronRightIcon, QrCodeIcon, } from '@heroicons/react/24/outline'; import { QRCodeCanvas } from 'qrcode.react'; import { FC, useState } from 'react'; import { useTranslation } from 'react-i18next'; import Slider from 'react-slick'; import 'slick-carousel/slick/slick-theme.css'; import 'slick-carousel/slick/slick.css'; import { Icon } from 'components/icon'; import { useUsers } from 'stores'; const QRCode = chakra(QRCodeCanvas); const NextIcon = chakra(ChevronRightIcon, { baseStyle: { w: 6, h: 6, color: 'gray.600', _dark: { color: 'white', }, }, }); const PrevIcon = chakra(ChevronLeftIcon, { baseStyle: { w: 6, h: 6, color: 'gray.600', _dark: { color: 'white', }, }, }); const QRIcon = chakra(QrCodeIcon, { baseStyle: { w: 5, h: 5, }, }); export const QRCodeDialog: FC = () => { const { QRcodeLinks, setQRCode, setSubLink, subscribeUrl } = useUsers(); const isOpen = QRcodeLinks !== null; const [index, setIndex] = useState(0); const { t } = useTranslation(); const onClose = () => { setQRCode(null); setSubLink(null); }; const subscribeQrLink = String(subscribeUrl).startsWith('/') ? window.location.origin + subscribeUrl : String(subscribeUrl); return ( {QRcodeLinks && ( {subscribeUrl && ( {t('qrcodeDialog.sublink')} )} setIndex(0)} nextArrow={ } prevArrow={ } > {QRcodeLinks.map((link, i) => { return ( ); })} {index + 1} / {QRcodeLinks.length} )} ); };