diff --git a/client/src/services/redux/action.ts b/client/src/services/redux/action.ts index 2cfd43bb..1c80ebe8 100644 --- a/client/src/services/redux/action.ts +++ b/client/src/services/redux/action.ts @@ -20,3 +20,6 @@ export * from "./components/sideBarDrawer/action"; export * from "./components/userSuggestion/action"; export * from "./components/moreProfile/action"; export * from "./components/messageBox/messageList/action"; +export * from "./components/messageBox/mainPageMessageOnOff/action"; +export * from "./components/messageBox/mainPageInnerMessageBoxOnOff/action"; +export * from "./components/messageBox/currentUserMessage/action"; diff --git a/client/src/services/redux/components/messageBox/currentUserMessage/action.ts b/client/src/services/redux/components/messageBox/currentUserMessage/action.ts new file mode 100644 index 00000000..46d1b45d --- /dev/null +++ b/client/src/services/redux/components/messageBox/currentUserMessage/action.ts @@ -0,0 +1,24 @@ +import { + CurrentUserMessageAction, + CurrentUserMessageActionTypes, + CurrentUserMessageState, +} from "./types"; +import { Dispatch } from "react"; + +export const currentUserMessageAction = (data: any) => { + return (dispatch: Dispatch) => { + dispatch({ + type: CurrentUserMessageActionTypes.CURRENT_USER_MESSAGE, + payload: data, + }); + }; +}; + +export const appendOnCurrentInnerUserMessage = (data: any) => { + return (dispatch: Dispatch) => { + dispatch({ + type: CurrentUserMessageActionTypes.APPEND_ON_CURRENT_INNER_USER_MESSAGE, + payload: data, + }); + }; +}; diff --git a/client/src/services/redux/components/messageBox/currentUserMessage/reducer.ts b/client/src/services/redux/components/messageBox/currentUserMessage/reducer.ts index 2d34f044..9921907d 100644 --- a/client/src/services/redux/components/messageBox/currentUserMessage/reducer.ts +++ b/client/src/services/redux/components/messageBox/currentUserMessage/reducer.ts @@ -1,4 +1,10 @@ -const initialMessage = { +import { + CurrentUserMessageAction, + CurrentUserMessageActionTypes, + CurrentUserMessageState, +} from "./types"; + +const initialMessage: CurrentUserMessageState = { messageToId: "", messageToUserId: "", receiverPicture: "", @@ -7,13 +13,19 @@ const initialMessage = { }; // this action will Store the messge of rootUser message to other people and which is currently fetch -const setCurrentUserMessageReducer = (state = initialMessage, action) => { - if (action.type === "currentUserMessage") { +const setCurrentUserMessageReducer = ( + state: CurrentUserMessageState = initialMessage, + action: CurrentUserMessageAction +) => { + if (action.type === CurrentUserMessageActionTypes.CURRENT_USER_MESSAGE) { return { ...action.payload, message: action.payload.message.reverse(), }; - } else if (action.type === "appendOnCurrentInnerUserMessage") { + } else if ( + action.type === + CurrentUserMessageActionTypes.APPEND_ON_CURRENT_INNER_USER_MESSAGE + ) { return { ...state, message: [action.payload, ...state.message], diff --git a/client/src/services/redux/components/messageBox/currentUserMessage/types.ts b/client/src/services/redux/components/messageBox/currentUserMessage/types.ts new file mode 100644 index 00000000..b68f50fa --- /dev/null +++ b/client/src/services/redux/components/messageBox/currentUserMessage/types.ts @@ -0,0 +1,25 @@ +export interface CurrentUserMessageState { + messageToId: string; + messageToUserId: string; + receiverPicture: string; + message: []; + fetchedInnerMessage: boolean; +} + +export enum CurrentUserMessageActionTypes { + CURRENT_USER_MESSAGE = "currentUserMessage", + APPEND_ON_CURRENT_INNER_USER_MESSAGE = "appendOnCurrentInnerUserMessage", +} + +export interface CurrentUserMessage { + type: CurrentUserMessageActionTypes.CURRENT_USER_MESSAGE; + payload: any; +} +export interface AppendOnCurrentInnerUserMessage { + type: CurrentUserMessageActionTypes.APPEND_ON_CURRENT_INNER_USER_MESSAGE; + payload: any; +} + +export type CurrentUserMessageAction = + | CurrentUserMessage + | AppendOnCurrentInnerUserMessage; diff --git a/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/action.ts b/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/action.ts new file mode 100644 index 00000000..7db15eb8 --- /dev/null +++ b/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/action.ts @@ -0,0 +1,17 @@ +import { + MainPageInnerMessageBoxOnOffActionTypes, + MainPageInnerMessageBoxOnOffState, + MainPageMessageInnerViewOnOffAction, +} from "./types"; +import { Dispatch } from "react"; + +export const mainPageMessageInnerViewOnOff = ( + data: MainPageInnerMessageBoxOnOffState +) => { + return (dispatch: Dispatch) => { + dispatch({ + type: MainPageInnerMessageBoxOnOffActionTypes.MAIN_PAGE_MESSAGE_INNER_VIEW_ON_OFF, + payload: data, + }); + }; +}; diff --git a/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/reducer.ts b/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/reducer.ts index 2769c09d..eb6080d8 100644 --- a/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/reducer.ts +++ b/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/reducer.ts @@ -1,7 +1,19 @@ -const initialState = false; +import { + MainPageInnerMessageBoxOnOffState, + MainPageInnerMessageBoxOnOffActionTypes, + MainPageMessageInnerViewOnOffAction, +} from "./types"; -const mainPageInnerMessageBoxOnOff = (state = initialState, action) => { - if (action.type === "mainPageMessageInnerViewOnOff") { +const initialState: MainPageInnerMessageBoxOnOffState = false; + +const mainPageInnerMessageBoxOnOff = ( + state: MainPageInnerMessageBoxOnOffState = initialState, + action: MainPageMessageInnerViewOnOffAction +) => { + if ( + action.type === + MainPageInnerMessageBoxOnOffActionTypes.MAIN_PAGE_MESSAGE_INNER_VIEW_ON_OFF + ) { return action.payload; } else { return state; diff --git a/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/types.ts b/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/types.ts new file mode 100644 index 00000000..4ac6636c --- /dev/null +++ b/client/src/services/redux/components/messageBox/mainPageInnerMessageBoxOnOff/types.ts @@ -0,0 +1,11 @@ +export type MainPageInnerMessageBoxOnOffState = boolean; + +export enum MainPageInnerMessageBoxOnOffActionTypes { + MAIN_PAGE_MESSAGE_INNER_VIEW_ON_OFF = "mainPageMessageInnerViewOnOff", +} +export interface MainPageMessageInnerViewOnOff { + type: MainPageInnerMessageBoxOnOffActionTypes.MAIN_PAGE_MESSAGE_INNER_VIEW_ON_OFF; + payload: MainPageInnerMessageBoxOnOffState; +} + +export type MainPageMessageInnerViewOnOffAction = MainPageMessageInnerViewOnOff; diff --git a/client/src/services/redux/components/messageBox/mainPageMessageOnOff/action.ts b/client/src/services/redux/components/messageBox/mainPageMessageOnOff/action.ts new file mode 100644 index 00000000..f3a2c7e9 --- /dev/null +++ b/client/src/services/redux/components/messageBox/mainPageMessageOnOff/action.ts @@ -0,0 +1,15 @@ +import { + MainPageMessageOnOffActionTypes, + MainPageMessageOnOffState, + MainPageMessageViewOnOffAction, +} from "./types"; +import { Dispatch } from "react"; + +export const mainPageMessageViewOnOff = (data: MainPageMessageOnOffState) => { + return (dispatch: Dispatch) => { + dispatch({ + type: MainPageMessageOnOffActionTypes.MAIN_PAGE_MESSAGE_VIEW_ON_OFF, + payload: data, + }); + }; +}; diff --git a/client/src/services/redux/components/messageBox/mainPageMessageOnOff/reducer.ts b/client/src/services/redux/components/messageBox/mainPageMessageOnOff/reducer.ts index 64a4d451..299c37a9 100644 --- a/client/src/services/redux/components/messageBox/mainPageMessageOnOff/reducer.ts +++ b/client/src/services/redux/components/messageBox/mainPageMessageOnOff/reducer.ts @@ -1,7 +1,19 @@ -const initialState = false; +import { + MainPageMessageOnOffActionTypes, + MainPageMessageOnOffState, + MainPageMessageViewOnOffAction, +} from "./types"; -const changeMainPageMessageView = (state = initialState, action) => { - if (action.type === "MainPageMessageViewOnOf") { +const initialState: MainPageMessageOnOffState = false; + +const changeMainPageMessageView = ( + state: MainPageMessageOnOffState = initialState, + action: MainPageMessageViewOnOffAction +) => { + if ( + action.type === + MainPageMessageOnOffActionTypes.MAIN_PAGE_MESSAGE_VIEW_ON_OFF + ) { return action.payload; } else { return state; diff --git a/client/src/services/redux/components/messageBox/mainPageMessageOnOff/types.ts b/client/src/services/redux/components/messageBox/mainPageMessageOnOff/types.ts new file mode 100644 index 00000000..aa0c89b4 --- /dev/null +++ b/client/src/services/redux/components/messageBox/mainPageMessageOnOff/types.ts @@ -0,0 +1,11 @@ +export type MainPageMessageOnOffState = boolean; + +export enum MainPageMessageOnOffActionTypes { + MAIN_PAGE_MESSAGE_VIEW_ON_OFF = "MainPageMessageViewOnOf", +} +export interface MainPageMessageViewOnOff { + type: MainPageMessageOnOffActionTypes.MAIN_PAGE_MESSAGE_VIEW_ON_OFF; + payload: MainPageMessageOnOffState; +} + +export type MainPageMessageViewOnOffAction = MainPageMessageViewOnOff; diff --git a/client/src/services/redux/reducer.ts b/client/src/services/redux/reducer.ts index a76ba601..b34de2cf 100644 --- a/client/src/services/redux/reducer.ts +++ b/client/src/services/redux/reducer.ts @@ -21,6 +21,9 @@ import sideBarDrawerReducer from "./components/sideBarDrawer/reducer"; import userSuggestionReducer from "./components/userSuggestion/reducer"; import moreProfileBoxReducer from "./components/moreProfile/reducer"; import messageListReducer from "./components/messageBox/messageList/reducer"; +import changeMainPageMessageView from "./components/messageBox/mainPageMessageOnOff/reducer"; +import mainPageInnerMessageBoxOnOff from "./components/messageBox/mainPageInnerMessageBoxOnOff/reducer"; +import setCurrentUserMessageReducer from "./components/messageBox/currentUserMessage/reducer"; const reducer = combineReducers({ setUserProfileDetailReducer, @@ -45,6 +48,9 @@ const reducer = combineReducers({ userSuggestionReducer, moreProfileBoxReducer, messageListReducer, + changeMainPageMessageView, + mainPageInnerMessageBoxOnOff, + setCurrentUserMessageReducer, }); export default reducer;