1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2025-04-19 08:06:40 +02:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Aleksandr Gumroian
602e3f58dd Merge branch 'fix-qrcode' into 'dev'
Fix WiFiQRCode component

See merge request turris/reforis/foris-js!279
2025-04-16 17:29:30 +02:00
Aleksandr Gumroian
4b58e96f71
Refactor button click handlers to simplify event handling in WiFiQRCode 2025-04-16 16:44:07 +02:00
Aleksandr Gumroian
a174d6a612
Add Turris logo to enhanced QR code display 2025-04-16 16:43:40 +02:00
Aleksandr Gumroian
5d0276a80f
Replace deprecated QRCode component with QRCodeSVG 2025-04-16 16:43:05 +02:00

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/) * Copyright (C) 2019-2025 CZ.NIC z.s.p.o. (https://www.nic.cz/)
* *
* This is free software, licensed under the GNU General Public License v3. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
@ -9,7 +9,7 @@ import React, { useState } from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import QRCode from "qrcode.react"; import { QRCodeSVG } from "qrcode.react";
import { createAndDownloadPdf, toQRCodeContent } from "./qrCodeHelpers"; import { createAndDownloadPdf, toQRCodeContent } from "./qrCodeHelpers";
import Button from "../../bootstrap/Button"; import Button from "../../bootstrap/Button";
@ -33,10 +33,7 @@ export default function WiFiQRCode({ SSID, password }) {
<button <button
type="button" type="button"
className="input-group-text" className="input-group-text"
onClick={(e) => { onClick={() => setModal(true)}
e.preventDefault();
setModal(true);
}}
> >
<FontAwesomeIcon <FontAwesomeIcon
icon="fa-solid fa-qrcode" icon="fa-solid fa-qrcode"
@ -45,14 +42,14 @@ export default function WiFiQRCode({ SSID, password }) {
className="text-secondary" className="text-secondary"
/> />
</button> </button>
{modal ? ( {modal && (
<QRCodeModal <QRCodeModal
setShown={setModal} setShown={setModal}
shown={modal} shown={modal}
SSID={SSID} SSID={SSID}
password={password} password={password}
/> />
) : null} )}
</> </>
); );
} }
@ -69,31 +66,30 @@ function QRCodeModal({ shown, setShown, SSID, password }) {
<Modal setShown={setShown} shown={shown}> <Modal setShown={setShown} shown={shown}>
<ModalHeader setShown={setShown} title={_("Wi-Fi QR Code")} /> <ModalHeader setShown={setShown} title={_("Wi-Fi QR Code")} />
<ModalBody> <ModalBody>
<QRCode <QRCodeSVG
className="d-block mx-auto img-logo-black" className="d-block mx-auto img-logo-black"
renderAs="svg"
value={toQRCodeContent(SSID, password)} value={toQRCodeContent(SSID, password)}
level="M" level="M"
size={350} size={350}
includeMargin marginSize={0}
imageSettings={{
src: "/reforis/static/reforis/imgs/turris.svg",
height: 40,
width: 40,
excavate: true,
}}
/> />
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button <Button
className="btn-secondary" className="btn-secondary"
onClick={(e) => { onClick={() => setShown(false)}
e.preventDefault();
setShown(false);
}}
> >
{_("Close")} {_("Close")}
</Button> </Button>
<Button <Button
className="btn-primary" className="btn-primary"
onClick={(e) => { onClick={() => createAndDownloadPdf(SSID, password)}
e.preventDefault();
createAndDownloadPdf(SSID, password);
}}
> >
<FontAwesomeIcon <FontAwesomeIcon
icon="fa-solid fa-file-download" icon="fa-solid fa-file-download"