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 ( - + + + + );