initial commit
This commit is contained in:
5
apps/Frontend/src/redux/hooks.ts
Executable file
5
apps/Frontend/src/redux/hooks.ts
Executable file
@@ -0,0 +1,5 @@
|
||||
import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux";
|
||||
import type { RootState, AppDispatch } from "./store";
|
||||
|
||||
export const useAppDispatch: () => AppDispatch = useDispatch;
|
||||
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;
|
||||
32
apps/Frontend/src/redux/slices/seleniumClaimSubmitTaskSlice.ts
Executable file
32
apps/Frontend/src/redux/slices/seleniumClaimSubmitTaskSlice.ts
Executable file
@@ -0,0 +1,32 @@
|
||||
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
||||
|
||||
export type TaskStatus = "idle" | "pending" | "success" | "error";
|
||||
|
||||
export interface SeleniumTaskState {
|
||||
status: TaskStatus;
|
||||
message: string;
|
||||
show: boolean;
|
||||
}
|
||||
|
||||
const initialState: SeleniumTaskState = {
|
||||
status: "idle",
|
||||
message: "",
|
||||
show: false,
|
||||
};
|
||||
|
||||
const seleniumClaimSubmitTaskSlice = createSlice({
|
||||
name: "seleniumClaimSubmitTask",
|
||||
initialState,
|
||||
reducers: {
|
||||
setTaskStatus: (
|
||||
state: SeleniumTaskState,
|
||||
action: PayloadAction<Partial<SeleniumTaskState>>
|
||||
) => {
|
||||
return { ...state, ...action.payload, show: true };
|
||||
},
|
||||
clearTaskStatus: () => initialState,
|
||||
},
|
||||
});
|
||||
|
||||
export const { setTaskStatus, clearTaskStatus } = seleniumClaimSubmitTaskSlice.actions;
|
||||
export default seleniumClaimSubmitTaskSlice.reducer;
|
||||
32
apps/Frontend/src/redux/slices/seleniumEligibilityBatchCheckTaskSlice.ts
Executable file
32
apps/Frontend/src/redux/slices/seleniumEligibilityBatchCheckTaskSlice.ts
Executable file
@@ -0,0 +1,32 @@
|
||||
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
||||
|
||||
export type TaskStatus = "idle" | "pending" | "success" | "error";
|
||||
|
||||
export interface SeleniumTaskState {
|
||||
status: TaskStatus;
|
||||
message: string;
|
||||
show: boolean;
|
||||
}
|
||||
|
||||
const initialState: SeleniumTaskState = {
|
||||
status: "idle",
|
||||
message: "",
|
||||
show: false,
|
||||
};
|
||||
|
||||
const seleniumEligibilityBatchCheckTaskSlice = createSlice({
|
||||
name: "seleniumEligibilityBatchCheckTask",
|
||||
initialState,
|
||||
reducers: {
|
||||
setTaskStatus: (
|
||||
state: SeleniumTaskState,
|
||||
action: PayloadAction<Partial<SeleniumTaskState>>
|
||||
) => {
|
||||
return { ...state, ...action.payload, show: true };
|
||||
},
|
||||
clearTaskStatus: () => initialState,
|
||||
},
|
||||
});
|
||||
|
||||
export const { setTaskStatus, clearTaskStatus } = seleniumEligibilityBatchCheckTaskSlice.actions;
|
||||
export default seleniumEligibilityBatchCheckTaskSlice.reducer;
|
||||
32
apps/Frontend/src/redux/slices/seleniumEligibilityCheckTaskSlice.ts
Executable file
32
apps/Frontend/src/redux/slices/seleniumEligibilityCheckTaskSlice.ts
Executable file
@@ -0,0 +1,32 @@
|
||||
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
||||
|
||||
export type TaskStatus = "idle" | "pending" | "success" | "error";
|
||||
|
||||
export interface SeleniumTaskState {
|
||||
status: TaskStatus;
|
||||
message: string;
|
||||
show: boolean;
|
||||
}
|
||||
|
||||
const initialState: SeleniumTaskState = {
|
||||
status: "idle",
|
||||
message: "",
|
||||
show: false,
|
||||
};
|
||||
|
||||
const seleniumEligibilityCheckTaskSlice = createSlice({
|
||||
name: "seleniumEligibilityCheckTask",
|
||||
initialState,
|
||||
reducers: {
|
||||
setTaskStatus: (
|
||||
state: SeleniumTaskState,
|
||||
action: PayloadAction<Partial<SeleniumTaskState>>
|
||||
) => {
|
||||
return { ...state, ...action.payload, show: true };
|
||||
},
|
||||
clearTaskStatus: () => initialState,
|
||||
},
|
||||
});
|
||||
|
||||
export const { setTaskStatus, clearTaskStatus } = seleniumEligibilityCheckTaskSlice.actions;
|
||||
export default seleniumEligibilityCheckTaskSlice.reducer;
|
||||
15
apps/Frontend/src/redux/store.ts
Executable file
15
apps/Frontend/src/redux/store.ts
Executable file
@@ -0,0 +1,15 @@
|
||||
import { configureStore } from "@reduxjs/toolkit";
|
||||
import seleniumClaimSubmitTaskReducer from "./slices/seleniumClaimSubmitTaskSlice";
|
||||
import seleniumEligibilityCheckTaskReducer from "./slices/seleniumEligibilityCheckTaskSlice";
|
||||
import seleniumEligibilityBatchCheckTaskReducer from "./slices/seleniumEligibilityBatchCheckTaskSlice";
|
||||
|
||||
export const store = configureStore({
|
||||
reducer: {
|
||||
seleniumClaimSubmitTask: seleniumClaimSubmitTaskReducer,
|
||||
seleniumEligibilityCheckTask: seleniumEligibilityCheckTaskReducer,
|
||||
seleniumEligibilityBatchCheckTask: seleniumEligibilityBatchCheckTaskReducer,
|
||||
},
|
||||
});
|
||||
|
||||
export type RootState = ReturnType<typeof store.getState>;
|
||||
export type AppDispatch = typeof store.dispatch;
|
||||
Reference in New Issue
Block a user