add option to disable model syncing in UI

This commit is contained in:
Mary Hipp
2023-07-25 14:48:12 -04:00
committed by psychedelicious
parent 7d337dccc2
commit 7f5a89f567
3 changed files with 16 additions and 7 deletions

View File

@ -95,7 +95,8 @@ export type AppFeature =
| 'localization' | 'localization'
| 'consoleLogging' | 'consoleLogging'
| 'dynamicPrompting' | 'dynamicPrompting'
| 'batches'; | 'batches'
| 'syncModels';
/** /**
* A disable-able Stable Diffusion feature * A disable-able Stable Diffusion feature

View File

@ -16,6 +16,7 @@ import { memo, useCallback, useMemo } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { useGetMainModelsQuery } from 'services/api/endpoints/models'; import { useGetMainModelsQuery } from 'services/api/endpoints/models';
import { FieldComponentProps } from './types'; import { FieldComponentProps } from './types';
import { useFeatureStatus } from '../../../system/hooks/useFeatureStatus';
const ModelInputFieldComponent = ( const ModelInputFieldComponent = (
props: FieldComponentProps<MainModelInputFieldValue, ModelInputFieldTemplate> props: FieldComponentProps<MainModelInputFieldValue, ModelInputFieldTemplate>
@ -24,6 +25,7 @@ const ModelInputFieldComponent = (
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const { t } = useTranslation(); const { t } = useTranslation();
const isSyncModelEnabled = useFeatureStatus('syncModels').isFeatureEnabled;
const { data: mainModels, isLoading } = useGetMainModelsQuery(); const { data: mainModels, isLoading } = useGetMainModelsQuery();
@ -103,9 +105,11 @@ const ModelInputFieldComponent = (
disabled={data.length === 0} disabled={data.length === 0}
onChange={handleChangeModel} onChange={handleChangeModel}
/> />
<Box mt={7}> {isSyncModelEnabled && (
<SyncModelsButton iconMode /> <Box mt={7}>
</Box> <SyncModelsButton iconMode />
</Box>
)}
</Flex> </Flex>
); );
}; };

View File

@ -15,6 +15,7 @@ import { modelIdToMainModelParam } from 'features/parameters/util/modelIdToMainM
import SyncModelsButton from 'features/ui/components/tabs/ModelManager/subpanels/ModelManagerSettingsPanel/SyncModelsButton'; import SyncModelsButton from 'features/ui/components/tabs/ModelManager/subpanels/ModelManagerSettingsPanel/SyncModelsButton';
import { forEach } from 'lodash-es'; import { forEach } from 'lodash-es';
import { useGetMainModelsQuery } from 'services/api/endpoints/models'; import { useGetMainModelsQuery } from 'services/api/endpoints/models';
import { useFeatureStatus } from '../../../../system/hooks/useFeatureStatus';
const selector = createSelector( const selector = createSelector(
stateSelector, stateSelector,
@ -29,6 +30,7 @@ const ParamMainModelSelect = () => {
const { model } = useAppSelector(selector); const { model } = useAppSelector(selector);
const { data: mainModels, isLoading } = useGetMainModelsQuery(); const { data: mainModels, isLoading } = useGetMainModelsQuery();
const isSyncModelEnabled = useFeatureStatus('syncModels').isFeatureEnabled;
const data = useMemo(() => { const data = useMemo(() => {
if (!mainModels) { if (!mainModels) {
@ -98,9 +100,11 @@ const ParamMainModelSelect = () => {
onChange={handleChangeModel} onChange={handleChangeModel}
w="100%" w="100%"
/> />
<Box mt={7}> {isSyncModelEnabled && (
<SyncModelsButton iconMode /> <Box mt={7}>
</Box> <SyncModelsButton iconMode />
</Box>
)}
</Flex> </Flex>
); );
}; };