import { CameraIcon, Card, Heading, MobilePhoneIcon, Pane, Paragraph, Text, TextareaField, } from 'evergreen-ui'; import QRCode from 'qrcode.react'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import logo from '../../src/images/wifi.png'; import './style.css'; export const WifiCard = (props) => { const { t } = useTranslation(); const [qrvalue, setQrvalue] = useState(''); const escape = (v) => { const needsEscape = ['"', ';', ',', ':', '\\']; let escaped = ''; for (const c of v) { if (needsEscape.includes(c)) { escaped += `\\${c}`; } else { escaped += c; } } return escaped; }; useEffect(() => { const ssid = escape(props.settings.ssid); const password = !props.settings.encryptionMode ? '' : escape(props.settings.password); setQrvalue( `WIFI:T:${props.settings.encryptionMode};S:${ssid};P:${password};;` ); }, [props.settings]); const portraitWidth = () => { const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); return isMobile ? '100%' : '280px'; }; const passwordFieldLabel = () => { const hiddenPassword = props.settings.hidePassword || !props.settings.encryptionMode; return hiddenPassword ? '' : t('wifi.password'); }; return ( icon {t('wifi.login')} props.onSSIDChange(e.target.value)} isInvalid={!!props.ssidError} validationMessage={!!props.ssidError && props.ssidError} /> 40 ? '5em' : 'auto' } label={passwordFieldLabel()} placeholder={t('wifi.password.placeholder')} value={props.settings.password} onChange={(e) => props.onPasswordChange(e.target.value)} isInvalid={!!props.passwordError} validationMessage={!!props.passwordError && props.passwordError} />
{t('wifi.tip')}
); };