Skip to content

Commit

Permalink
fix(redux): completed ts on messageBox
Browse files Browse the repository at this point in the history
fixing #109
  • Loading branch information
roman-ojha committed Jun 25, 2022
1 parent 4df2145 commit e23a415
Show file tree
Hide file tree
Showing 11 changed files with 158 additions and 10 deletions.
3 changes: 3 additions & 0 deletions client/src/services/redux/action.ts
Expand Up @@ -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";
@@ -0,0 +1,24 @@
import {
CurrentUserMessageAction,
CurrentUserMessageActionTypes,
CurrentUserMessageState,
} from "./types";
import { Dispatch } from "react";

export const currentUserMessageAction = (data: any) => {
return (dispatch: Dispatch<CurrentUserMessageAction>) => {
dispatch({
type: CurrentUserMessageActionTypes.CURRENT_USER_MESSAGE,
payload: data,
});
};
};

export const appendOnCurrentInnerUserMessage = (data: any) => {
return (dispatch: Dispatch<CurrentUserMessageAction>) => {
dispatch({
type: CurrentUserMessageActionTypes.APPEND_ON_CURRENT_INNER_USER_MESSAGE,
payload: data,
});
};
};
@@ -1,4 +1,10 @@
const initialMessage = {
import {
CurrentUserMessageAction,
CurrentUserMessageActionTypes,
CurrentUserMessageState,
} from "./types";

const initialMessage: CurrentUserMessageState = {
messageToId: "",
messageToUserId: "",
receiverPicture: "",
Expand All @@ -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],
Expand Down
@@ -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;
@@ -0,0 +1,17 @@
import {
MainPageInnerMessageBoxOnOffActionTypes,
MainPageInnerMessageBoxOnOffState,
MainPageMessageInnerViewOnOffAction,
} from "./types";
import { Dispatch } from "react";

export const mainPageMessageInnerViewOnOff = (
data: MainPageInnerMessageBoxOnOffState
) => {
return (dispatch: Dispatch<MainPageMessageInnerViewOnOffAction>) => {
dispatch({
type: MainPageInnerMessageBoxOnOffActionTypes.MAIN_PAGE_MESSAGE_INNER_VIEW_ON_OFF,
payload: data,
});
};
};
@@ -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;
Expand Down
@@ -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;
@@ -0,0 +1,15 @@
import {
MainPageMessageOnOffActionTypes,
MainPageMessageOnOffState,
MainPageMessageViewOnOffAction,
} from "./types";
import { Dispatch } from "react";

export const mainPageMessageViewOnOff = (data: MainPageMessageOnOffState) => {
return (dispatch: Dispatch<MainPageMessageViewOnOffAction>) => {
dispatch({
type: MainPageMessageOnOffActionTypes.MAIN_PAGE_MESSAGE_VIEW_ON_OFF,
payload: data,
});
};
};
@@ -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;
Expand Down
@@ -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;
6 changes: 6 additions & 0 deletions client/src/services/redux/reducer.ts
Expand Up @@ -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,
Expand All @@ -45,6 +48,9 @@ const reducer = combineReducers({
userSuggestionReducer,
moreProfileBoxReducer,
messageListReducer,
changeMainPageMessageView,
mainPageInnerMessageBoxOnOff,
setCurrentUserMessageReducer,
});

export default reducer;

0 comments on commit e23a415

Please sign in to comment.