| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { createSlice, PayloadAction } from '@reduxjs/toolkit';
- import { Task } from '@/domain/work';
- import { RegisterInfo } from '@/API/patient/workActions';
- interface ReRegisterState {
- sourceTask: Task | null;
- registerInfo: RegisterInfo | null;
- loading: boolean;
- error: string | null;
- }
- const initialState: ReRegisterState = {
- sourceTask: null,
- registerInfo: null,
- loading: false,
- error: null,
- };
- export const reregisterSlice = createSlice({
- name: 'reregister',
- initialState,
- reducers: {
- setSourceTask: (state, action: PayloadAction<Task>) => {
- state.sourceTask = action.payload;
- },
- setRegisterInfo: (state, action: PayloadAction<RegisterInfo>) => {
- state.registerInfo = action.payload;
- },
- clearReRegister: (state) => {
- state.sourceTask = null;
- state.registerInfo = null;
- state.error = null;
- },
- setLoading: (state, action: PayloadAction<boolean>) => {
- state.loading = action.payload;
- },
- setError: (state, action: PayloadAction<string>) => {
- state.error = action.payload;
- },
- },
- });
- export const {
- setSourceTask,
- setRegisterInfo,
- clearReRegister,
- setLoading,
- setError
- } = reregisterSlice.actions;
- // Selectors
- export const selectSourceTask = (state: { reregister: ReRegisterState }) => state.reregister.sourceTask;
- export const selectRegisterInfo = (state: { reregister: ReRegisterState }) => state.reregister.registerInfo;
- export const selectReRegisterLoading = (state: { reregister: ReRegisterState }) => state.reregister.loading;
- export const selectReRegisterError = (state: { reregister: ReRegisterState }) => state.reregister.error;
- export type { ReRegisterState };
- export default reregisterSlice.reducer;
|