Fix mobile composer send button shift

This commit is contained in:
Mohamed Boudra
2026-06-09 10:26:08 +07:00
parent b832d49a78
commit 9ce6a38792
+8 -3
View File
@@ -170,10 +170,12 @@ function buildCancelButtonStyle(isConnected: boolean, isCancellingAgent: boolean
function buildRealtimeVoiceButtonStyle( function buildRealtimeVoiceButtonStyle(
hovered: boolean | undefined, hovered: boolean | undefined,
voiceButtonDisabled: boolean, voiceButtonDisabled: boolean,
reserveLeadingSpace: boolean,
): object[] { ): object[] {
const hoveredStyle = hovered ? styles.iconButtonHovered : undefined; const hoveredStyle = hovered ? styles.iconButtonHovered : undefined;
const disabledStyle = voiceButtonDisabled ? styles.buttonDisabled : undefined; const disabledStyle = voiceButtonDisabled ? styles.buttonDisabled : undefined;
return [styles.realtimeVoiceButton, hoveredStyle, disabledStyle].filter( const reserveStyle = reserveLeadingSpace ? styles.realtimeVoiceButtonCompactReserve : undefined;
return [styles.realtimeVoiceButton, reserveStyle, hoveredStyle, disabledStyle].filter(
(value): value is object => Boolean(value), (value): value is object => Boolean(value),
); );
} }
@@ -1415,8 +1417,8 @@ export function Composer({
const voiceButtonDisabled = !isConnected || isVoiceSwitching; const voiceButtonDisabled = !isConnected || isVoiceSwitching;
const realtimeVoiceButtonStyle = useCallback( const realtimeVoiceButtonStyle = useCallback(
(state: PressableStateCallbackType & { hovered?: boolean }) => (state: PressableStateCallbackType & { hovered?: boolean }) =>
buildRealtimeVoiceButtonStyle(state.hovered, voiceButtonDisabled), buildRealtimeVoiceButtonStyle(state.hovered, voiceButtonDisabled, isCompactLayout),
[voiceButtonDisabled], [isCompactLayout, voiceButtonDisabled],
); );
const cancelButton = useMemo( const cancelButton = useMemo(
@@ -1851,6 +1853,9 @@ const styles = StyleSheet.create((theme: Theme) => ({
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",
}, },
realtimeVoiceButtonCompactReserve: {
marginLeft: theme.spacing[1],
},
realtimeVoiceButtonActive: { realtimeVoiceButtonActive: {
backgroundColor: theme.colors.palette.green[600], backgroundColor: theme.colors.palette.green[600],
borderColor: theme.colors.palette.green[800], borderColor: theme.colors.palette.green[800],