From d2dd54caca19d3660e49c729828d52aa2bbb5716 Mon Sep 17 00:00:00 2001 From: Ben Woodward Date: Sun, 11 Jul 2021 10:49:28 -0700 Subject: Portrait orientation (#35) * Portrait orientation Adds a rotate button that toggle landscape and portrait orientation. Fixes #30 * Fix QRCode padding in portait orientation * Default to portrait on small screens --- src/components/Card.js | 49 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 12 deletions(-) (limited to 'src/components/Card.js') diff --git a/src/components/Card.js b/src/components/Card.js index bbf29f9..4ec4430 100644 --- a/src/components/Card.js +++ b/src/components/Card.js @@ -1,13 +1,15 @@ import QRCode from 'qrcode.react'; -import { useEffect, useState } from 'react'; +import { useEffect, useRef, useState } from 'react'; import './style.css'; export const Card = () => { + const firstLoad = useRef(true); + const [qrvalue, setQrvalue] = useState(''); const [network, setNetwork] = useState({ ssid: '', password: '', }); - const [qrvalue, setQrvalue] = useState(''); + const [portrait, setPortrait] = useState(false); const escape = (v) => { const needsEscape = ['"', ';', ',', ':', '\\']; @@ -33,6 +35,11 @@ export const Card = () => { }; useEffect(() => { + if (firstLoad.current && window.innerWidth < 500) { + firstLoad.current = false; + setPortrait(true); + } + const ssid = escape(network.ssid); const password = escape(network.password); setQrvalue(`WIFI:T:WPA;S:${ssid};P:${password};;`); @@ -40,16 +47,24 @@ export const Card = () => { return (
-