From 48ae1359ac39334e3baabbf8b0970078a9ece849 Mon Sep 17 00:00:00 2001 From: Nastya Date: Mon, 23 Jun 2025 15:30:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D1=83=D0=B1=D1=80=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=20=D1=81=D0=BC=D0=B0=D0=B9=D0=BB=D0=B8=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/extensions.json | 5 +++++ src/assets/icons/SmallAddPluse.tsx | 18 +++++++++++++++ .../AnswerDraggableList/AnswerItem.tsx | 13 ++++++----- .../Emoji/EmojiAnswerItem/EmojiAnswerItem.tsx | 15 ++++++++++++- .../EmojiAnswerItem/VariantAdornment.tsx | 21 +++++++++++++----- .../VariantAdornmentMobile.tsx | 22 +++++++++++++++++-- 6 files changed, 80 insertions(+), 14 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 src/assets/icons/SmallAddPluse.tsx diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..c4e3af0a --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "godrix.svgr-preview" + ] +} \ No newline at end of file diff --git a/src/assets/icons/SmallAddPluse.tsx b/src/assets/icons/SmallAddPluse.tsx new file mode 100644 index 00000000..d9e19069 --- /dev/null +++ b/src/assets/icons/SmallAddPluse.tsx @@ -0,0 +1,18 @@ +import { SvgIcon, SxProps } from "@mui/material"; + +export default function SmallAddPluse({ sx }: { sx: SxProps }) { + return ( + + + + + + ); +} \ No newline at end of file diff --git a/src/pages/Questions/AnswerDraggableList/AnswerItem.tsx b/src/pages/Questions/AnswerDraggableList/AnswerItem.tsx index e9f27d97..35ea548c 100644 --- a/src/pages/Questions/AnswerDraggableList/AnswerItem.tsx +++ b/src/pages/Questions/AnswerDraggableList/AnswerItem.tsx @@ -41,6 +41,7 @@ const AnswerItem = memo( }); }; + return ( ( }} > ( onChange={({ target }: ChangeEvent) => { if (target.value.length <= 1000) { isOwn ? - setOwnPlaceholder(target.value || " ") - : - setQuestionVariantField(questionId, variant.id, "answer", target.value || " "); + setOwnPlaceholder(target.value || " ") + : + setQuestionVariantField(questionId, variant.id, "answer", target.value || " "); } else { enqueueSnackbar("Превышена длина вводимого текста") } @@ -105,8 +106,8 @@ const AnswerItem = memo( isOwn ? updateQuestion(questionId, (question) => { question.content.own = false; }) - : - deleteQuestionVariant(questionId, variant.id) + : + deleteQuestionVariant(questionId, variant.id) }} > ) => { + e.stopPropagation() + updateQuestion(questionId, (question) => { + if (question.type !== "emoji") return; + + const v = question.content.variants.find((v) => v.id === variant.id); + if (!v) return; + + v.extendedText = ""; + }); + } const addOrEditImageButton = useMemo(() => { return ( !isTablet && ( @@ -41,6 +52,7 @@ export default function EmojiAnswerItem({ setSelectedVariant(variant.id); setOpen(true); }} + clearEmoji={clearEmoji} /> ) ); @@ -63,6 +75,7 @@ export default function EmojiAnswerItem({ setSelectedVariant(variant.id); setOpen(true); }} + clearEmoji={clearEmoji} /> ) ); diff --git a/src/pages/Questions/Emoji/EmojiAnswerItem/VariantAdornment.tsx b/src/pages/Questions/Emoji/EmojiAnswerItem/VariantAdornment.tsx index 701755c0..15e3a3f9 100644 --- a/src/pages/Questions/Emoji/EmojiAnswerItem/VariantAdornment.tsx +++ b/src/pages/Questions/Emoji/EmojiAnswerItem/VariantAdornment.tsx @@ -1,15 +1,19 @@ +import SmallAddPluse from "@/assets/icons/SmallAddPluse"; import AddEmoji from "@icons/questionsPage/addEmoji"; import PlusImage from "@icons/questionsPage/plus"; -import { Box } from "@mui/material"; +import { Box, useTheme, IconButton } from "@mui/material"; import { MouseEventHandler } from "react"; export default function VariantAdornment({ onClick, extendedText, + clearEmoji, }: { onClick: MouseEventHandler; extendedText: string; + clearEmoji: () => void; }) { + const theme = useTheme(); console.log("VariantAdornment extendedText", extendedText) return ( @@ -44,13 +48,20 @@ export default function VariantAdornment({ > {extendedText} - - + - + ) : ( diff --git a/src/pages/Questions/Emoji/EmojiAnswerItem/VariantAdornmentMobile.tsx b/src/pages/Questions/Emoji/EmojiAnswerItem/VariantAdornmentMobile.tsx index b24c586c..a008ed2e 100644 --- a/src/pages/Questions/Emoji/EmojiAnswerItem/VariantAdornmentMobile.tsx +++ b/src/pages/Questions/Emoji/EmojiAnswerItem/VariantAdornmentMobile.tsx @@ -1,14 +1,19 @@ +import SmallAddPluse from "@/assets/icons/SmallAddPluse"; import { EmojiIcons } from "@icons/EmojiIocns"; -import { Box } from "@mui/material"; +import { Box, IconButton, useTheme } from "@mui/material"; import { MouseEventHandler } from "react"; export default function VariantAdornmentMobile({ onClick, extendedText, + clearEmoji }: { onClick: MouseEventHandler; extendedText: string; + clearEmoji: () => void; }) { + const theme = useTheme(); + return ( - + + + + );