update translations, change config value to be dimension instead of total pixels

This commit is contained in:
Mary Hipp
2024-08-05 19:19:39 -04:00
committed by psychedelicious
parent 90ec757802
commit 2cff20f87a
5 changed files with 15 additions and 12 deletions

View File

@ -65,7 +65,7 @@ export type AppConfig = {
*/
shouldUpdateImagesOnConnect: boolean;
shouldFetchMetadataFromApi: boolean;
maxUpscalePixels?: number;
maxUpscaleDimension?: number;
allowPrivateBoards: boolean;
disabledTabs: InvokeTabName[];
disabledFeatures: AppFeature[];

View File

@ -212,11 +212,11 @@ const createSelector = (templates: Templates) =>
} else if (activeTabName === 'upscaling') {
if (!upscale.upscaleInitialImage) {
reasons.push({ content: i18n.t('upscaling.missingUpscaleInitialImage') });
} else if (config.maxUpscalePixels) {
} else if (config.maxUpscaleDimension) {
const upscaledPixels =
upscale.upscaleInitialImage.width * upscale.scale * upscale.upscaleInitialImage.height * upscale.scale;
if (upscaledPixels > config.maxUpscalePixels) {
reasons.push({ content: i18n.t('upscaling.outputTooLargeShort') });
if (upscaledPixels > config.maxUpscaleDimension) {
reasons.push({ content: i18n.t('upscaling.exceedsMaxSize') });
}
}
if (!upscale.upscaleModel) {

View File

@ -8,14 +8,14 @@ import type { ImageDTO } from 'services/api/types';
const createIsTooLargeToUpscaleSelector = (imageDTO?: ImageDTO) =>
createMemoizedSelector(selectUpscalelice, selectConfigSlice, (upscale, config) => {
const { upscaleModel, scale } = upscale;
const { maxUpscalePixels } = config;
const { maxUpscaleDimension } = config;
if (!maxUpscalePixels || !upscaleModel || !imageDTO) {
if (!maxUpscaleDimension || !upscaleModel || !imageDTO) {
return false;
}
const upscaledPixels = imageDTO.width * scale * imageDTO.height * scale;
return upscaledPixels > maxUpscalePixels;
return upscaledPixels > maxUpscaleDimension * maxUpscaleDimension;
});
export const useIsTooLargeToUpscale = (imageDTO?: ImageDTO) => {

View File

@ -18,6 +18,7 @@ export const UpscaleWarning = () => {
const [modelConfigs, { isLoading }] = useControlNetModels();
const disabledTabs = useAppSelector((s) => s.config.disabledTabs);
const shouldShowButton = useMemo(() => !disabledTabs.includes('models'), [disabledTabs]);
const maxUpscaleDimension = useAppSelector((s) => s.config.maxUpscaleDimension);
const isTooLargeToUpscale = useIsTooLargeToUpscale(upscaleInitialImage || undefined);
useEffect(() => {
@ -43,11 +44,13 @@ export const UpscaleWarning = () => {
const otherWarnings = useMemo(() => {
const _warnings: string[] = [];
if (isTooLargeToUpscale) {
_warnings.push(t('upscaling.outputTooLarge'));
if (isTooLargeToUpscale && maxUpscaleDimension) {
_warnings.push(
t('upscaling.exceedsMaxSizeDetails', { maxUpscaleDimension: maxUpscaleDimension.toLocaleString() })
);
}
return _warnings;
}, [isTooLargeToUpscale, t]);
}, [isTooLargeToUpscale, t, maxUpscaleDimension]);
const handleGoToModelManager = useCallback(() => {
dispatch(setActiveTab('models'));