+ {completionIsOpen &&
+ completionItems &&
+ completionItems.length > 0 &&
+ onCompletionSelect &&
+ onCompletionClose && (
+
into contentEditable (so :empty no longer matches)
+ data-empty={inputText.trim().length === 0 ? 'true' : 'false'}
+ onInput={(e) => {
+ const target = e.target as HTMLDivElement;
+ onInputChange(target.textContent || '');
+ }}
+ onCompositionStart={onCompositionStart}
+ onCompositionEnd={onCompositionEnd}
+ onKeyDown={handleKeyDown}
+ suppressContentEditableWarning
+ />
+
+ {/* Edit mode button */}
+
+
+ {/* Active file indicator */}
+ {activeFileName && (
+
+ )}
+
+ {/* Spacer */}
+
+
+ {/* Thinking button */}
+
+
+ {/* Command button */}
+
+
+ {/* Attach button */}
+
+
+ {/* Send/Stop button */}
+ {isStreaming || isWaitingForResponse ? (
+
+ ) : (
+
+ )}
+