import { useState } from 'react' import { Button, useMediaQuery } from '@janhq/joi' import { useAtom, useAtomValue, useSetAtom } from 'jotai' import { SettingsIcon, ChevronUpIcon, Settings2Icon } from 'lucide-react' import { twMerge } from 'tailwind-merge' import ModelDropdown from '@/containers/ModelDropdown' import ChatActionButton from './ChatActionButton' import ChatTextInput from './ChatTextInput' import { showRightPanelAtom } from '@/helpers/atoms/App.atom' import { getActiveThreadIdAtom } from '@/helpers/atoms/Thread.atom' import { activeTabThreadRightPanelAtom } from '@/helpers/atoms/ThreadRightPanel.atom' type Props = { sendMessage: (message: string) => void stopInference: () => void } const ChatInput: React.FC = ({ sendMessage, stopInference }) => { const setActiveTabThreadRightPanel = useSetAtom(activeTabThreadRightPanelAtom) const activeThreadId = useAtomValue(getActiveThreadIdAtom) const [activeSetting, setActiveSetting] = useState(false) const [showRightPanel, setShowRightPanel] = useAtom(showRightPanelAtom) const matches = useMediaQuery('(max-width: 880px)') return (
{!activeSetting && (
)}
{activeSetting && (
)}
) } export default ChatInput