import { Flex, Text } from '@chakra-ui/react'; import { useState } from 'react'; import { MainModelConfigEntity, DiffusersModelConfigEntity, LoRAModelConfigEntity, useGetMainModelsQuery, useGetLoRAModelsQuery, } from 'services/api/endpoints/models'; import CheckpointModelEdit from './ModelManagerPanel/CheckpointModelEdit'; import DiffusersModelEdit from './ModelManagerPanel/DiffusersModelEdit'; import LoRAModelEdit from './ModelManagerPanel/LoRAModelEdit'; import ModelList from './ModelManagerPanel/ModelList'; import { ALL_BASE_MODELS } from 'services/api/constants'; import { useTranslation } from 'react-i18next'; export default function ModelManagerPanel() { const [selectedModelId, setSelectedModelId] = useState(); const { mainModel } = useGetMainModelsQuery(ALL_BASE_MODELS, { selectFromResult: ({ data }) => ({ mainModel: selectedModelId ? data?.entities[selectedModelId] : undefined, }), }); const { loraModel } = useGetLoRAModelsQuery(undefined, { selectFromResult: ({ data }) => ({ loraModel: selectedModelId ? data?.entities[selectedModelId] : undefined, }), }); const model = mainModel ? mainModel : loraModel; return ( ); } type ModelEditProps = { model: MainModelConfigEntity | LoRAModelConfigEntity | undefined; }; const ModelEdit = (props: ModelEditProps) => { const { t } = useTranslation(); const { model } = props; if (model?.model_format === 'checkpoint') { return ; } if (model?.model_format === 'diffusers') { return ( ); } if (model?.model_type === 'lora') { return ; } return ( {t('modelManager.noModelSelected')} ); };