@@ -1428,7 +1428,7 @@ func (a *AIChatPane) renderMessage(msg types.ChatMessage) []string {
14281428// - Normal mode: Input area + response area with conversation history
14291429//
14301430// Normal mode layout:
1431- // - Input area (top, 3 lines): Prompt with cursor
1431+ // - Input area (top, 12 lines): Prompt with cursor
14321432// - Response area (bottom): Scrollable conversation history with scrollbar
14331433//
14341434// Scrollbar:
@@ -1453,7 +1453,7 @@ func (a *AIChatPane) View() string {
14531453 }
14541454
14551455 // Calculate heights - input gets 2 lines (prompt + status), rest for responses
1456- maxInputLines := 3
1456+ maxInputLines := 12
14571457 inputWidth := a .width - 15 // Account for border, padding, and "ai-assist> " prefix
14581458 if inputWidth < 10 {
14591459 inputWidth = 10
@@ -1476,8 +1476,8 @@ func (a *AIChatPane) View() string {
14761476 }
14771477
14781478 // Ensure at least 1 line
1479- if actualInputLines < 1 {
1480- actualInputLines = 1
1479+ if actualInputLines < 3 {
1480+ actualInputLines = 3
14811481 }
14821482
14831483 // Build status line to show inside the input box
@@ -1501,6 +1501,11 @@ func (a *AIChatPane) View() string {
15011501 Foreground (lipgloss .Color (statusColor )).
15021502 Render (statusText )
15031503
1504+ // Pad with empty lines if necessary so the status row goes to the bottom
1505+ for len (wrappedLines ) < actualInputLines {
1506+ wrappedLines = append (wrappedLines , "" )
1507+ }
1508+
15041509 // Add status as an extra line inside the input box
15051510 wrappedLines = append (wrappedLines , statusLine )
15061511 actualInputLines ++
0 commit comments