Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 3x 16x 16x 16x 16x 16x 16x 1x 16x 3x 16x 70x | import React, { useState } from 'react'; import { Button, Stack } from 'react-bootstrap'; import ChatMessageDisplay from './ChatMessageDisplay'; import { useBackend } from 'main/utils/useBackend'; const ChatDisplay = () => { const testId = 'ChatDisplay'; const refreshIntervalMilliseconds = 1000; const pageSize = 10; const [selectedPage, setSelectedPage] = useState(0); // Stryker disable all const { data: page, } = useBackend( ["/api/chat/get"], { method: "GET", url: "/api/chat/get", params: { page: selectedPage, size: pageSize, } }, { content: [], totalPages: 0 }, { refetchInterval: refreshIntervalMilliseconds } ); // Stryker restore all const previousPageCallback = () => { setSelectedPage((prevPage) => prevPage - 1); }; const nextPageCallback = () => { setSelectedPage((prevPage) => prevPage + 1); }; return ( <div> <Stack> {[...page.content].reverse().map((message) => ( <ChatMessageDisplay key={message.chatMessage.id} chatMessage={message} /> ))} </Stack> <p>Page: {selectedPage + 1}</p> <Button data-testid={`${testId}-previous-button`} onClick={previousPageCallback} disabled={selectedPage === 0} > Previous </Button> <Button data-testid={`${testId}-next-button`} onClick={nextPageCallback} disabled={page.totalPages === 0 || selectedPage === page.totalPages - 1} > Next </Button> </div> ); }; export default ChatDisplay; |