From ab32401d5f85bce4a56d77b795982ba149c96dec Mon Sep 17 00:00:00 2001 From: Vishwajeet Date: Thu, 20 Oct 2022 12:53:16 +0530 Subject: [PATCH 1/4] HLM-728 Global interceptor and toast --- tenant-portal/package-lock.json | 34 +++++++++++++++++++++++++++++++++ tenant-portal/package.json | 1 + tenant-portal/src/App.js | 18 +++++++++++++++++ 3 files changed, 53 insertions(+) diff --git a/tenant-portal/package-lock.json b/tenant-portal/package-lock.json index 957adf4be..1a9db9111 100644 --- a/tenant-portal/package-lock.json +++ b/tenant-portal/package-lock.json @@ -19,6 +19,7 @@ "react-dom": "^18.2.0", "react-router-dom": "^6.3.0", "react-scripts": "4.0.1", + "react-toastify": "^8.0.0", "web-vitals": "^2.1.4" } }, @@ -6148,6 +6149,14 @@ "node": ">=6" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -16750,6 +16759,18 @@ "node": ">=0.10.0" } }, + "node_modules/react-toastify": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-8.2.0.tgz", + "integrity": "sha512-Pg2Ju7NngAamarFvLwqrFomJ57u/Ay6i6zfLurt/qPynWkAkOthu6vxfqYpJCyNhHRhR4hu7+bySSeWWJu6PAg==", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -26438,6 +26459,11 @@ "shallow-clone": "^3.0.0" } }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -34533,6 +34559,14 @@ } } }, + "react-toastify": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-8.2.0.tgz", + "integrity": "sha512-Pg2Ju7NngAamarFvLwqrFomJ57u/Ay6i6zfLurt/qPynWkAkOthu6vxfqYpJCyNhHRhR4hu7+bySSeWWJu6PAg==", + "requires": { + "clsx": "^1.1.1" + } + }, "react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", diff --git a/tenant-portal/package.json b/tenant-portal/package.json index 78a028ca6..e39f8d466 100644 --- a/tenant-portal/package.json +++ b/tenant-portal/package.json @@ -16,6 +16,7 @@ "react-dom": "^18.2.0", "react-router-dom": "^6.3.0", "react-scripts": "4.0.1", + "react-toastify": "^8.0.0", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/tenant-portal/src/App.js b/tenant-portal/src/App.js index bb564fc82..56da4fc25 100644 --- a/tenant-portal/src/App.js +++ b/tenant-portal/src/App.js @@ -7,6 +7,23 @@ import { PrivateRoute } from "./utils/PrivateRoute"; import CreateSchema from "./components/CreateSchema/CreateSchema"; import config from "./config.json" import Footer from "./components/Footer/Footer"; +import { ToastContainer, toast } from 'react-toastify'; +import 'react-toastify/dist/ReactToastify.css'; +import axios from 'axios'; + +axios.interceptors.response.use( + response => response, + error => { + if (error.response.status === 401) { + toast.error("Incorrect User name/Password"); + } + else if (error.response.status === 403) { + toast.error("Error 403"); + } + else if(error.response){ + toast.error("Some error occured."); + } + }); function App() { const { initialized, keycloak } = useKeycloak(); @@ -32,6 +49,7 @@ function App() {