Merge pull request #32 from caranicas/react-beta-linting-clean

React beta linting clean
This commit is contained in:
caranicas 2022-09-20 09:52:02 -04:00 committed by GitHub
commit a5ae3545d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 87 additions and 89 deletions

View File

@ -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",

View File

@ -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) => {

View File

@ -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) => {

View File

@ -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,

View File

@ -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>
</> </>

View File

@ -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>
); );
} }

View File

@ -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) =>

View File

@ -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>
); );
} }

View File

@ -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 (

View File

@ -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>

View File

@ -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;

View File

@ -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";

View File

@ -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>
); );

View File

@ -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",
});

View File

@ -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 },
}; };
}); });

View File

@ -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>
); );
} }

View File

@ -1,4 +1,4 @@
import React, { useEffect, useState } from "react"; import React, { useEffect } from "react";
import { import {
AppLayout, AppLayout,

View File

@ -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: [],

File diff suppressed because one or more lines are too long