import { useParams } from "react-router-dom";
import { Box, Link, Typography, useMediaQuery, useTheme, IconButton, InputAdornment, Popover, TextField, TextareaAutosize} from "@mui/material";
import EnterIcon from "../../../assets/icons/questionsPage/enterIcon";
import ButtonsOptions from "../ButtonsOptions";
import SwitchEmoji from "./switchEmoji";
import React from "react";
import AddEmoji from "../../../assets/icons/questionsPage/addEmoji";
import { AnswerDraggableList } from "../AnswerDraggableList";
import { questionStore, updateQuestionsList } from "@root/questions";

import PointsIcon from "@icons/questionsPage/PointsIcon";
import MessageIcon from "@icons/messagIcon";
import DeleteIcon from "@icons/questionsPage/deleteIcon";
import { ImageAddIcons } from "@icons/ImageAddIcons";
import { EmojiIcons } from "@icons/EmojiIocns";

interface Props {
  totalIndex: number;
}
export default function Emoji({ totalIndex }: Props) {
  const [switchState, setSwitchState] = React.useState("setting");
  const { listQuestions } = questionStore();
  const quizId = Number(useParams().quizId);
  const theme = useTheme();
  const isMobile = useMediaQuery(theme.breakpoints.down(790));



  const SSHC = (data: string) => {
    setSwitchState(data);
  };

  return (
    <>
      <Box sx={{ padding: "20px" }}>
            <Box
          sx={{
            width: "100%",
            border: "1px solid #9A9AAF",
            borderRadius: "8px",
          }}
        >
          <TextField
            fullWidth
            focused={false}
            placeholder={"Добавьте ответ"}
            multiline={listQuestions[quizId][totalIndex].content.largeCheck}
            InputProps={{
              startAdornment: (
                <>
                  <InputAdornment position="start">
                    <PointsIcon />
                  </InputAdornment>
                  {!isMobile && <AddEmoji />}
                </>
              ),
              endAdornment: (
                <InputAdornment position="end">
                  <IconButton aria-describedby="my-popover-id">
                    <MessageIcon />
                  </IconButton>
                  <Popover id="my-popover-id" anchorOrigin={{ vertical: "bottom", horizontal: "left" }} open={false}>
                    <TextareaAutosize style={{ margin: "10px" }} placeholder="Подсказка для этого ответа" />
                  </Popover>
                  <IconButton>
                    <DeleteIcon color={theme.palette.grey2.main} />
                  </IconButton>
                </InputAdornment>
              ),
            }}
            sx={{
              "& .MuiInputBase-root": {
                padding: "13.5px",
                borderRadius: "10px",
                background: "#ffffff",
              },
              "& .MuiOutlinedInput-notchedOutline": {
                border: "none",
              },
            }}
            inputProps={{
              sx: { fontSize: "18px", lineHeight: "21px", py: 0 },
            }}
          />

          {isMobile && (
            <Box sx={{ display: "flex", alignItems: "center", m: "8px", position: "relative" }}>
              <Box sx={{ width: "100%", background: "#EEE4FC", height: "40px" }} />
              <EmojiIcons
                style={{ position: "absolute", color: "#7E2AEA", fontSize: "20px", left: "45%", right: "55%" }}
              />
              <Box
                sx={{
                  display: "flex",
                  justifyContent: "center",
                  alignItems: "center",
                  width: "20px",
                  background: "#EEE4FC",
                  height: "40px",
                  color: "white",
                  backgroundColor: "#7E2AEA",
                }}
              >
                +
              </Box>
            </Box>
          )}
        </Box>
        <Box sx={{ display: "flex", alignItems: "center", gap: "10px" }}>
          <Link
            component="button"
            variant="body2"
            sx={{ color: theme.palette.brightPurple.main }}
            onClick={() => {
              const answerNew = listQuestions[quizId][totalIndex].content.variants.slice();
              answerNew.push({ answer: "", hints: "" });

              updateQuestionsList(quizId, totalIndex, {
                content: {
                  ...listQuestions[quizId][totalIndex].content,
                  variants: answerNew,
                },
              });
            }}
          >
            Добавьте ответ
          </Link>
          {isMobile ? null : (
            <>
              <Typography
                sx={{
                  fontWeight: 400,
                  fontSize: "18px",
                  lineHeight: "21.33px",
                  color: theme.palette.grey2.main,
                }}
              >
                или нажмите Enter
              </Typography>
              <EnterIcon />
            </>
          )}
        </Box>
      </Box>
      <ButtonsOptions switchState={switchState} SSHC={SSHC} totalIndex={totalIndex} />
      <SwitchEmoji switchState={switchState} totalIndex={totalIndex} />
    </>
  );
}
