mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
chore(ui): lint
This commit is contained in:
parent
870cc5b733
commit
ae8ffe9d51
@ -88,7 +88,10 @@ const selector = createMemoizedSelector(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (dynamicPrompts.prompts.length === 0 && getShouldProcessPrompt(positivePrompt)) {
|
if (
|
||||||
|
dynamicPrompts.prompts.length === 0 &&
|
||||||
|
getShouldProcessPrompt(positivePrompt)
|
||||||
|
) {
|
||||||
reasons.push(i18n.t('parameters.invoke.noPrompts'));
|
reasons.push(i18n.t('parameters.invoke.noPrompts'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,12 +18,14 @@ import {
|
|||||||
} from 'features/canvas/store/canvasNanostore';
|
} from 'features/canvas/store/canvasNanostore';
|
||||||
import {
|
import {
|
||||||
aspectRatioChanged,
|
aspectRatioChanged,
|
||||||
CANVAS_GRID_SIZE_COARSE,
|
|
||||||
CANVAS_GRID_SIZE_FINE,
|
|
||||||
setBoundingBoxCoordinates,
|
setBoundingBoxCoordinates,
|
||||||
setBoundingBoxDimensions,
|
setBoundingBoxDimensions,
|
||||||
setShouldSnapToGrid,
|
setShouldSnapToGrid,
|
||||||
} from 'features/canvas/store/canvasSlice';
|
} from 'features/canvas/store/canvasSlice';
|
||||||
|
import {
|
||||||
|
CANVAS_GRID_SIZE_COARSE,
|
||||||
|
CANVAS_GRID_SIZE_FINE,
|
||||||
|
} from 'features/canvas/store/constants';
|
||||||
import type Konva from 'konva';
|
import type Konva from 'konva';
|
||||||
import type { GroupConfig } from 'konva/lib/Group';
|
import type { GroupConfig } from 'konva/lib/Group';
|
||||||
import type { KonvaEventObject } from 'konva/lib/Node';
|
import type { KonvaEventObject } from 'konva/lib/Node';
|
||||||
@ -161,7 +163,10 @@ const IAICanvasBoundingBox = (props: IAICanvasBoundingBoxPreviewProps) => {
|
|||||||
const y = Math.round(rect.y());
|
const y = Math.round(rect.y());
|
||||||
|
|
||||||
if (aspectRatio.isLocked) {
|
if (aspectRatio.isLocked) {
|
||||||
const newHeight = roundDownToMultipleMin(width / aspectRatio.value, gridSize);
|
const newHeight = roundDownToMultipleMin(
|
||||||
|
width / aspectRatio.value,
|
||||||
|
gridSize
|
||||||
|
);
|
||||||
dispatch(
|
dispatch(
|
||||||
setBoundingBoxDimensions({
|
setBoundingBoxDimensions({
|
||||||
width: roundDownToMultipleMin(width, gridSize),
|
width: roundDownToMultipleMin(width, gridSize),
|
||||||
|
@ -30,15 +30,13 @@ import type {
|
|||||||
Dimensions,
|
Dimensions,
|
||||||
} from './canvasTypes';
|
} from './canvasTypes';
|
||||||
import { isCanvasAnyLine, isCanvasMaskLine } from './canvasTypes';
|
import { isCanvasAnyLine, isCanvasMaskLine } from './canvasTypes';
|
||||||
|
import { CANVAS_GRID_SIZE_FINE } from './constants';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum history length to keep in the past/future layer states.
|
* The maximum history length to keep in the past/future layer states.
|
||||||
*/
|
*/
|
||||||
const MAX_HISTORY = 128;
|
const MAX_HISTORY = 128;
|
||||||
|
|
||||||
export const CANVAS_GRID_SIZE_FINE = 8;
|
|
||||||
export const CANVAS_GRID_SIZE_COARSE = 64;
|
|
||||||
|
|
||||||
export const initialLayerState: CanvasLayerState = {
|
export const initialLayerState: CanvasLayerState = {
|
||||||
objects: [],
|
objects: [],
|
||||||
stagingArea: {
|
stagingArea: {
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
export const CANVAS_GRID_SIZE_COARSE = 64;
|
||||||
|
export const CANVAS_GRID_SIZE_FINE = 8;
|
@ -1,6 +1,6 @@
|
|||||||
import { roundToMultiple } from 'common/util/roundDownToMultiple';
|
import { roundToMultiple } from 'common/util/roundDownToMultiple';
|
||||||
import { CANVAS_GRID_SIZE_FINE } from 'features/canvas/store/canvasSlice';
|
|
||||||
import type { Dimensions } from 'features/canvas/store/canvasTypes';
|
import type { Dimensions } from 'features/canvas/store/canvasTypes';
|
||||||
|
import { CANVAS_GRID_SIZE_FINE } from 'features/canvas/store/constants';
|
||||||
|
|
||||||
const getScaledBoundingBoxDimensions = (dimensions: Dimensions) => {
|
const getScaledBoundingBoxDimensions = (dimensions: Dimensions) => {
|
||||||
const { width, height } = dimensions;
|
const { width, height } = dimensions;
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
import { roundToMultiple } from 'common/util/roundDownToMultiple';
|
import { roundToMultiple } from 'common/util/roundDownToMultiple';
|
||||||
import type { Dimensions } from 'features/canvas/store/canvasTypes';
|
import type { Dimensions } from 'features/canvas/store/canvasTypes';
|
||||||
|
|
||||||
const roundDimensionsToMultiple = (dimensions: Dimensions, multiple: number): Dimensions => {
|
const roundDimensionsToMultiple = (
|
||||||
|
dimensions: Dimensions,
|
||||||
|
multiple: number
|
||||||
|
): Dimensions => {
|
||||||
return {
|
return {
|
||||||
width: roundToMultiple(dimensions.width, multiple),
|
width: roundToMultiple(dimensions.width, multiple),
|
||||||
height: roundToMultiple(dimensions.height, multiple),
|
height: roundToMultiple(dimensions.height, multiple),
|
||||||
|
@ -4,7 +4,10 @@ import { useAppSelector } from 'app/store/storeHooks';
|
|||||||
import { InvControl } from 'common/components/InvControl/InvControl';
|
import { InvControl } from 'common/components/InvControl/InvControl';
|
||||||
import { InvSlider } from 'common/components/InvSlider/InvSlider';
|
import { InvSlider } from 'common/components/InvSlider/InvSlider';
|
||||||
import { isStagingSelector } from 'features/canvas/store/canvasSelectors';
|
import { isStagingSelector } from 'features/canvas/store/canvasSelectors';
|
||||||
import { CANVAS_GRID_SIZE_COARSE, CANVAS_GRID_SIZE_FINE } from 'features/canvas/store/canvasSlice';
|
import {
|
||||||
|
CANVAS_GRID_SIZE_COARSE,
|
||||||
|
CANVAS_GRID_SIZE_FINE,
|
||||||
|
} from 'features/canvas/store/constants';
|
||||||
import { useImageSizeContext } from 'features/parameters/components/ImageSize/ImageSizeContext';
|
import { useImageSizeContext } from 'features/parameters/components/ImageSize/ImageSizeContext';
|
||||||
import { memo, useCallback } from 'react';
|
import { memo, useCallback } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
@ -4,7 +4,10 @@ import { useAppSelector } from 'app/store/storeHooks';
|
|||||||
import { InvControl } from 'common/components/InvControl/InvControl';
|
import { InvControl } from 'common/components/InvControl/InvControl';
|
||||||
import { InvSlider } from 'common/components/InvSlider/InvSlider';
|
import { InvSlider } from 'common/components/InvSlider/InvSlider';
|
||||||
import { isStagingSelector } from 'features/canvas/store/canvasSelectors';
|
import { isStagingSelector } from 'features/canvas/store/canvasSelectors';
|
||||||
import { CANVAS_GRID_SIZE_COARSE, CANVAS_GRID_SIZE_FINE } from 'features/canvas/store/canvasSlice';
|
import {
|
||||||
|
CANVAS_GRID_SIZE_COARSE,
|
||||||
|
CANVAS_GRID_SIZE_FINE,
|
||||||
|
} from 'features/canvas/store/constants';
|
||||||
import { useImageSizeContext } from 'features/parameters/components/ImageSize/ImageSizeContext';
|
import { useImageSizeContext } from 'features/parameters/components/ImageSize/ImageSizeContext';
|
||||||
import { memo, useCallback } from 'react';
|
import { memo, useCallback } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
import { Flex } from '@chakra-ui/layout';
|
|
||||||
import type { Meta, StoryObj } from '@storybook/react';
|
|
||||||
import { InvControl } from 'common/components/InvControl/InvControl';
|
|
||||||
import { InvSlider } from 'common/components/InvSlider/InvSlider';
|
|
||||||
import { useState } from 'react';
|
|
||||||
|
|
||||||
import { AspectRatioPreview } from './AspectRatioPreview';
|
|
||||||
|
|
||||||
const meta: Meta<typeof AspectRatioPreview> = {
|
|
||||||
title: 'Components/AspectRatioPreview',
|
|
||||||
tags: ['autodocs'],
|
|
||||||
component: AspectRatioPreview,
|
|
||||||
};
|
|
||||||
|
|
||||||
export default meta;
|
|
||||||
type Story = StoryObj<typeof InvControl>;
|
|
||||||
|
|
||||||
const MIN = 64;
|
|
||||||
const MAX = 1024;
|
|
||||||
const STEP = 64;
|
|
||||||
const FINE_STEP = 8;
|
|
||||||
const INITIAL = 512;
|
|
||||||
const MARKS = Array.from(
|
|
||||||
{ length: Math.floor(MAX / STEP) },
|
|
||||||
(_, i) => MIN + i * STEP
|
|
||||||
);
|
|
||||||
|
|
||||||
const Component = () => {
|
|
||||||
const [width, setWidth] = useState(INITIAL);
|
|
||||||
const [height, setHeight] = useState(INITIAL);
|
|
||||||
return (
|
|
||||||
<Flex w="full" flexDir="column">
|
|
||||||
<InvControl label="Width">
|
|
||||||
<InvSlider
|
|
||||||
value={width}
|
|
||||||
min={MIN}
|
|
||||||
max={MAX}
|
|
||||||
step={STEP}
|
|
||||||
fineStep={FINE_STEP}
|
|
||||||
onChange={setWidth}
|
|
||||||
marks={MARKS}
|
|
||||||
/>
|
|
||||||
</InvControl>
|
|
||||||
<InvControl label="Height">
|
|
||||||
<InvSlider
|
|
||||||
value={height}
|
|
||||||
min={MIN}
|
|
||||||
max={MAX}
|
|
||||||
step={STEP}
|
|
||||||
fineStep={FINE_STEP}
|
|
||||||
onChange={setHeight}
|
|
||||||
marks={MARKS}
|
|
||||||
/>
|
|
||||||
</InvControl>
|
|
||||||
<Flex h={96} w={96} p={4}>
|
|
||||||
<AspectRatioPreview width={width} height={height} />
|
|
||||||
</Flex>
|
|
||||||
</Flex>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const AspectRatioWithSliderInvControls: Story = {
|
|
||||||
render: Component,
|
|
||||||
};
|
|
@ -14,9 +14,7 @@ export const ImageSizeCanvas = memo(() => {
|
|||||||
const { width, height } = useAppSelector(
|
const { width, height } = useAppSelector(
|
||||||
(state) => state.canvas.boundingBoxDimensions
|
(state) => state.canvas.boundingBoxDimensions
|
||||||
);
|
);
|
||||||
const aspectRatioState = useAppSelector(
|
const aspectRatioState = useAppSelector((state) => state.canvas.aspectRatio);
|
||||||
(state) => state.canvas.aspectRatio
|
|
||||||
);
|
|
||||||
|
|
||||||
const onChangeWidth = useCallback(
|
const onChangeWidth = useCallback(
|
||||||
(width: number) => {
|
(width: number) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user