From 6f35b57e6ede90869301179c1dfebf76ad6a93ce Mon Sep 17 00:00:00 2001 From: Sean Sube Date: Fri, 16 Feb 2024 23:11:30 -0600 Subject: [PATCH] add strings for new features --- .../control/ExperimentalControl.tsx | 50 ++++++++++++++----- gui/src/components/input/QueryList.tsx | 2 + gui/src/components/tab/Txt2Img.tsx | 2 +- gui/src/strings/de.ts | 14 ++++++ gui/src/strings/en.ts | 20 ++++++++ gui/src/strings/es.ts | 14 ++++++ gui/src/strings/fr.ts | 14 ++++++ 7 files changed, 103 insertions(+), 13 deletions(-) diff --git a/gui/src/components/control/ExperimentalControl.tsx b/gui/src/components/control/ExperimentalControl.tsx index c3094af2..e36094ba 100644 --- a/gui/src/components/control/ExperimentalControl.tsx +++ b/gui/src/components/control/ExperimentalControl.tsx @@ -3,6 +3,7 @@ import { mustDefault, mustExist } from '@apextoaster/js-utils'; import { Checkbox, FormControlLabel, Stack, TextField } from '@mui/material'; import { useTranslation } from 'react-i18next'; import * as React from 'react'; +import { useState } from 'react'; import { useQuery } from '@tanstack/react-query'; import { STALE_TIME, STANDARD_SPACING } from '../../constants.js'; @@ -10,13 +11,24 @@ import { NumericField } from '../input/NumericField.js'; import { QueryList } from '../input/QueryList.js'; import { ClientContext } from '../../state/full.js'; +export interface ExperimentalParams { + latent_symmetry: boolean; + latent_symmetry_gradient_start: number; + latent_symmetry_gradient_end: number; + latent_symmetry_line_of_symmetry: number; + prompt_editing: boolean; + prompt_filter: string; + remove_tokens: string; + add_suffix: string; +} + export interface ExperimentalControlProps { setExperimental(params: Record): void; } export function ExperimentalControl(props: ExperimentalControlProps) { const { t } = useTranslation(); - const state = { + const [state, setState] = useState({ latent_symmetry: false, latent_symmetry_gradient_start: 0.1, latent_symmetry_gradient_end: 0.3, @@ -25,7 +37,7 @@ export function ExperimentalControl(props: ExperimentalControlProps) { prompt_filter: '', remove_tokens: '', add_suffix: '', - }; + }); const client = mustExist(React.useContext(ClientContext)); const filters = useQuery(['filters'], async () => client.filters(), { @@ -41,7 +53,8 @@ export function ExperimentalControl(props: ExperimentalControlProps) { checked={state.latent_symmetry} value='check' onChange={(event) => { - props.setExperimental({ + setState({ + ...state, latent_symmetry: state.latent_symmetry === false, }); }} @@ -49,39 +62,45 @@ export function ExperimentalControl(props: ExperimentalControlProps) { /> { - props.setExperimental({ + setState({ + ...state, latent_symmetry_gradient_start, }); }} /> { - props.setExperimental({ + setState({ + ...state, latent_symmetry_gradient_end, }); }} /> { - props.setExperimental({ + setState({ + ...state, latent_symmetry_line_of_symmetry, }); }} @@ -95,43 +114,50 @@ export function ExperimentalControl(props: ExperimentalControlProps) { checked={state.prompt_editing} value='check' onChange={(event) => { - props.setExperimental({ + setState({ + ...state, prompt_editing: state.prompt_editing === false, }); }} />} /> f.prompt, }} value={mustDefault(state.prompt_filter, '')} onChange={(prompt_filter) => { - props.setExperimental({ + setState({ + ...state, prompt_filter, }); }} /> { - props.setExperimental({ + setState({ + ...state, remove_tokens: event.target.value, }); }} /> { - props.setExperimental({ + setState({ + ...state, add_suffix: event.target.value, }); }} diff --git a/gui/src/components/input/QueryList.tsx b/gui/src/components/input/QueryList.tsx index 3ae797fd..46388784 100644 --- a/gui/src/components/input/QueryList.tsx +++ b/gui/src/components/input/QueryList.tsx @@ -15,6 +15,7 @@ export interface QueryListFilter { } export interface QueryListProps { + disabled?: boolean; id: string; labelKey: string; name: string; @@ -107,6 +108,7 @@ export function QueryList(props: QueryListProps) { return {props.name}