From d1ad1c456c96d7bb42a3bc33691c6e879335a2f1 Mon Sep 17 00:00:00 2001 From: Ben Woodward Date: Mon, 23 Jan 2023 20:41:03 -0800 Subject: fix: nopass support (#266) Fixes #265 --- src/components/WifiCard.js | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'src/components/WifiCard.js') diff --git a/src/components/WifiCard.js b/src/components/WifiCard.js index 35f35a7..6e91be0 100644 --- a/src/components/WifiCard.js +++ b/src/components/WifiCard.js @@ -33,14 +33,21 @@ export const WifiCard = (props) => { }; useEffect(() => { - const ssid = escape(props.settings.ssid); - const password = !props.settings.encryptionMode - ? '' - : escape(props.settings.password); - const qrval = - props.settings.encryptionMode === 'WPA2-EAP' - ? `WIFI:T:${props.settings.encryptionMode};S:${ssid};P:${password};H:${props.settings.hiddenSSID};E:${props.settings.eapMethod};I:${props.settings.eapIdentity};;` - : `WIFI:T:${props.settings.encryptionMode};S:${ssid};P:${password};H:${props.settings.hiddenSSID};;`; + let opts = {}; + + opts.T = props.settings.encryptionMode || 'nopass'; + if (props.settings.encryptionMode === 'WPA2-EAP') { + opts.E = props.settings.eapMethod; + opts.I = props.settings.eapIdentity; + } + opts.S = escape(props.settings.ssid); + opts.P = escape(props.settings.password); + opts.H = props.settings.hiddenSSID; + + let data = ''; + Object.entries(opts).forEach(([k, v]) => (data += `${k}:${v};`)); + const qrval = `WIFI:${data};`; + setQrvalue(qrval); }, [props.settings]); -- cgit v1.2.3