From c4ce652ab338516dc64fc34bf877f3693144e087 Mon Sep 17 00:00:00 2001 From: GringoElPepito Date: Thu, 7 Dec 2023 18:45:39 +0100 Subject: [PATCH] Structure react app --- webapp/package-lock.json | 98 +++++++++++++++++++++++++++++++++++ webapp/package.json | 4 ++ webapp/src/assets/txt | 0 webapp/src/components/txt | 0 webapp/src/index.js | 4 +- webapp/src/lib/txt | 0 webapp/src/pages/txt | 0 webapp/src/reportWebVitals.js | 13 ----- webapp/src/setupTests.js | 5 -- 9 files changed, 103 insertions(+), 21 deletions(-) create mode 100644 webapp/src/assets/txt create mode 100644 webapp/src/components/txt create mode 100644 webapp/src/lib/txt create mode 100644 webapp/src/pages/txt delete mode 100644 webapp/src/reportWebVitals.js delete mode 100644 webapp/src/setupTests.js diff --git a/webapp/package-lock.json b/webapp/package-lock.json index 2b95655..93cf391 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -11,9 +11,13 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "flowbite": "^2.2.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-i18next": "^13.5.0", "react-scripts": "5.0.1", + "tailwindcss": "^3.3.6", + "translate": "^2.0.2", "web-vitals": "^2.1.4" } }, @@ -3261,6 +3265,15 @@ } } }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -8342,6 +8355,15 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, + "node_modules/flowbite": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/flowbite/-/flowbite-2.2.0.tgz", + "integrity": "sha512-Eq0qWz4a5nlxaGuUcspzpu+8Ny0A7lKEJEKcuPpkdSoF8tWjbKeuVVgKk8/q10ZE9bhXh1GHBXdCsRxu0LZTNQ==", + "dependencies": { + "@popperjs/core": "^2.9.3", + "mini-svg-data-uri": "^1.4.3" + } + }, "node_modules/follow-redirects": { "version": "1.15.3", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", @@ -9044,6 +9066,14 @@ "node": ">=12" } }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "dependencies": { + "void-elements": "3.1.0" + } + }, "node_modules/html-webpack-plugin": { "version": "5.5.4", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.4.tgz", @@ -9178,6 +9208,29 @@ "node": ">=10.17.0" } }, + "node_modules/i18next": { + "version": "23.7.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.7.8.tgz", + "integrity": "sha512-yCe9964O+1abdIG01AOzk6P9mQi0HVJV1B57whYJQu6TjmrB9JHHDYonDI8amGt6M6b9bP3x3R0Zh7ROmvX7JQ==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "peer": true, + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -12417,6 +12470,14 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -14728,6 +14789,27 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, + "node_modules/react-i18next": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.5.0.tgz", + "integrity": "sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "html-parse-stringify": "^3.0.1" + }, + "peerDependencies": { + "i18next": ">= 23.2.3", + "react": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -16552,6 +16634,14 @@ "node": ">=8" } }, + "node_modules/translate": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/translate/-/translate-2.0.2.tgz", + "integrity": "sha512-K07zjM146c2RYbdlG0xCNGkE6WPdcWjdWX55SOpHzgIq9Elj+LvvXDAfbeQ8gSfkrluaGahnNv2pYfq82UiBDQ==", + "funding": { + "url": "https://www.paypal.me/franciscopresencia/19" + } + }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -16953,6 +17043,14 @@ "node": ">= 0.8" } }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/webapp/package.json b/webapp/package.json index 5e6b9b0..97a004f 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -6,9 +6,13 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "flowbite": "^2.2.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-i18next": "^13.5.0", "react-scripts": "5.0.1", + "tailwindcss": "^3.3.6", + "translate": "^2.0.2", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/webapp/src/assets/txt b/webapp/src/assets/txt new file mode 100644 index 0000000..e69de29 diff --git a/webapp/src/components/txt b/webapp/src/components/txt new file mode 100644 index 0000000..e69de29 diff --git a/webapp/src/index.js b/webapp/src/index.js index d563c0f..8994ac3 100644 --- a/webapp/src/index.js +++ b/webapp/src/index.js @@ -2,7 +2,6 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; -import reportWebVitals from './reportWebVitals'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( @@ -13,5 +12,4 @@ root.render( // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); +// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals \ No newline at end of file diff --git a/webapp/src/lib/txt b/webapp/src/lib/txt new file mode 100644 index 0000000..e69de29 diff --git a/webapp/src/pages/txt b/webapp/src/pages/txt new file mode 100644 index 0000000..e69de29 diff --git a/webapp/src/reportWebVitals.js b/webapp/src/reportWebVitals.js deleted file mode 100644 index 5253d3a..0000000 --- a/webapp/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/webapp/src/setupTests.js b/webapp/src/setupTests.js deleted file mode 100644 index 8f2609b..0000000 --- a/webapp/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom';