forked from extern/easydiffusion
Merge pull request #32 from caranicas/react-beta-linting-clean
React beta linting clean
This commit is contained in:
commit
a5ae3545d5
@ -52,9 +52,6 @@ module.exports = {
|
|||||||
"@typescript-eslint/no-unused-vars": "warn",
|
"@typescript-eslint/no-unused-vars": "warn",
|
||||||
|
|
||||||
// TS things turned off for now
|
// TS things turned off for now
|
||||||
// "@typescript-eslint/naming-convention": "off",
|
|
||||||
"@typescript-eslint/restrict-template-expressions": "off",
|
|
||||||
"@typescript-eslint/prefer-optional-chain": "off",
|
|
||||||
"@typescript-eslint/no-non-null-assertion": "off",
|
"@typescript-eslint/no-non-null-assertion": "off",
|
||||||
"@typescript-eslint/strict-boolean-expressions": "off",
|
"@typescript-eslint/strict-boolean-expressions": "off",
|
||||||
"@typescript-eslint/no-floating-promises": "off",
|
"@typescript-eslint/no-floating-promises": "off",
|
||||||
|
@ -56,6 +56,19 @@ export const toggleBetaConfig = async (branch: string) => {
|
|||||||
/**
|
/**
|
||||||
* post a new request for an image
|
* post a new request for an image
|
||||||
*/
|
*/
|
||||||
|
// TODO; put hese some place better
|
||||||
|
export type ImageOutput = {
|
||||||
|
data: string;
|
||||||
|
path_abs: string | null;
|
||||||
|
seed: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type ImageReturnType = {
|
||||||
|
output: ImageOutput[];
|
||||||
|
request: {};
|
||||||
|
status: string;
|
||||||
|
session_id: string;
|
||||||
|
};
|
||||||
|
|
||||||
export const MakeImageKey = "MakeImage";
|
export const MakeImageKey = "MakeImage";
|
||||||
export const doMakeImage = async (reqBody: ImageRequest) => {
|
export const doMakeImage = async (reqBody: ImageRequest) => {
|
||||||
|
@ -61,7 +61,6 @@ export default function BetaMode() {
|
|||||||
return (
|
return (
|
||||||
<label>
|
<label>
|
||||||
<input
|
<input
|
||||||
disabled={true}
|
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={branchToGetNext === "main"}
|
checked={branchToGetNext === "main"}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { useCallback } from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { ImageRequest, useImageCreate } from "../../../stores/imageCreateStore";
|
import { ImageRequest } from "../../../stores/imageCreateStore";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
generatedImageMain,
|
generatedImageMain,
|
||||||
|
@ -105,7 +105,7 @@ export default function ImprovementSettings() {
|
|||||||
setRequestOption("show_only_filtered_image", e.target.checked)
|
setRequestOption("show_only_filtered_image", e.target.checked)
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
{t("settings.correct")}
|
{t("settings.corrected")}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
@ -14,7 +14,7 @@ import PropertySettings from "./propertySettings";
|
|||||||
import WorkflowSettings from "./workflowSettings";
|
import WorkflowSettings from "./workflowSettings";
|
||||||
import GpuSettings from "./gpuSettings";
|
import GpuSettings from "./gpuSettings";
|
||||||
|
|
||||||
import BetaMode from "../../../molecules/betaMode";
|
// import BetaMode from "../../../molecules/betaMode";
|
||||||
|
|
||||||
function SettingsList() {
|
function SettingsList() {
|
||||||
return (
|
return (
|
||||||
@ -32,9 +32,9 @@ function SettingsList() {
|
|||||||
<GpuSettings />
|
<GpuSettings />
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li className={AdvancedSettingGrouping}>
|
{/* <li className={AdvancedSettingGrouping}>
|
||||||
<BetaMode />
|
<BetaMode />
|
||||||
</li>
|
</li> */}
|
||||||
</ul>
|
</ul>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ export default function PropertySettings() {
|
|||||||
|
|
||||||
<div className={SettingItem}>
|
<div className={SettingItem}>
|
||||||
<label>
|
<label>
|
||||||
{t("settings.steps")} {" "}
|
{t("settings.steps")}{" "}
|
||||||
<input
|
<input
|
||||||
value={steps}
|
value={steps}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
@ -127,7 +127,7 @@ export default function PropertySettings() {
|
|||||||
{initImage && (
|
{initImage && (
|
||||||
<div className={SettingItem}>
|
<div className={SettingItem}>
|
||||||
<label>
|
<label>
|
||||||
{t("settings.prompt-str")} {" "}
|
{t("settings.prompt-str")}{" "}
|
||||||
<input
|
<input
|
||||||
value={promptStrength}
|
value={promptStrength}
|
||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
|
@ -30,12 +30,11 @@ export default function BasicCreation() {
|
|||||||
<p>{t("home.editor-title")}</p>
|
<p>{t("home.editor-title")}</p>
|
||||||
<textarea value={promptText} onChange={handlePromptChange}></textarea>
|
<textarea value={promptText} onChange={handlePromptChange}></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
<MakeButton></MakeButton>
|
||||||
|
|
||||||
<SeedImage></SeedImage>
|
<SeedImage></SeedImage>
|
||||||
|
|
||||||
<ActiveTags></ActiveTags>
|
<ActiveTags></ActiveTags>
|
||||||
|
|
||||||
<MakeButton></MakeButton>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* eslint-disable @typescript-eslint/naming-convention */
|
/* eslint-disable @typescript-eslint/naming-convention */
|
||||||
import React, { useEffect, useState } from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { useImageCreate } from "../../../../../stores/imageCreateStore";
|
import { useImageCreate } from "../../../../../stores/imageCreateStore";
|
||||||
import { useImageQueue } from "../../../../../stores/imageQueueStore";
|
import { useImageQueue } from "../../../../../stores/imageQueueStore";
|
||||||
@ -24,6 +24,13 @@ export default function MakeButton() {
|
|||||||
const setRequestOption = useImageCreate((state) => state.setRequestOptions);
|
const setRequestOption = useImageCreate((state) => state.setRequestOptions);
|
||||||
|
|
||||||
const makeImages = () => {
|
const makeImages = () => {
|
||||||
|
// potentially update the seed
|
||||||
|
if (isRandomSeed) {
|
||||||
|
// update the seed for the next time we click the button
|
||||||
|
debugger;
|
||||||
|
setRequestOption("seed", useRandomSeed());
|
||||||
|
}
|
||||||
|
|
||||||
// the request that we have built
|
// the request that we have built
|
||||||
const req = builtRequest();
|
const req = builtRequest();
|
||||||
// the actual number of request we will make
|
// the actual number of request we will make
|
||||||
@ -57,6 +64,7 @@ export default function MakeButton() {
|
|||||||
// get the seed we want to use
|
// get the seed we want to use
|
||||||
let seed = req.seed;
|
let seed = req.seed;
|
||||||
if (index !== 0) {
|
if (index !== 0) {
|
||||||
|
debugger;
|
||||||
// we want to use a random seed for subsequent requests
|
// we want to use a random seed for subsequent requests
|
||||||
seed = useRandomSeed();
|
seed = useRandomSeed();
|
||||||
}
|
}
|
||||||
@ -69,12 +77,6 @@ export default function MakeButton() {
|
|||||||
seed,
|
seed,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// potentially update the seed
|
|
||||||
if (isRandomSeed) {
|
|
||||||
// update the seed for the next time we click the button
|
|
||||||
setRequestOption("seed", useRandomSeed());
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -82,7 +82,7 @@ export default function SeedImage(_props: any) {
|
|||||||
X
|
X
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<label>
|
{/* <label>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
@ -91,7 +91,7 @@ export default function SeedImage(_props: any) {
|
|||||||
checked={isInPaintingMode}
|
checked={isInPaintingMode}
|
||||||
></input>
|
></input>
|
||||||
{t("in-paint.txt")}
|
{t("in-paint.txt")}
|
||||||
</label>
|
</label> */}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import create from "zustand";
|
import create from "zustand";
|
||||||
import produce from "immer";
|
import produce from "immer";
|
||||||
import { persist, devtools } from "zustand/middleware";
|
import { persist } from "zustand/middleware";
|
||||||
|
|
||||||
export type ImageCreationUIOptions = {
|
export type ImageCreationUIOptions = {
|
||||||
isOpenAdvancedSettings: boolean;
|
isOpenAdvancedSettings: boolean;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
import React, { useEffect, useState } from "react";
|
import React, { useState } from "react";
|
||||||
|
|
||||||
import { useQuery } from "@tanstack/react-query";
|
|
||||||
import { loadModifications } from "../../../../api";
|
|
||||||
|
|
||||||
// @ts-expect-error
|
// @ts-expect-error
|
||||||
import { PanelBox } from "../../../../styles/shared.css.ts";
|
import { PanelBox } from "../../../../styles/shared.css.ts";
|
||||||
|
@ -40,26 +40,25 @@ export default function CompletedImages({
|
|||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
<ul className={completedImagesList}>
|
<ul className={completedImagesList}>
|
||||||
{images != null &&
|
{images?.map((image, index) => {
|
||||||
images.map((image, index) => {
|
if (void 0 === image) {
|
||||||
if (void 0 === image) {
|
console.warn(`image ${index} is undefined`);
|
||||||
console.warn(`image ${index} is undefined`);
|
return null;
|
||||||
return null;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<li key={image.id}>
|
<li key={image.id}>
|
||||||
<button
|
<button
|
||||||
className={imageContain}
|
className={imageContain}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
_handleSetCurrentDisplay(index);
|
_handleSetCurrentDisplay(index);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<img src={image.data} alt={image.info.prompt} />
|
<img src={image.data} alt={image.info.prompt} />
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
import { style } from "@vanilla-extract/css";
|
import { style } from "@vanilla-extract/css";
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
import { vars } from "../../../styles/theme/index.css.ts";
|
|
||||||
|
|
||||||
export const displayPanel = style({
|
export const displayPanel = style({
|
||||||
height: "100%",
|
height: "100%",
|
||||||
display: "flex",
|
display: "flex",
|
||||||
@ -17,6 +14,4 @@ export const displayContainer = style({
|
|||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
});
|
});
|
||||||
|
|
||||||
export const previousImages = style({
|
export const previousImages = style({});
|
||||||
// height: "150px",
|
|
||||||
});
|
|
||||||
|
@ -5,7 +5,12 @@ import { ImageRequest, useImageCreate } from "../../../stores/imageCreateStore";
|
|||||||
|
|
||||||
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
||||||
|
|
||||||
import { doMakeImage, MakeImageKey } from "../../../api";
|
import {
|
||||||
|
doMakeImage,
|
||||||
|
MakeImageKey,
|
||||||
|
ImageReturnType,
|
||||||
|
ImageOutput,
|
||||||
|
} from "../../../api";
|
||||||
|
|
||||||
import AudioDing from "./audioDing";
|
import AudioDing from "./audioDing";
|
||||||
|
|
||||||
@ -18,9 +23,8 @@ import CompletedImages from "./completedImages";
|
|||||||
import {
|
import {
|
||||||
displayPanel,
|
displayPanel,
|
||||||
displayContainer,
|
displayContainer,
|
||||||
// CurrentDisplay,
|
|
||||||
previousImages,
|
previousImages,
|
||||||
previousImage, // @ts-expect-error
|
// @ts-expect-error
|
||||||
} from "./displayPanel.css.ts";
|
} from "./displayPanel.css.ts";
|
||||||
|
|
||||||
export interface CompletedImagesType {
|
export interface CompletedImagesType {
|
||||||
@ -52,7 +56,6 @@ export default function DisplayPanel() {
|
|||||||
async () => await doMakeImage(options),
|
async () => await doMakeImage(options),
|
||||||
{
|
{
|
||||||
enabled: isEnabled,
|
enabled: isEnabled,
|
||||||
// void 0 !== id,
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -95,11 +98,10 @@ export default function DisplayPanel() {
|
|||||||
|
|
||||||
// this is where we generate the list of completed images
|
// this is where we generate the list of completed images
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const testReq = {} as ImageRequest;
|
|
||||||
const completedQueries = completedIds.map((id) => {
|
const completedQueries = completedIds.map((id) => {
|
||||||
const imageData = queryClient.getQueryData([MakeImageKey, id]);
|
const imageData = queryClient.getQueryData([MakeImageKey, id]);
|
||||||
return imageData;
|
return imageData;
|
||||||
}) as ImageRequest[];
|
}) as ImageReturnType[];
|
||||||
|
|
||||||
if (completedQueries.length > 0) {
|
if (completedQueries.length > 0) {
|
||||||
// map the completedImagesto a new array
|
// map the completedImagesto a new array
|
||||||
@ -107,13 +109,10 @@ export default function DisplayPanel() {
|
|||||||
const temp = completedQueries
|
const temp = completedQueries
|
||||||
.map((query, index) => {
|
.map((query, index) => {
|
||||||
if (void 0 !== query) {
|
if (void 0 !== query) {
|
||||||
// @ts-ignore
|
return query.output.map((data: ImageOutput, index: number) => {
|
||||||
return query.output.map((data, index) => {
|
|
||||||
// @ts-ignore
|
|
||||||
return {
|
return {
|
||||||
id: `${completedIds[index]}${idDelim}-${data.seed}-${data.index}`,
|
id: `${completedIds[index]}${idDelim}-${data.seed}-${index}`,
|
||||||
data: data.data,
|
data: data.data,
|
||||||
// @ts-ignore
|
|
||||||
info: { ...query.request, seed: data.seed },
|
info: { ...query.request, seed: data.seed },
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -11,7 +11,7 @@ import {
|
|||||||
HeaderDisplayMain, // @ts-expect-error
|
HeaderDisplayMain, // @ts-expect-error
|
||||||
} from "./headerDisplay.css.ts";
|
} from "./headerDisplay.css.ts";
|
||||||
|
|
||||||
import LanguageDropdown from "./languageDropdown";
|
// import LanguageDropdown from "./languageDropdown";
|
||||||
|
|
||||||
export default function HeaderDisplay() {
|
export default function HeaderDisplay() {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@ -46,7 +46,7 @@ export default function HeaderDisplay() {
|
|||||||
</h1>
|
</h1>
|
||||||
<StatusDisplay className="status-display"></StatusDisplay>
|
<StatusDisplay className="status-display"></StatusDisplay>
|
||||||
|
|
||||||
<LanguageDropdown></LanguageDropdown>
|
{/* <LanguageDropdown></LanguageDropdown> */}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect } from "react";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
AppLayout,
|
AppLayout,
|
||||||
|
@ -14,8 +14,6 @@ interface ImageQueueState {
|
|||||||
clearCachedIds: () => void;
|
clearCachedIds: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
// figure out why TS is complaining about this
|
|
||||||
// @ts-ignore
|
|
||||||
export const useImageQueue = create<ImageQueueState>((set, get) => ({
|
export const useImageQueue = create<ImageQueueState>((set, get) => ({
|
||||||
images: [],
|
images: [],
|
||||||
completedImageIds: [],
|
completedImageIds: [],
|
||||||
|
40
ui/frontend/dist/index.js
vendored
40
ui/frontend/dist/index.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user