1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2024-11-14 17:35:35 +01:00

Compare commits

..

No commits in common. "2f73516384a6ede3dad6a5130f754ab327675ad0" and "4c5aeed26eea1335530c2a56c00d595e766e9347" have entirely different histories.

8 changed files with 36 additions and 128 deletions

101
package-lock.json generated
View File

@ -9,10 +9,6 @@
"version": "6.0.3", "version": "6.0.3",
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.6.0",
"@fortawesome/free-regular-svg-icons": "^6.6.0",
"@fortawesome/free-solid-svg-icons": "^6.6.0",
"@fortawesome/react-fontawesome": "^0.2.2",
"axios": "^1.7.2", "axios": "^1.7.2",
"immutability-helper": "^3.1.1", "immutability-helper": "^3.1.1",
"moment": "^2.30.1", "moment": "^2.30.1",
@ -26,6 +22,7 @@
"@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7",
"@babel/preset-env": "^7.24.7", "@babel/preset-env": "^7.24.7",
"@babel/preset-react": "^7.24.7", "@babel/preset-react": "^7.24.7",
"@fortawesome/fontawesome-free": "^6.5.2",
"@testing-library/react": "^8.0.9", "@testing-library/react": "^8.0.9",
"babel-loader": "^8.1.0", "babel-loader": "^8.1.0",
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",
@ -2088,59 +2085,16 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
} }
}, },
"node_modules/@fortawesome/fontawesome-common-types": { "node_modules/@fortawesome/fontawesome-free": {
"version": "6.6.0", "version": "6.5.2",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz",
"integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==",
"dev": true,
"hasInstallScript": true,
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/@fortawesome/fontawesome-svg-core": {
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz",
"integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==",
"dependencies": {
"@fortawesome/fontawesome-common-types": "6.6.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/free-regular-svg-icons": {
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz",
"integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==",
"dependencies": {
"@fortawesome/fontawesome-common-types": "6.6.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/free-solid-svg-icons": {
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz",
"integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==",
"dependencies": {
"@fortawesome/fontawesome-common-types": "6.6.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/react-fontawesome": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz",
"integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==",
"dependencies": {
"prop-types": "^15.8.1"
},
"peerDependencies": {
"@fortawesome/fontawesome-svg-core": "~1 || ~6",
"react": ">=16.3"
}
},
"node_modules/@humanwhocodes/config-array": { "node_modules/@humanwhocodes/config-array": {
"version": "0.11.14", "version": "0.11.14",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
@ -20262,42 +20216,11 @@
"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true "dev": true
}, },
"@fortawesome/fontawesome-common-types": { "@fortawesome/fontawesome-free": {
"version": "6.6.0", "version": "6.5.2",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz",
"integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==" "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==",
}, "dev": true
"@fortawesome/fontawesome-svg-core": {
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz",
"integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==",
"requires": {
"@fortawesome/fontawesome-common-types": "6.6.0"
}
},
"@fortawesome/free-regular-svg-icons": {
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz",
"integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==",
"requires": {
"@fortawesome/fontawesome-common-types": "6.6.0"
}
},
"@fortawesome/free-solid-svg-icons": {
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz",
"integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==",
"requires": {
"@fortawesome/fontawesome-common-types": "6.6.0"
}
},
"@fortawesome/react-fontawesome": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz",
"integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==",
"requires": {
"prop-types": "^15.8.1"
}
}, },
"@humanwhocodes/config-array": { "@humanwhocodes/config-array": {
"version": "0.11.14", "version": "0.11.14",

View File

@ -14,10 +14,6 @@
"license": "GPL-3.0", "license": "GPL-3.0",
"main": "./src/index.js", "main": "./src/index.js",
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.6.0",
"@fortawesome/free-regular-svg-icons": "^6.6.0",
"@fortawesome/free-solid-svg-icons": "^6.6.0",
"@fortawesome/react-fontawesome": "^0.2.2",
"axios": "^1.7.2", "axios": "^1.7.2",
"immutability-helper": "^3.1.1", "immutability-helper": "^3.1.1",
"moment": "^2.30.1", "moment": "^2.30.1",
@ -38,6 +34,7 @@
"@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7",
"@babel/preset-env": "^7.24.7", "@babel/preset-env": "^7.24.7",
"@babel/preset-react": "^7.24.7", "@babel/preset-react": "^7.24.7",
"@fortawesome/fontawesome-free": "^6.5.2",
"@testing-library/react": "^8.0.9", "@testing-library/react": "^8.0.9",
"babel-loader": "^8.1.0", "babel-loader": "^8.1.0",
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",

View File

@ -7,8 +7,6 @@
import React from "react"; import React from "react";
import { faMinus, faPlus } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import Input from "./Input"; import Input from "./Input";
@ -62,7 +60,7 @@ function NumberInput({ onChange, inlineText, value, ...props }) {
onMouseUp={() => enableIncrease(false)} onMouseUp={() => enableIncrease(false)}
aria-label="Increase" aria-label="Increase"
> >
<FontAwesomeIcon icon={faPlus} /> <i className="fas fa-plus" />
</button> </button>
<button <button
type="button" type="button"
@ -71,7 +69,7 @@ function NumberInput({ onChange, inlineText, value, ...props }) {
onMouseUp={() => enableDecrease(false)} onMouseUp={() => enableDecrease(false)}
aria-label="Decrease" aria-label="Decrease"
> >
<FontAwesomeIcon icon={faMinus} /> <i className="fas fa-minus" />
</button> </button>
</Input> </Input>
); );

View File

@ -7,8 +7,6 @@
import React, { useState } from "react"; import React, { useState } from "react";
import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import Input from "./Input"; import Input from "./Input";
@ -46,10 +44,8 @@ function PasswordInput({ withEye, newPass, ...props }) {
setHidden((shouldBeHidden) => !shouldBeHidden); setHidden((shouldBeHidden) => !shouldBeHidden);
}} }}
> >
<FontAwesomeIcon <i
icon={isHidden ? faEye : faEyeSlash} className={`fa ${isHidden ? "fa-eye" : "fa-eye-slash"}`}
style={{ width: "1.25rem" }}
className="text-dark"
/> />
</button> </button>
)} )}

View File

@ -25,7 +25,7 @@ exports[`<NumberInput/> Render number input 1`] = `
type="button" type="button"
> >
<i <i
class="fa" class="fas fa-plus"
/> />
</button> </button>
<button <button
@ -34,7 +34,7 @@ exports[`<NumberInput/> Render number input 1`] = `
type="button" type="button"
> >
<i <i
class="fa" class="fas fa-minus"
/> />
</button> </button>
</div> </div>

View File

@ -7,7 +7,6 @@
import React, { useState } from "react"; import React, { useState } from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import QRCode from "qrcode.react"; import QRCode from "qrcode.react";
@ -38,11 +37,10 @@ export default function WiFiQRCode({ SSID, password }) {
setModal(true); setModal(true);
}} }}
> >
<FontAwesomeIcon <i
icon="fa-solid fa-qrcode" className="fa-solid fa-qrcode"
title={_("Show QR code")} title={_("Show QR code")}
aria-label={_("Show QR code")} aria-label={_("Show QR code")}
className="text-dark"
/> />
</button> </button>
{modal ? ( {modal ? (
@ -86,10 +84,7 @@ function QRCodeModal({ shown, setShown, SSID, password }) {
createAndDownloadPdf(SSID, password); createAndDownloadPdf(SSID, password);
}} }}
> >
<FontAwesomeIcon <i className="fas fa-file-download me-2" />
icon="fa-solid fa-file-download"
className="me-2"
/>
{_("Download PDF")} {_("Download PDF")}
</Button> </Button>
</ModalFooter> </ModalFooter>

View File

@ -5,7 +5,7 @@ exports[`<WiFiSettings/> Snapshot 2.4 GHz 1`] = `
- First value - First value
+ Second value + Second value
@@ -240,207 +240,95 @@ @@ -242,207 +242,95 @@
value="0" value="0"
> >
auto auto
@ -339,7 +339,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
- First value - First value
+ Second value + Second value
@@ -524,10 +524,91 @@ @@ -526,10 +526,93 @@
<small> <small>
Enables Wi-Fi for guests, which is separated from LAN network. Devices connected to this network are allowed to access the internet, but aren't allowed to access other devices and the configuration interface of the router. Parameters of the guest network can be set in the Guest network tab. Enables Wi-Fi for guests, which is separated from LAN network. Devices connected to this network are allowed to access the internet, but aren't allowed to access other devices and the configuration interface of the router. Parameters of the guest network can be set in the Guest network tab.
</small> </small>
@ -371,7 +371,9 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
+ type="button" + type="button"
+ > + >
+ <i + <i
+ class="fa" + aria-label="Show QR code"
+ class="fa-solid fa-qrcode"
+ title="Show QR code"
+ /> + />
+ </button> + </button>
+ </div> + </div>
@ -409,7 +411,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
+ type="button" + type="button"
+ > + >
+ <i + <i
+ class="fa" + class="fa fa-eye"
+ /> + />
+ </button> + </button>
+ </div> + </div>
@ -431,7 +433,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
class="form-check form-switch mb-3 d-flex align-items-center" class="form-check form-switch mb-3 d-flex align-items-center"
> >
<input <input
@@ -550,10 +631,11 @@ @@ -552,10 +635,11 @@
<div <div
class="text-end" class="text-end"
> >
@ -450,7 +452,7 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
- First value - First value
+ Second value + Second value
@@ -21,10 +21,513 @@ @@ -21,10 +21,515 @@
> >
Wi-Fi 1 Wi-Fi 1
</h2> </h2>
@ -480,7 +482,9 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ type="button" + type="button"
+ > + >
+ <i + <i
+ class="fa" + aria-label="Show QR code"
+ class="fa-solid fa-qrcode"
+ title="Show QR code"
+ /> + />
+ </button> + </button>
+ </div> + </div>
@ -517,7 +521,7 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ type="button" + type="button"
+ > + >
+ <i + <i
+ class="fa" + class="fa fa-eye"
+ /> + />
+ </button> + </button>
+ </div> + </div>

View File

@ -1,10 +1,10 @@
/* /*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/) * Copyright (C) 2019 CZ.NIC z.s.p.o. (http://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.
*/ */
import React from "react";
import mockAxios from "jest-mock-axios"; import mockAxios from "jest-mock-axios";
import moment from "moment-timezone"; import moment from "moment-timezone";
import "./mockGlobals"; import "./mockGlobals";
@ -26,8 +26,3 @@ jest.doMock("moment", () => {
return moment; return moment;
}); });
Date.now = jest.fn(() => new Date(Date.UTC(2019, 1, 1, 12, 13, 14)).valueOf()); Date.now = jest.fn(() => new Date(Date.UTC(2019, 1, 1, 12, 13, 14)).valueOf());
// Mock Font Awesome v6 library
jest.mock("@fortawesome/react-fontawesome", () => ({
FontAwesomeIcon: () => <i className="fa" />,
}));