import React, { useEffect, useState, useContext } from "react"; import QRCode from "qrcode.react"; import toastError from "../../errors/toastError"; import { Dialog, DialogContent, Paper, Typography, useTheme } from "@material-ui/core"; import { i18n } from "../../translate/i18n"; import api from "../../services/api"; import { SocketContext } from "../../context/Socket/SocketContext"; const QrcodeModal = ({ open, onClose, whatsAppId }) => { const [qrCode, setQrCode] = useState(""); const theme = useTheme(); const socketManager = useContext(SocketContext); useEffect(() => { const fetchSession = async () => { if (!whatsAppId) return; try { const { data } = await api.get(`/whatsapp/${whatsAppId}`); setQrCode(data.qrcode); } catch (err) { toastError(err); } }; fetchSession(); }, [whatsAppId]); useEffect(() => { if (!whatsAppId) return; const companyId = localStorage.getItem("companyId"); const socket = socketManager.getSocket(companyId); socket.on(`company-${companyId}-whatsappSession`, (data) => { if (data.action === "update" && data.session.id === whatsAppId) { setQrCode(data.session.qrcode); } if (data.action === "update" && data.session.qrcode === "") { onClose(); } }); return () => { socket.disconnect(); }; }, [whatsAppId, onClose, socketManager]); return (
Utilize o seu WhatsApp: 1 - Abra o WhatsApp no seu celular 2 - Toque em Mais opções no Android ou em Configurações no iPhone 3 - Toque em Dispositivos conectados e, em seguida, em Conectar dispositivos 4 - Aponte seu celular para essa tela para capturar o QR Code
{qrCode ? ( ) : ( Waiting for QR Code )}
); }; export default React.memo(QrcodeModal);