diff --git a/src/screens/Messages/Conversation/MessageInput.tsx b/src/screens/Messages/Conversation/MessageInput.tsx index d937cc3e..a6ec125b 100644 --- a/src/screens/Messages/Conversation/MessageInput.tsx +++ b/src/screens/Messages/Conversation/MessageInput.tsx @@ -22,6 +22,7 @@ import { import {isIOS} from 'platform/detection' import * as Toast from '#/view/com/util/Toast' import {atoms as a, useTheme} from '#/alf' +import {useSharedInputStyles} from '#/components/forms/TextField' import {PaperPlane_Stroke2_Corner0_Rounded as PaperPlane} from '#/components/icons/PaperPlane' export function MessageInput({ @@ -41,8 +42,12 @@ export function MessageInput({ const {top: topInset} = useSafeAreaInsets() + const inputStyles = useSharedInputStyles() + const [isFocused, setIsFocused] = React.useState(false) const inputRef = React.useRef(null) + useSaveMessageDraft(message) + const onSubmit = React.useCallback(() => { if (message.trim() === '') { return @@ -76,19 +81,21 @@ export function MessageInput({ [scrollToEnd, topInset], ) - useSaveMessageDraft(message) - return ( setIsFocused(true)} + onBlur={() => setIsFocused(false)} onContentSizeChange={onInputLayout} ref={inputRef} hitSlop={HITSLOP_10} diff --git a/src/screens/Messages/Conversation/MessageInput.web.tsx b/src/screens/Messages/Conversation/MessageInput.web.tsx index 335322fa..ba41cc23 100644 --- a/src/screens/Messages/Conversation/MessageInput.web.tsx +++ b/src/screens/Messages/Conversation/MessageInput.web.tsx @@ -12,6 +12,7 @@ import { } from '#/state/messages/message-drafts' import * as Toast from '#/view/com/util/Toast' import {atoms as a, useTheme} from '#/alf' +import {useSharedInputStyles} from '#/components/forms/TextField' import {PaperPlane_Stroke2_Corner0_Rounded as PaperPlane} from '#/components/icons/PaperPlane' export function MessageInput({ @@ -25,6 +26,10 @@ export function MessageInput({ const {getDraft, clearDraft} = useMessageDraft() const [message, setMessage] = React.useState(getDraft) + const inputStyles = useSharedInputStyles() + const [isFocused, setIsFocused] = React.useState(false) + const [isHovered, setIsHovered] = React.useState(false) + const onSubmit = React.useCallback(() => { if (message.trim() === '') { return @@ -63,11 +68,20 @@ export function MessageInput({ + { + paddingHorizontal: a.p_sm.padding - 2, + paddingLeft: a.p_md.padding - 2, + borderWidth: 2, + borderRadius: 23, + borderColor: 'transparent', + }, + isHovered && inputStyles.chromeHover, + isFocused && inputStyles.chromeFocus, + ]} + // @ts-expect-error web only + onMouseEnter={() => setIsHovered(true)} + onMouseLeave={() => setIsHovered(false)}> setIsFocused(true)} + onBlur={() => setIsFocused(false)} onChange={onChange} onKeyDown={onKeyDown} /> @@ -101,7 +117,7 @@ export function MessageInput({ { height: 30, width: 30, - marginTop: 6, + marginTop: 5, backgroundColor: t.palette.primary_500, }, ]}