@@ -151,36 +151,27 @@ fun DevInEditorInput(
151151 val inputLineHeight = if (isAndroid && isCompactMode) 24 .sp else 22 .sp
152152 val maxLines = if (isAndroid && isCompactMode) 5 else 8
153153
154- // iOS: Use flexible sizing (wrapContent + maxHeight) to avoid keyboard constraint conflicts
154+ // iOS: Use smaller, fixed height to avoid keyboard issues
155155 // Android/Desktop: Use minHeight for touch targets + maxHeight for bounds
156- val minHeight = if (Platform .isIOS) {
157- null // iOS uses natural content height to avoid keyboard conflicts
158- } else if (isCompactMode) {
159- if (isAndroid) 52 .dp else 56 .dp
160- } else {
161- 80 .dp
156+ val minHeight = when {
157+ Platform .isIOS -> 44 .dp // iOS: standard touch target height
158+ isCompactMode && isAndroid -> 52 .dp
159+ isCompactMode -> 56 .dp
160+ else -> 80 .dp
162161 }
163162
164- val maxHeight = if (isCompactMode) {
165- when {
166- Platform .isIOS -> 160 .dp // iOS: generous max height, flexible min
167- isAndroid -> 120 .dp
168- else -> 96 .dp
169- }
170- } else {
171- when {
172- Platform .isIOS -> 200 .dp // iOS: more room in non-compact mode
173- else -> 160 .dp
174- }
163+ val maxHeight = when {
164+ Platform .isIOS && isCompactMode -> 80 .dp // iOS compact: smaller max
165+ Platform .isIOS -> 100 .dp // iOS: reduced max height
166+ isCompactMode && isAndroid -> 120 .dp
167+ isCompactMode -> 96 .dp
168+ else -> 160 .dp
175169 }
176170
177- val padding = if (isCompactMode) {
178- when {
179- Platform .isIOS -> 14 .dp // iOS: slightly more padding for comfort
180- else -> 12 .dp
181- }
182- } else {
183- 20 .dp
171+ val padding = when {
172+ Platform .isIOS -> 10 .dp // iOS: smaller padding
173+ isCompactMode -> 12 .dp
174+ else -> 20 .dp
184175 }
185176
186177 // Initialize MCP client manager with config
@@ -511,18 +502,7 @@ fun DevInEditorInput(
511502 modifier =
512503 Modifier
513504 .fillMaxWidth()
514- .then(
515- // iOS: Use wrapContentHeight + maxHeight only (no minHeight)
516- // to avoid conflicts with keyboard constraints
517- if (Platform .isIOS) {
518- Modifier
519- .wrapContentHeight()
520- .heightIn(max = maxHeight)
521- } else {
522- // Android/Desktop: Use traditional min/max constraints
523- Modifier .heightIn(min = minHeight!! , max = maxHeight)
524- }
525- )
505+ .heightIn(min = minHeight, max = maxHeight)
526506 .padding(padding)
527507 ) {
528508 BasicTextField (
0 commit comments