import SettingsTab from "./tab"; import SettingsOption from "./option"; import { Button, Select, Slider, Textarea } from "@mantine/core"; import { useCallback, useMemo } from "react"; import { defaultSystemPrompt, defaultModel } from "../../openai"; import { useAppDispatch, useAppSelector } from "../../store"; import { resetModel, setModel, selectModel, resetSystemPrompt, selectSystemPrompt, selectTemperature, setSystemPrompt, setTemperature } from "../../store/parameters"; import { selectSettingsOption } from "../../store/settings-ui"; import { FormattedMessage, useIntl } from "react-intl"; export default function GenerationOptionsTab(props: any) { const intl = useIntl(); const option = useAppSelector(selectSettingsOption); const initialSystemPrompt = useAppSelector(selectSystemPrompt); const model = useAppSelector(selectModel); const temperature = useAppSelector(selectTemperature); const dispatch = useAppDispatch(); const onSystemPromptChange = useCallback((event: React.ChangeEvent) => dispatch(setSystemPrompt(event.target.value)), [dispatch]); const onModelChange = useCallback((value: string) => dispatch(setModel(value)), [dispatch]); const onResetSystemPrompt = useCallback(() => dispatch(resetSystemPrompt()), [dispatch]); const onResetModel = useCallback(() => dispatch(resetModel()), [dispatch]); const onTemperatureChange = useCallback((value: number) => dispatch(setTemperature(value)), [dispatch]); const resettableSystemPromopt = initialSystemPrompt && (initialSystemPrompt?.trim() !== defaultSystemPrompt.trim()); const resettableModel = model && (model?.trim() !== defaultModel.trim()); const systemPromptOption = useMemo(() => (