Skip to content

Commit 0a18787

Browse files
committed
Prevent re-render chat
1 parent 97f53e6 commit 0a18787

File tree

3 files changed

+37
-3
lines changed

3 files changed

+37
-3
lines changed

addon/chat/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ services:
3232
- MongoDbSettings__ConnectionString=mongodb://mongodb:27017
3333
- MongoDbSettings__DatabaseName=Chatio
3434
- Redis__ConnectionString=redis:6379,password=your_redis_password,abortConnect=false
35-
- OpenAiSettings__ApiKey=your_key
35+
- OpenAiSettings__ApiKey=your-key
3636
- OpenAiSettings__DefaultChatModel=gpt-4-turbo-preview
3737
- OpenAiSettings__DefaultEmbeddingModel=text-embedding-3-small
3838
- OpenAiSettings__DefaultTemperature=1.0

frontend/src/presentation/pages/CollaborationRoomPage.module.css

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,34 @@
2323
height: 100%;
2424
display: flex;
2525
flex-direction: column;
26+
position: relative;
2627
}
28+
29+
.contentArea {
30+
position: relative;
31+
flex: 1;
32+
}
33+
34+
.questionDetail,
35+
.chatFrame {
36+
position: absolute;
37+
top: 0;
38+
left: 0;
39+
width: 100%;
40+
height: 100%;
41+
transition: opacity 0.3s ease, visibility 0.3s ease;
42+
}
43+
44+
.hidden {
45+
opacity: 0;
46+
visibility: hidden;
47+
}
48+
49+
.visible {
50+
opacity: 1;
51+
visibility: visible;
52+
}
53+
2754
.verticalSeparator,
2855
.horizontalSeparator {
2956
transition: background-color 0.1s ease;

frontend/src/presentation/pages/CollaborationRoomPage.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import ToggleButton from "presentation/components/buttons/ToggleButton";
1111
import ChatFrame from "presentation/components/iframe/ChatFrame";
1212

1313
const CollaborationRoomPage: React.FC = () => {
14-
const { roomId } = useParams();
14+
const { roomId } = useParams<{ roomId: string }>();
1515
const [showChat, setShowChat] = useState(false);
1616
const resizeTimeoutRef = useRef<NodeJS.Timeout>();
1717

@@ -60,7 +60,14 @@ const CollaborationRoomPage: React.FC = () => {
6060
<div className={styles.questionContainer} style={{ width: questionPosition }}>
6161
<div className={styles.questionContent}>
6262
<ToggleButton showChat={showChat} onClick={() => setShowChat(!showChat)} />
63-
{showChat ? <ChatFrame roomId={roomId} /> : <QuestionDetail question={initialQuestions[0]} />}
63+
<div className={styles.contentArea}>
64+
<div className={`${styles.questionDetail} ${showChat ? styles.hidden : ""}`}>
65+
<QuestionDetail question={initialQuestions[0]} />
66+
</div>
67+
<div className={`${styles.chatFrame} ${showChat ? styles.visible : styles.hidden}`}>
68+
<ChatFrame roomId={roomId} />
69+
</div>
70+
</div>
6471
</div>
6572
</div>
6673

0 commit comments

Comments
 (0)