Skip to content

Commit d6bd8ca

Browse files
authored
feat: Disable TextArea when loading response (kyma-project#3755)
* feat: Disable TextArea when loading response * review changes * review changes * adjust desing and mode of the icon
1 parent e38d73a commit d6bd8ca

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/components/KymaCompanion/components/Chat/Chat.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export default function Chat() {
4646
const sessionID = useRecoilValue<string>(sessionIDState);
4747
const cluster = useRecoilValue<any>(clusterState);
4848
const authData = useRecoilValue<any>(authDataState);
49+
const [loading, setLoading] = useState<boolean>(false);
4950

5051
const {
5152
initialSuggestions,
@@ -83,6 +84,7 @@ export default function Chat() {
8384
certificateAuthorityData:
8485
cluster.currentContext.cluster.cluster['certificate-authority-data'],
8586
});
87+
setLoading(false);
8688
}
8789
setChatHistory(prevMessages => {
8890
const [latestMessage] = prevMessages.slice(-1);
@@ -110,6 +112,7 @@ export default function Chat() {
110112

111113
const sendPrompt = (query: string) => {
112114
setError(null);
115+
setLoading(true);
113116
addMessage({
114117
author: 'user',
115118
messageChunks: [
@@ -250,6 +253,7 @@ export default function Chat() {
250253
<div className="outer-input-container sap-margin-x-small sap-margin-bottom-small sap-margin-top-tiny">
251254
<div className="input-container">
252255
<TextArea
256+
disabled={loading}
253257
className="full-width"
254258
growing
255259
growingMaxRows={10}
@@ -270,7 +274,8 @@ export default function Chat() {
270274
<Icon
271275
id="text-area-icon"
272276
name="paper-plane"
273-
mode="Interactive"
277+
mode={loading ? 'Image' : 'Interactive'}
278+
design={loading ? 'NonInteractive' : 'Default'}
274279
onClick={onSubmitInput}
275280
/>
276281
</div>

src/components/KymaCompanion/components/Chat/messages/Message.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export default function Message({
7373
const segmentedText = segmentMarkdownText(
7474
messageChunks.slice(-1)[0]?.data?.answer?.content,
7575
);
76+
7677
return (
7778
<div className={'message ' + className}>
7879
{segmentedText && (

0 commit comments

Comments
 (0)