diff --git a/src/components/ConversationCard/index.jsx b/src/components/ConversationCard/index.jsx index fec457c..0143f9f 100644 --- a/src/components/ConversationCard/index.jsx +++ b/src/components/ConversationCard/index.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import Browser from 'webextension-polyfill' import InputBox from '../InputBox' import ConversationItem from '../ConversationItem' -import { createElementAtPosition, isSafari } from '../../utils' +import { createElementAtPosition, isFirefox, isMobile, isSafari } from '../../utils' import { LinkExternalIcon, ArchiveIcon, @@ -47,6 +47,8 @@ function ConversationCard(props) { const [session, setSession] = useState(props.session) const windowSize = useClampWindowSize([750, 1500], [250, 1100]) const bodyRef = useRef(null) + const [completeDraggable, setCompleteDraggable] = useState(false) + /** * @type {[ConversationItemData[], (conversationItemData: ConversationItemData[]) => void]} */ @@ -73,6 +75,10 @@ function ConversationCard(props) { ) const config = useConfig() + useEffect(() => { + setCompleteDraggable(!isSafari() && !isFirefox() && !isMobile()) + }, []) + useEffect(() => { if (props.onUpdate) props.onUpdate(port, session, conversationItemData) }, [session, conversationItemData]) @@ -218,10 +224,18 @@ function ConversationCard(props) { return (
- + {props.closeable ? ( - + {props.draggable && !completeDraggable && ( +
+ )} + {!config.disableWebModeHistory && session && session.conversationId && ( { + setInternalReverseResizeDir( + !isSafari() && !isFirefox() && !isMobile() ? internalReverseResizeDir : false, + ) + }, []) + + const virtualInputRef = internalReverseResizeDir ? reverseDivRef : inputRef useEffect(() => { inputRef.current.focus() @@ -31,7 +38,7 @@ export function InputBox({ onSubmit, enabled, port, reverseResizeDir }) { useEffect(() => { if (!resizedRef.current) { - if (!reverseResizeDir) { + if (!internalReverseResizeDir) { updateRefHeight(inputRef) virtualInputRef.current.h = virtualInputRef.current.offsetHeight virtualInputRef.current.style.maxHeight = '160px' @@ -65,7 +72,7 @@ export function InputBox({ onSubmit, enabled, port, reverseResizeDir }) {