Adding constants pattern, textfile edit node fix

This commit is contained in:
Cristhian Zanforlin Lousa 2023-06-08 16:58:05 -03:00
commit 10b3ad711e
7 changed files with 67 additions and 23 deletions

View file

@ -9,6 +9,7 @@ export default function TextAreaComponent({
value, value,
onChange, onChange,
disabled, disabled,
editNode = false,
}: TextAreaComponentType) { }: TextAreaComponentType) {
const [myValue, setMyValue] = useState(value); const [myValue, setMyValue] = useState(value);
const { openPopUp } = useContext(PopUpContext); const { openPopUp } = useContext(PopUpContext);
@ -37,8 +38,10 @@ export default function TextAreaComponent({
); );
}} }}
className={ className={
"truncate block w-full text-gray-500 dark:text-gray-100 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" + editNode
(disabled ? " bg-gray-200" : "") ? "h-7 truncate placeholder:text-center text-gray-500 border-0 block w-full pt-0.5 pb-0.5 form-input dark:bg-gray-900 dark:text-gray-300 dark:border-gray-600 rounded-md border-gray-300 shadow-sm sm:text-sm focus:outline-none focus:ring-1 focus:ring-inset focus:ring-gray-200"
: "truncate block w-full text-gray-500 dark:text-gray-100 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" +
(disabled ? " bg-gray-200" : "")
} }
> >
{myValue !== "" ? myValue : "Text empty"} {myValue !== "" ? myValue : "Text empty"}
@ -59,7 +62,9 @@ export default function TextAreaComponent({
); );
}} }}
> >
<ArrowTopRightOnSquareIcon className="w-6 h-6 hover:text-blue-600 dark:text-gray-300" /> {!editNode && (
<ArrowTopRightOnSquareIcon className="w-6 h-6 hover:text-blue-600 dark:text-gray-300" />
)}
</button> </button>
</div> </div>
</div> </div>

View file

@ -0,0 +1,39 @@
// src/constants.tsx
/**
* The base text for subtitle of Export Dialog (Toolbar)
* @constant
*/
export const EXPORT_DIALOG_SUBTITLE = "Export your models.";
/**
* The base text for subtitle of Code Dialog (Toolbar)
* @constant
*/
export const CODE_DIALOG_SUBTITLE =
"Export your flow to use it with this code.";
/**
* The base text for subtitle of Edit Node Dialog
* @constant
*/
export const EDIT_DIALOG_SUBTITLE =
"Make configurations changes to your nodes. Click save when you're done.";
/**
* The base text for subtitle of Code Dialog
* @constant
*/
export const CODE_PROMPT_DIALOG_SUBTITLE = "Edit you python code.";
/**
* The base text for subtitle of Prompt Dialog
* @constant
*/
export const PROMPT_DIALOG_SUBTITLE = "Edit you prompt.";
/**
* The base text for subtitle of Text Dialog
* @constant
*/
export const TEXT_DIALOG_SUBTITLE = "Edit you text.";

View file

@ -42,7 +42,7 @@ import {
DialogTrigger, DialogTrigger,
} from "../../components/ui/dialog"; } from "../../components/ui/dialog";
import { Button } from "../../components/ui/button"; import { Button } from "../../components/ui/button";
import { modalSubtitle } from "../modal-texts"; import { EDIT_DIALOG_SUBTITLE } from "../../constants";
export default function EditNodeModal({ data }: { data: NodeDataType }) { export default function EditNodeModal({ data }: { data: NodeDataType }) {
const [open, setOpen] = useState(true); const [open, setOpen] = useState(true);
@ -103,7 +103,7 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) {
/> />
</DialogTitle> </DialogTitle>
<DialogDescription> <DialogDescription>
{modalSubtitle['edit']} {EDIT_DIALOG_SUBTITLE}
<div className="flex pt-3"> <div className="flex pt-3">
<VariableIcon className="w-5 h-5 pe-1 text-gray-700 stroke-2"> <VariableIcon className="w-5 h-5 pe-1 text-gray-700 stroke-2">
&nbsp; &nbsp;
@ -179,6 +179,7 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) {
) : data.node.template[n].multiline ? ( ) : data.node.template[n].multiline ? (
<TextAreaComponent <TextAreaComponent
disabled={false} disabled={false}
editNode={true}
value={data.node.template[n].value ?? ""} value={data.node.template[n].value ?? ""}
onChange={(t: string) => { onChange={(t: string) => {
data.node.template[n].value = t; data.node.template[n].value = t;

View file

@ -21,7 +21,7 @@ import {
DialogTrigger, DialogTrigger,
} from "../../components/ui/dialog"; } from "../../components/ui/dialog";
import { Button } from "../../components/ui/button"; import { Button } from "../../components/ui/button";
import { modalSubtitle } from "../modal-texts"; import { CODE_PROMPT_DIALOG_SUBTITLE } from "../../constants";
export default function CodeAreaModal({ export default function CodeAreaModal({
value, value,
@ -56,9 +56,7 @@ export default function CodeAreaModal({
aria-hidden="true" aria-hidden="true"
/> />
</DialogTitle> </DialogTitle>
<DialogDescription> <DialogDescription>{CODE_PROMPT_DIALOG_SUBTITLE}</DialogDescription>
{modalSubtitle['codeprompt']}
</DialogDescription>
</DialogHeader> </DialogHeader>
<div className="flex h-full w-full mt-2"> <div className="flex h-full w-full mt-2">

View file

@ -23,7 +23,7 @@ import { Label } from "@radix-ui/react-label";
import { Checkbox } from "../../components/ui/checkbox"; import { Checkbox } from "../../components/ui/checkbox";
import { Textarea } from "../../components/ui/textarea"; import { Textarea } from "../../components/ui/textarea";
import { Input } from "../../components/ui/input"; import { Input } from "../../components/ui/input";
import { modalSubtitle } from "../modal-texts"; import { EXPORT_DIALOG_SUBTITLE } from "../../constants";
export default function ExportModal() { export default function ExportModal() {
const [open, setOpen] = useState(true); const [open, setOpen] = useState(true);
@ -53,9 +53,7 @@ export default function ExportModal() {
aria-hidden="true" aria-hidden="true"
/> />
</DialogTitle> </DialogTitle>
<DialogDescription> <DialogDescription>{EXPORT_DIALOG_SUBTITLE}</DialogDescription>
{modalSubtitle['export']}
</DialogDescription>
</DialogHeader> </DialogHeader>
<Label> <Label>

View file

@ -16,7 +16,7 @@ import {
} from "../../components/ui/dialog"; } from "../../components/ui/dialog";
import { Button } from "../../components/ui/button"; import { Button } from "../../components/ui/button";
import { Textarea } from "../../components/ui/textarea"; import { Textarea } from "../../components/ui/textarea";
import { modalSubtitle } from "../modal-texts"; import { PROMPT_DIALOG_SUBTITLE, TEXT_DIALOG_SUBTITLE } from "../../constants";
export default function PromptAreaModal({ export default function PromptAreaModal({
value, value,
@ -60,7 +60,18 @@ export default function PromptAreaModal({
/> />
</DialogTitle> </DialogTitle>
<DialogDescription> <DialogDescription>
{modalSubtitle['prompt']} {(() => {
switch (myModalTitle) {
case "Edit Text":
return TEXT_DIALOG_SUBTITLE;
case "Edit Prompt":
return PROMPT_DIALOG_SUBTITLE;
default:
return null;
}
})()}
</DialogDescription> </DialogDescription>
</DialogHeader> </DialogHeader>

View file

@ -1,8 +0,0 @@
export const modalSubtitle = {
export: "Export your models.",
code: "Export your flow to use it with this code.",
edit: "Make configurations changes to your nodes. Click save when you're done.",
codeprompt: "Edit you python code.",
prompt: "Edit you prompt."
};