import { PhotoIcon as OutlinePhotoIcon } from "@heroicons/react/24/outline"; import { PhotoIcon as SolidPhotoIcon } from "@heroicons/react/24/solid"; import { modelSupportsImages } from "../../shims/llm-autodetect"; import { useRef, useState } from "react"; import { useSelector } from "react-redux"; import styled from "styled-components"; import { defaultBorderRadius, lightGray, vscBadgeBackground, vscBadgeForeground, vscForeground, vscInputBackground, } from ".."; import { defaultModelSelector } from "../../redux/selectors/modelSelectors"; const StyledDiv = styled.div<{ hidden?: boolean }>` position: absolute; display: flex; gap: 4px; right: 4px; bottom: 4px; width: calc(100% - 10px); background-color: ${vscInputBackground}; ${(props) => (props.hidden ? "display: none;" : "")} align-items: center; z-index: 50; font-size: 10px; cursor: text; & > * { flex: 0 0 auto; } `; const EnterButton = styled.div<{ offFocus: boolean }>` padding: 2px 4px; display: flex; align-items: center; background-color: ${(props) => props.offFocus ? undefined : lightGray + "33"}; border-radius: ${defaultBorderRadius}; color: ${vscForeground}; &:hover { background-color: ${vscBadgeBackground}; color: ${vscBadgeForeground}; } cursor: pointer; `; interface InputToolbarProps { onEnter?: () => void; useCodebase?: () => void; usingCodebase?: boolean; onAddContextItem?: () => void; onClick?: () => void; onImageFileSelected?: (file: File) => void; hidden?: boolean; } function InputToolbar(props: InputToolbarProps) { const fileInputRef = useRef(null); const [fileSelectHovered, setFileSelectHovered] = useState(false); const defaultModel = useSelector(defaultModelSelector); return ( ); } export default InputToolbar;