handleChange(e.target.value)}
- className="h-full flex-1 bg-white px-3"
+ className="flex-1 text-[15px] leading-[1.6] text-indigo-300"
placeholder="이름, 학번 검색"
/>
-
-
-
-
- 친구 선택({data?.currentCount})
+
+
+
+
+
+ 친구 선택 ({selectedCount})
setSortBy(value)}
+ onChange={handleSortChange}
/>
- {data?.sortBy === 'CLUB'
- ? data?.sections?.map((section) => (
-
- ))
- : data?.users?.map((user) => (
-
- ))}
+
+ {isPending && !hasData ? (
+
+ ) : (
+ <>
+ {invitableListContent}
+ {isFetching && hasData && (
+
불러오는 중...
+ )}
+ >
+ )}
);
diff --git a/src/pages/Chat/ChatRoom.tsx b/src/pages/Chat/ChatRoom.tsx
index b98f78a..ad03e41 100644
--- a/src/pages/Chat/ChatRoom.tsx
+++ b/src/pages/Chat/ChatRoom.tsx
@@ -85,21 +85,32 @@ function ChatRoom() {
const [searchParams] = useSearchParams();
const targetMessageId = searchParams.get('messageId') ? Number(searchParams.get('messageId')) : undefined;
- const { sendMessage, chatMessages, fetchNextPage, hasNextPage, isFetchingNextPage, isSendingMessage } = useChat(
- Number(chatRoomId),
- targetMessageId
- );
+ const {
+ sendMessage,
+ chatMessages,
+ fetchNextPage,
+ fetchPreviousPage,
+ hasNextPage,
+ hasPreviousPage,
+ isFetchingNextPage,
+ isFetchingPreviousPage,
+ isSendingMessage,
+ } = useChat(Number(chatRoomId), targetMessageId);
const [value, setValue] = useState('');
const textareaRef = useRef
(null);
const baseTextareaHeightRef = useRef(0);
- const { scrollContainerRef, topRef, scrollToBottom } = useChatRoomScroll({
+ const { bottomRef, scrollContainerRef, topRef, scrollToBottom } = useChatRoomScroll({
chatRoomId,
chatMessagesLength: chatMessages.length,
latestMessageId: chatMessages[0]?.messageId,
+ targetMessageId,
fetchNextPage,
+ fetchPreviousPage,
hasNextPage,
+ hasPreviousPage,
isFetchingNextPage,
+ isFetchingPreviousPage,
});
useViewportHeightLock(scrollContainerRef);
@@ -192,6 +203,8 @@ function ChatRoom() {