Skip to content

Commit 82e64e7

Browse files
committed
Fix: chatRoom 페이지 import문 수정
1 parent 92be65f commit 82e64e7

11 files changed

Lines changed: 77 additions & 53 deletions

File tree

src/pages/Chats/ChatRoom/ChatBox/index.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
import { ChatBoxContainer, Textarea, SendButton } from './styles';
21
import { useEffect, useRef, useState } from 'react';
3-
import { useRecoilValue } from 'recoil';
42
import { useParams } from 'react-router-dom';
5-
import { OtherUserAtom } from '@recoil/util/OtherUser';
3+
4+
import { useRecoilValue } from 'recoil';
5+
66
import { useSocket } from '@context/SocketProvider';
7+
import { OtherUserAtom } from '@recoil/util/OtherUser';
78
import { getCurrentUserId } from '@utils/getCurrentUserId';
89

10+
import { ChatBoxContainer, Textarea, SendButton } from './styles';
11+
912
const ChatBox: React.FC = () => {
1013
const [newMessage, setNewMessage] = useState('');
1114
const textareaRef = useRef<HTMLTextAreaElement | null>(null);

src/pages/Chats/ChatRoom/ChatBox/styles.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { styled } from 'styled-components';
2+
23
import SendIcon from '@assets/default/send-message.svg';
34

45
export const ChatBoxContainer = styled.div`

src/pages/Chats/ChatRoom/DateBar/index.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
import React from 'react';
1+
import { memo } from 'react';
2+
23
import theme from '@styles/theme';
4+
35
import { DatebarLayout, Date, Divider } from './styles';
46

57
interface DateBarProps {
68
formattedDate: string; // yyyy년 MM월 dd일 EEEE
79
}
810

9-
const DateBar: React.FC<DateBarProps> = React.memo(({ formattedDate }) => {
11+
const DateBar: React.FC<DateBarProps> = memo(({ formattedDate }) => {
1012
return (
1113
<DatebarLayout>
1214
<Divider />

src/pages/Chats/ChatRoom/DateBar/styles.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { styled } from 'styled-components';
2+
23
import { StyledText } from '@components/Text/StyledText';
34

45
export const DatebarLayout = styled.div`

src/pages/Chats/ChatRoom/RcvdMessage/index.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
import React from 'react';
1+
import { memo } from 'react';
2+
23
import theme from '@styles/theme';
4+
35
import type { RcvdMessageProps } from '../dto';
6+
47
import { FirstMessageLayout, UserImage, UsernameText, MessageBox, Message, TimeWrapper, MessageLayout } from './styles';
58

6-
const RcvdMessage: React.FC<RcvdMessageProps & { onClickProfile: () => void }> = React.memo(
9+
const RcvdMessage: React.FC<RcvdMessageProps & { onClickProfile: () => void }> = memo(
710
({
811
fromUserNickname,
912
profilePictureUrl,

src/pages/Chats/ChatRoom/RcvdMessage/styles.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { styled } from 'styled-components';
2+
23
import { StyledText } from '@components/Text/StyledText';
34

45
export const FirstMessageLayout = styled.div<{ $isSenderChanged: boolean }>`
Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
import React from 'react';
1+
import { memo } from 'react';
2+
23
import theme from '@styles/theme';
4+
35
import type { SentMessageProps } from '../dto';
6+
47
import { Message, TimeWrapper, MessageLayout } from './styles';
58

6-
const SentMessage: React.FC<SentMessageProps> = React.memo(
7-
({ content, isSenderChanged, isTimeVisible, formattedTime }) => {
8-
return (
9-
<MessageLayout $isSenderChanged={isSenderChanged}>
10-
{isTimeVisible && <TimeWrapper>{formattedTime}</TimeWrapper>}
11-
<Message $textTheme={{ style: 'body2-regular' }} color={theme.colors.text.primary}>
12-
{content}
13-
</Message>
14-
</MessageLayout>
15-
);
16-
},
17-
);
9+
const SentMessage: React.FC<SentMessageProps> = memo(({ content, isSenderChanged, isTimeVisible, formattedTime }) => {
10+
return (
11+
<MessageLayout $isSenderChanged={isSenderChanged}>
12+
{isTimeVisible && <TimeWrapper>{formattedTime}</TimeWrapper>}
13+
<Message $textTheme={{ style: 'body2-regular' }} color={theme.colors.text.primary}>
14+
{content}
15+
</Message>
16+
</MessageLayout>
17+
);
18+
});
1819

1920
export default SentMessage;

src/pages/Chats/ChatRoom/SentMessage/styles.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { styled } from 'styled-components';
2+
23
import { StyledText } from '@components/Text/StyledText';
34

45
export const MessageLayout = styled.div<{ $isSenderChanged: boolean }>`

src/pages/Chats/ChatRoom/createExtendedMessages.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
import type { ExtendedMessageDto, RcvdMessageProps, SentMessageProps } from './dto';
2-
import defaultProfile from '@assets/default/defaultProfile.svg';
31
import dayjs from 'dayjs';
42
import 'dayjs/locale/ko';
5-
import { OtherUserDto } from '@apis/chatting/dto';
6-
import { chatRoomMessagesData } from '@apis/chatting/dto';
3+
4+
import defaultProfile from '@assets/default/defaultProfile.svg';
5+
6+
import type { OtherUserDto, chatRoomMessagesData } from '@apis/chatting/dto';
7+
8+
import type { ExtendedMessageDto, RcvdMessageProps, SentMessageProps } from './dto';
79

810
export const createExtendedMessages = (
911
allMessages: chatRoomMessagesData[],
@@ -26,23 +28,24 @@ export const createExtendedMessages = (
2628

2729
// 채팅의 첫 메시지가 아니고, 날짜가 바뀐 경우
2830
// 날짜 표시줄 출력
29-
let isDateBarVisible = prevMessage !== null && isNewDay(message.createdAt, prevMessage.createdAt);
31+
const isDateBarVisible = prevMessage !== null && isNewDay(message.createdAt, prevMessage.createdAt);
3032

3133
// 채팅의 첫 메시지이거나 전송자 또는 날짜가 바뀐 경우
3234
// 프로필 사진 출력
33-
let isProfileImageVisible =
35+
const isProfileImageVisible =
3436
prevMessage === null || prevMessage.fromUser.id !== message.fromUser.id || isDateBarVisible;
3537

3638
// 가장 마지막 메시지이거나, 전송자 또는 시간이 바뀌기 직전인 경우
3739
// 메시지 전송 시각 출력
38-
let isTimeVisible =
40+
const isTimeVisible =
3941
nextMessage === null ||
4042
message.fromUser.id !== nextMessage.fromUser.id ||
4143
formattedTime !== dayjs(nextMessage.createdAt).format('HH:mm');
4244

4345
// 채팅의 첫 메시지가 아니고, 전송자가 바뀐 경우
4446
// margin-top 추가
45-
let isSenderChanged = prevMessage !== null && !isDateBarVisible && prevMessage.fromUser.id !== message.fromUser.id;
47+
const isSenderChanged =
48+
prevMessage !== null && !isDateBarVisible && prevMessage.fromUser.id !== message.fromUser.id;
4649

4750
if (message.fromUser.id === userId) {
4851
// 보낸 메시지일 경우 sentMessage 속성 추가

src/pages/Chats/ChatRoom/dto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { chatRoomMessagesData } from '@apis/chatting/dto';
1+
import type { chatRoomMessagesData } from '@apis/chatting/dto';
22

33
export interface ExtendedMessageDto extends chatRoomMessagesData {
44
isDateBarVisible: boolean;

0 commit comments

Comments
 (0)