From fbc47846e3e1a09116bd2ace2edc9c071064377f Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sat, 2 Sep 2023 19:08:12 +0200 Subject: [PATCH] Fix some instances of react-hooks/exhaustive-deps --- package-lock.json | 14 +++++++------- package.json | 2 +- src/common/Home.tsx | 2 +- src/common/MainHeader.tsx | 11 ++++++----- src/servers/CreateServer.tsx | 26 +++++++++++++------------- test/servers/CreateServer.test.tsx | 24 +++++++++++++++++++----- 6 files changed, 47 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3a2adf85..40082368 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@fortawesome/react-fontawesome": "^0.2.0", "@json2csv/plainjs": "^7.0.3", "@reduxjs/toolkit": "^1.9.5", - "@shlinkio/shlink-frontend-kit": "^0.2.0", + "@shlinkio/shlink-frontend-kit": "^0.2.1", "@shlinkio/shlink-js-sdk": "^0.1.0", "@shlinkio/shlink-web-component": "^0.3.3", "bootstrap": "5.2.3", @@ -2801,9 +2801,9 @@ } }, "node_modules/@shlinkio/shlink-frontend-kit": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@shlinkio/shlink-frontend-kit/-/shlink-frontend-kit-0.2.0.tgz", - "integrity": "sha512-8kGaae0bTiGzbLzPsolLvJ5ud37BR2b1WeDy8lyXIiwoFiSAMIgWpqro0nMdBVBQXovjmMbtiS6BFYsaoBo9/g==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@shlinkio/shlink-frontend-kit/-/shlink-frontend-kit-0.2.1.tgz", + "integrity": "sha512-5mRpQII9bGHAJQ1ghgGY+jFC5tD0y0ufgPqco9vLVGXGVf+BSNQrTiw/Cx6f9eCInqFPgFo8CdJzWUHbIzvC+Q==", "dependencies": { "classnames": "^2.3.2", "qs": "^6.11.2", @@ -12390,9 +12390,9 @@ } }, "@shlinkio/shlink-frontend-kit": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@shlinkio/shlink-frontend-kit/-/shlink-frontend-kit-0.2.0.tgz", - "integrity": "sha512-8kGaae0bTiGzbLzPsolLvJ5ud37BR2b1WeDy8lyXIiwoFiSAMIgWpqro0nMdBVBQXovjmMbtiS6BFYsaoBo9/g==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@shlinkio/shlink-frontend-kit/-/shlink-frontend-kit-0.2.1.tgz", + "integrity": "sha512-5mRpQII9bGHAJQ1ghgGY+jFC5tD0y0ufgPqco9vLVGXGVf+BSNQrTiw/Cx6f9eCInqFPgFo8CdJzWUHbIzvC+Q==", "requires": { "classnames": "^2.3.2", "qs": "^6.11.2", diff --git a/package.json b/package.json index 0c79b7a6..a064e41e 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@fortawesome/react-fontawesome": "^0.2.0", "@json2csv/plainjs": "^7.0.3", "@reduxjs/toolkit": "^1.9.5", - "@shlinkio/shlink-frontend-kit": "^0.2.0", + "@shlinkio/shlink-frontend-kit": "^0.2.1", "@shlinkio/shlink-js-sdk": "^0.1.0", "@shlinkio/shlink-web-component": "^0.3.3", "bootstrap": "5.2.3", diff --git a/src/common/Home.tsx b/src/common/Home.tsx index 4029e39b..bf7b79bd 100644 --- a/src/common/Home.tsx +++ b/src/common/Home.tsx @@ -23,7 +23,7 @@ export const Home = ({ servers }: HomeProps) => { // Try to redirect to the first server marked as auto-connect const autoConnectServer = serversList.find(({ autoConnect }) => autoConnect); autoConnectServer && navigate(`/server/${autoConnectServer.id}`); - }, []); + }, [serversList, navigate]); return (
diff --git a/src/common/MainHeader.tsx b/src/common/MainHeader.tsx index 74cd028a..750ba744 100644 --- a/src/common/MainHeader.tsx +++ b/src/common/MainHeader.tsx @@ -10,14 +10,15 @@ import { ShlinkLogo } from './img/ShlinkLogo'; import './MainHeader.scss'; export const MainHeader = (ServersDropdown: FC) => () => { - const [isOpen, toggleOpen, , close] = useToggle(); + const [isNotCollapsed, toggleCollapse, , collapse] = useToggle(); const location = useLocation(); const { pathname } = location; - useEffect(close, [location]); + // In mobile devices, collapse the navbar when location changes + useEffect(collapse, [location, collapse]); const settingsPath = '/settings'; - const toggleClass = classNames('main-header__toggle-icon', { 'main-header__toggle-icon--opened': isOpen }); + const toggleClass = classNames('main-header__toggle-icon', { 'main-header__toggle-icon--opened': isNotCollapsed }); return ( @@ -25,11 +26,11 @@ export const MainHeader = (ServersDropdown: FC) => () => { Shlink - + - +