import type { PayloadAction } from "@reduxjs/toolkit"; import { createSlice } from "@reduxjs/toolkit"; export interface IPageInfo { path: string; queryParams: Record; } export interface IPageInfoStore { status: "idle" | "progress" | "done"; info: IPageInfo | null; } export const initialState: IPageInfoStore = { status: "idle", info: null, }; const pageInfoSlice = createSlice({ name: "page-info", initialState, reducers: { setPageInfo(state, action: PayloadAction) { state.info = action.payload; state.status = "done"; }, setStatus(state, action) { state.status = action.payload; }, }, }); export const pageInfoReducer = pageInfoSlice.reducer; export const pageInfoActions = pageInfoSlice.actions;