From de8895e38e54e77ee689363787780657511bceba Mon Sep 17 00:00:00 2001 From: Aleksandr Kuznetsov Date: Tue, 20 Jun 2023 15:29:41 +0500 Subject: [PATCH 1/3] fix: #3 --- src/storage/selectors/history.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/storage/selectors/history.ts b/src/storage/selectors/history.ts index 98ee4a3..740ef9f 100644 --- a/src/storage/selectors/history.ts +++ b/src/storage/selectors/history.ts @@ -49,14 +49,14 @@ export const useView = selector({ } if (view === "@kokateam/router_event_back") { - activeView = viewsHistory.slice(-1)[0]; - history = HistoryBackViews(old.back_step, history); // функция удаляет N View вместе с их Panel's - const viewsDeleting = viewsHistory.splice(old.back_step); // история таких панелей возвращается в изначальное состояние viewsDeleting.map( (key) => (viewsPanels[key] = structureRouter.panels[key].slice(0, 1)) ); + + activeView = viewsHistory.slice(-1)[0]; + history = HistoryBackViews(old.back_step, history); // функция удаляет N View вместе с их Panel's } else { if (!structureRouter.views.includes(view as string)) { return console.error( From b5e42dd4c1c8f1e7bc185a6076153d4ad03cad1a Mon Sep 17 00:00:00 2001 From: Aleksandr Kuznetsov Date: Tue, 20 Jun 2023 15:34:25 +0500 Subject: [PATCH 2/3] fix: #4 --- src/components/ModalRoot.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ModalRoot.tsx b/src/components/ModalRoot.tsx index bc7ac38..ff4ae2f 100644 --- a/src/components/ModalRoot.tsx +++ b/src/components/ModalRoot.tsx @@ -32,7 +32,7 @@ const ModalRoot: FC = (props) => { activeModal={activeModal} onClose={() => { toModal(-1); - props.onClose(); + props.onClose && props.onClose(); }} {...props} > From c3a6bcee58d8c09e3de04d87f3b8275b6e4d36f6 Mon Sep 17 00:00:00 2001 From: Aleksandr Kuznetsov Date: Tue, 20 Jun 2023 15:42:52 +0500 Subject: [PATCH 3/3] fix: #5 --- src/hooks/hooks.ts | 11 +++++++++++ src/hooks/interfaces.ts | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/src/hooks/hooks.ts b/src/hooks/hooks.ts index 78d7e0e..30706f3 100644 --- a/src/hooks/hooks.ts +++ b/src/hooks/hooks.ts @@ -14,6 +14,7 @@ import { RouterViewI, RouterPopoutI, RouterModalI, + RouterHooksI, } from "./interfaces"; export const useRouterView = (): RouterViewI => { @@ -90,3 +91,13 @@ export const useRouterModal = (): RouterModalI => { return { activeModal, toModal }; }; + +export const useRouterHooks = (): RouterHooksI => { + const { toView } = useRouterView(); + const { toPanel } = useRouterPanel(); + const { toPopout } = useRouterPopout(); + const { toModal } = useRouterModal(); + const toBack = useRouterBack(); + + return { toView, toPanel, toPopout, toModal, toBack }; +}; diff --git a/src/hooks/interfaces.ts b/src/hooks/interfaces.ts index 9024231..b70bcd4 100644 --- a/src/hooks/interfaces.ts +++ b/src/hooks/interfaces.ts @@ -38,3 +38,11 @@ export interface RouterModalI { value: string | number; }; } + +export interface RouterHooksI { + toView: RouterViewI["toView"]; + toPanel: RouterPanelI["toPanel"]; + toPopout: RouterPopoutI["toPopout"]; + toModal: RouterModalI["toModal"]; + toBack: (step: number | string) => RouterBackI; +}