fix(ui): match input-row button height to the textarea
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -709,16 +709,16 @@ export function Chatbot({ conversationId, setConversationId, onConversationChang
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div style={{ display: "flex", gap: "0.75rem", alignItems: "flex-end" }}>
|
<div style={{ display: "flex", gap: "0.75rem", alignItems: "stretch" }}>
|
||||||
<label title="Attach image (needs a vision model)"
|
<label title="Attach image (needs a vision model)"
|
||||||
style={{ padding: "0.9rem", background: "#222", border: "1px solid #333", borderRadius: "10px", cursor: loading ? "default" : "pointer", opacity: loading ? 0.6 : 1, color: "#ccc" }}>
|
style={{ display: "flex", alignItems: "center", justifyContent: "center", padding: "0 0.9rem", background: "#222", border: "1px solid #333", borderRadius: "10px", cursor: loading ? "default" : "pointer", opacity: loading ? 0.6 : 1, color: "#ccc" }}>
|
||||||
📎
|
📎
|
||||||
<input type="file" accept="image/*" multiple onChange={onImagePick} disabled={loading} style={{ display: "none" }} />
|
<input type="file" accept="image/*" multiple onChange={onImagePick} disabled={loading} style={{ display: "none" }} />
|
||||||
</label>
|
</label>
|
||||||
{((sttLocal && canRecord) || SpeechRec) && (
|
{((sttLocal && canRecord) || SpeechRec) && (
|
||||||
<button onClick={toggleMic}
|
<button onClick={toggleMic}
|
||||||
title={transcribing ? "Transcribing…" : listening ? "Stop dictation" : sttLocal ? "Dictate (on-device Whisper)" : "Dictate (browser speech)"}
|
title={transcribing ? "Transcribing…" : listening ? "Stop dictation" : sttLocal ? "Dictate (on-device Whisper)" : "Dictate (browser speech)"}
|
||||||
style={{ padding: "0.9rem", background: listening ? "#3a1a1a" : "#222", border: "1px solid " + (listening ? "#c0392b" : "#333"), borderRadius: "10px", cursor: transcribing ? "default" : "pointer", color: listening ? "#ff8a80" : "#ccc" }}>
|
style={{ display: "flex", alignItems: "center", justifyContent: "center", padding: "0 0.9rem", background: listening ? "#3a1a1a" : "#222", border: "1px solid " + (listening ? "#c0392b" : "#333"), borderRadius: "10px", cursor: transcribing ? "default" : "pointer", color: listening ? "#ff8a80" : "#ccc" }}>
|
||||||
{transcribing ? "⏳" : listening ? "🔴" : "🎤"}
|
{transcribing ? "⏳" : listening ? "🔴" : "🎤"}
|
||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
@@ -745,7 +745,10 @@ export function Chatbot({ conversationId, setConversationId, onConversationChang
|
|||||||
onClick={loading ? stopGeneration : sendMessage}
|
onClick={loading ? stopGeneration : sendMessage}
|
||||||
disabled={!loading && !input.trim() && images.length === 0}
|
disabled={!loading && !input.trim() && images.length === 0}
|
||||||
style={{
|
style={{
|
||||||
padding: "0.9rem 1.5rem",
|
display: "flex",
|
||||||
|
alignItems: "center",
|
||||||
|
justifyContent: "center",
|
||||||
|
padding: "0 1.5rem",
|
||||||
background: loading ? "#c0392b" : (!input.trim() && images.length === 0 ? "#555" : "#007acc"),
|
background: loading ? "#c0392b" : (!input.trim() && images.length === 0 ? "#555" : "#007acc"),
|
||||||
color: "#fff",
|
color: "#fff",
|
||||||
border: "none",
|
border: "none",
|
||||||
|
|||||||
Reference in New Issue
Block a user