diff --git a/app/src/main/java/com/sayanthrock/freeairock/ui/chat/ChatScreen.kt b/app/src/main/java/com/sayanthrock/freeairock/ui/chat/ChatScreen.kt index 1d5cf5c..e9c0fa7 100644 --- a/app/src/main/java/com/sayanthrock/freeairock/ui/chat/ChatScreen.kt +++ b/app/src/main/java/com/sayanthrock/freeairock/ui/chat/ChatScreen.kt @@ -7,6 +7,8 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.text.KeyboardActions +import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material3.Button import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.OutlinedTextField @@ -21,6 +23,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.unit.dp import com.sayanthrock.freeairock.ui.AppViewModel @@ -60,7 +63,17 @@ fun ChatScreen(viewModel: AppViewModel, modifier: Modifier = Modifier) { value = inputText, onValueChange = { inputText = it }, modifier = Modifier.weight(1f), - placeholder = { Text("Message AI...") } + placeholder = { Text("Message AI...") }, + singleLine = true, + keyboardOptions = KeyboardOptions(imeAction = ImeAction.Send), + keyboardActions = KeyboardActions( + onSend = { + if (inputText.isNotBlank()) { + viewModel.sendMessage(inputText) + inputText = "" + } + } + ) ) Button( onClick = { diff --git a/package-lock.json b/package-lock.json index 02f9f46..b2ec713 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "node_modules/@playwright/test": { "version": "1.55.0", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.55.0.tgz", - "integrity": "sha512-v4bVfF0dY2iU7lT+vG1t7L4q1U8AqzR6bB09/yW0Zk+A7oWvjYl+wXq5V8j6X8r6m7G7tE5M5fU/0H/x+J1Hxg==", + "integrity": "sha512-04IXzPwHrW69XusN/SIdDdKZBzMfOT9UNT/YiJit/xpy2VuAoB8NHc8Aplb96zsWDddLnbkPL3TsmrS04ZU2xQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -28,7 +28,7 @@ "node_modules/playwright": { "version": "1.55.0", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.55.0.tgz", - "integrity": "sha512-y2+7Vn4G1nB9wGf9qFj6w/TfHlB1H8X/Yl2H0M8Qf7+m/b7z/6Z4/x7O/o+Ym/9/g4N4L8O/4q8A8b2Yv2T8Bw==", + "integrity": "sha512-sdCWStblvV1YU909Xqx0DhOjPZE4/5lJsIS84IfN9dAZfcl/CIZ5O8l3o0j7hPMjDvqoTF8ZUcc+i/GL5erstA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -44,7 +44,7 @@ "node_modules/playwright-core": { "version": "1.55.0", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.55.0.tgz", - "integrity": "sha512-v6d4G/z+xR4b+p+rP+0Xm3/kS5R4A2i1O/G4k0u7wU/s2/c/3M/Qe2Oq6s/0J8r5mB4M/1g+Q1B4d/8/P9y+Vw==", + "integrity": "sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==", "dev": true, "license": "Apache-2.0", "bin": {