From 974550d971414b3a07ff57f1b03263cb020229cd Mon Sep 17 00:00:00 2001 From: 7HR4IZ3 <90985774+7HR4IZ3@users.noreply.github.com> Date: Fri, 21 Jun 2024 20:13:30 +0100 Subject: [PATCH] feat: Added modal for editing long variable values (#380) Signed-off-by: 7HR4IZ3 Co-authored-by: Hugues Chocart --- .../prompts/PromptVariableEditor.tsx | 47 +++++------- .../components/prompts/VariableTextarea.tsx | 73 +++++++++++++++++++ 2 files changed, 93 insertions(+), 27 deletions(-) create mode 100644 packages/frontend/components/prompts/VariableTextarea.tsx diff --git a/packages/frontend/components/prompts/PromptVariableEditor.tsx b/packages/frontend/components/prompts/PromptVariableEditor.tsx index 24a71888..8c44acbc 100644 --- a/packages/frontend/components/prompts/PromptVariableEditor.tsx +++ b/packages/frontend/components/prompts/PromptVariableEditor.tsx @@ -1,23 +1,17 @@ -import { - Badge, - Box, - Group, - Stack, - Text, - Textarea, - Tooltip, -} from "@mantine/core" +import { Badge, Box, Group, Stack, Text, Tooltip } from "@mantine/core" import { IconInfoCircle } from "@tabler/icons-react" import { TemplateVariables } from "shared" +import VariableTextarea from "./VariableTextarea" export default function PromptVariableEditor({ - value = {}, + value: templateVariables = {}, onChange, }: { value: TemplateVariables onChange: (value: TemplateVariables) => void }) { - const hasVariables = Object.keys(value).length > 0 + const hasVariables = Object.keys(templateVariables).length > 0 + return ( @@ -35,40 +29,39 @@ export default function PromptVariableEditor({ )} - {Object.keys(value) - .sort() - .map((variable) => ( + {Object.entries(templateVariables) + .sort(([nameA], [nameB]) => nameA.localeCompare(nameB)) + .map(([name, value]) => ( - {variable} + {name} -