From fe11eef2daf53281e8cdff8b65c3f0d82d5af4dc Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 27 Apr 2023 21:59:18 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Added=20new=20`useUrlQueryActiveKey?= =?UTF-8?q?`=20hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/hooks/useUrlQueryActiveKey/index.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 packages/app/src/hooks/useUrlQueryActiveKey/index.js diff --git a/packages/app/src/hooks/useUrlQueryActiveKey/index.js b/packages/app/src/hooks/useUrlQueryActiveKey/index.js new file mode 100644 index 00000000..f4e18725 --- /dev/null +++ b/packages/app/src/hooks/useUrlQueryActiveKey/index.js @@ -0,0 +1,22 @@ +import React from "react" + +export default ({ + defaultKey = "0", + queryKey = "key", +}) => { + const [activeKey, setActiveKey] = React.useState(new URLSearchParams(window.location.search).get(queryKey) ?? defaultKey) + + const replaceQueryTypeToCurrentTab = (key) => { + app.history.replace(`${window.location.pathname}?${queryKey}=${key}`) + } + + const changeActiveKey = (key) => { + setActiveKey(key) + replaceQueryTypeToCurrentTab(key) + } + + return [ + activeKey, + changeActiveKey, + ] +} \ No newline at end of file