Skip to content

Commit

Permalink
Add fetching next pages; (#23)
Browse files Browse the repository at this point in the history
* Add fetching next pages;

* Renamed conversation-page to conversations-page;

---------

Co-authored-by: Bishwajeet Parhi <[email protected]>
  • Loading branch information
stef-coenen and 2002Bishwajeet authored Apr 3, 2024
1 parent 465b9f3 commit d9cde08
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
import com.facebook.react.defaults.DefaultReactActivityDelegate;
import android.os.Bundle;

public class MainActivity extends ReactActivity {

Expand Down
4 changes: 2 additions & 2 deletions packages/mobile/src/app/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import { NewGroupPage } from '../pages/new-group-page';
import { PreviewMedia } from '../pages/media-preview-page';
import { ProfilePage } from '../pages/profile/profile-page';
import ChatPage from '../pages/chat/chat-page';
import ConversationPage from '../pages/conversation-page';
import { ConversationsPage } from '../pages/conversations-page';
import EditGroupPage from '../pages/chat/edit-group-page';
import { ConnectionRequestsPage } from '../pages/home/connection-requests-page';
import { useDarkMode } from '../hooks/useDarkMode';
Expand Down Expand Up @@ -374,7 +374,7 @@ const ChatStack = (_props: NativeStackScreenProps<TabStackParamList, 'Chat'>) =>
<StackChat.Navigator>
<StackChat.Screen
name="Conversation"
component={ConversationPage}
component={ConversationsPage}
options={{
title: 'Chats',
headerShown: true,
Expand Down
10 changes: 9 additions & 1 deletion packages/mobile/src/components/Chat/ChatDetail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ export const ChatDetail = memo(
setReplyMessage,
assets,
setAssets,

hasMoreMessages,
fetchMoreMessages,
}: {
isGroup: boolean;
messages: ChatMessageIMessage[];
Expand All @@ -81,6 +84,9 @@ export const ChatDetail = memo(

assets: Asset[];
setAssets: (assets: Asset[]) => void;

hasMoreMessages: boolean;
fetchMoreMessages: () => void;
}) => {
const { isDarkMode } = useDarkMode();
const identity = useAuth().getIdentity();
Expand Down Expand Up @@ -358,8 +364,8 @@ export const ChatDetail = memo(
onSend={doSend}
infiniteScroll
scrollToBottom
onLongPress={(e, _, m: ChatMessageIMessage) => onLongPress(e, m)}
alwaysShowSend
onLongPress={(e, _, m: ChatMessageIMessage) => onLongPress(e, m)}
isKeyboardInternallyHandled={true}
keyboardShouldPersistTaps="never"
renderMessageImage={(prop: MessageImageProps<ChatMessageIMessage>) => (
Expand All @@ -380,6 +386,8 @@ export const ChatDetail = memo(
user={{
_id: identity || '',
}}
loadEarlier={hasMoreMessages}
onLoadEarlier={fetchMoreMessages}
/>
);
}
Expand Down
2 changes: 1 addition & 1 deletion packages/mobile/src/hooks/chat/useConversations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export const useConversations = () => {
const messagesA = await queryClient.fetchInfiniteQuery({
queryKey: ['chat', conversationId],
initialPageParam: undefined,
queryFn: () => getChatMessages(dotYouClient, conversationId as string, undefined, 10),
queryFn: () => getChatMessages(dotYouClient, conversationId as string, undefined, 100),
});
return {
...convo,
Expand Down
11 changes: 9 additions & 2 deletions packages/mobile/src/pages/chat/chat-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,12 @@ const ChatPage = ({ route, navigation }: ChatProp) => {

const [assets, setAssets] = useState<Asset[]>([]);
// Messages
const { data: chatMessages, error } = useChatMessages({
const {
data: chatMessages,
hasNextPage: hasMoreMessages,
fetchNextPage: fetchMoreMessages,
error,
} = useChatMessages({
conversationId: route.params.convoId,
}).all;

Expand Down Expand Up @@ -204,7 +209,7 @@ const ChatPage = ({ route, navigation }: ChatProp) => {
}, []);

const [selectedReactionMessage, setSelectedReactionMessage] = useState<ChatMessageIMessage>();
const [showChatReactionPopup, setshowChatReactionPopup] = useState(false);
const [showChatReactionPopup, setshowChatReactionPopup] = useState(true);

const openReactionModal = useCallback((message: ChatMessageIMessage) => {
setSelectedReactionMessage(message);
Expand Down Expand Up @@ -300,6 +305,8 @@ const ChatPage = ({ route, navigation }: ChatProp) => {
setReplyMessage={setReplyMessage}
assets={assets}
setAssets={setAssets}
hasMoreMessages={hasMoreMessages}
fetchMoreMessages={fetchMoreMessages}
/>
</Pressable>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { CHAT_APP_ID } from '../app/constants';

type ConversationProp = NativeStackScreenProps<ChatStackParamList, 'Conversation'>;

const ConversationPage = ({ navigation: rootNavigation }: ConversationProp) => {
export const ConversationsPage = ({ navigation: rootNavigation }: ConversationProp) => {
const navigation = useNavigation<NavigationProp<AppStackParamList>>();

const { data: conversations } = useConversations().all;
Expand Down Expand Up @@ -217,5 +217,3 @@ const styles = StyleSheet.create({
marginTop: 4,
},
});

export default ConversationPage;

0 comments on commit d9cde08

Please sign in to comment.