<template>
  <div id="Chapter1_1" class="content-wrap">
    <div style="margin: 30px 0px 50px; width: 20%">
      <router-link to="/MyPlan.page">
        <div class="logo mb25">
          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
        </div>
      </router-link>
    </div>
    <div
      class="title-box mb25 flex align-center mt40"
      style="justify-content: space-between"
    >
      <div>
        <span class="title mr40">1. Hello WORLD</span>
        <span class="subtitle">my name is dd</span>
      </div>
      <button class="completeBtn" @click="complete">학습 종료</button>
    </div>
    <div class="flex justify-between align-center">
      <div
        class="pre-btn"
        :style="{ visibility: hiddenState ? 'hidden' : 'visible' }"
        @click="previousProblem()"
      >
        <img src="../../../../resources/img/left.png" alt="" />
      </div>
      <div class="content title-box">
        <div style="display: flex; justify-content: space-between">
          <p class="title mt25 title-bg">step3-놀면서 배우는 영어</p>
          <button id="returnButton" @click="returnPage" style="margin: 4rem">
            <img src="../../../../resources/img/btn_return_50x50.png" alt="" />
            <p>되돌리기</p>
          </button>
        </div>

        <div class="flex align-center mb30">
          <p class="subtitle2 mr20">
            앗! 도끼가 물에 빠졌어! 어느 것이 내 도끼일까?
          </p>
          <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
          </button> -->
        </div>

        <div class="text-ct">
          <div class="imgGroup flex align-start justify-center mt30">
            <img src="../../../../resources/img/img87_43s.png" alt="" />
            <div class="inputGroup">
              <p>{{ beforeQuestion }}</p>
              <p>__________</p>
              <p>{{ afterQuestion }}</p>
            </div>
          </div>
          <div class="pickGroup">
            <article
              class="flex justify-center"
              style="gap: 60px; bottom: 159px; left: 242px"
            >
              <div class="flex">
                <button @click="handleClick(1)">
                  <img src="../../../../resources/img/img136_71s.png" alt="" />
                  <p :class="{ active: selectedButton === 1 }">1</p>
                </button>
                <p>{{ choice[0] }}</p>
              </div>
            </article>
            <article
              class="flex justify-center"
              style="gap: 60px; bottom: 159px; right: 559px"
            >
              <div class="flex">
                <button @click="handleClick(2)">
                  <img src="../../../../resources/img/img136_71s.png" alt="" />
                  <p :class="{ active: selectedButton === 2 }">2</p>
                </button>
                <p>{{ choice[1] }}</p>
              </div>
            </article>
            <div class="answerBox">
              <button class="answerButton" @click="confirmAnswer">
                정답 확인
              </button>
            </div>
          </div>
        </div>
      </div>
      <div class="next-btn" @click="nextProblem()">
        <img src="../../../../resources/img/right.png" alt="" />
      </div>
    </div>
  </div>
</template>

<script>
import axios from "axios";
export default {
  data() {
    return {
      selectedButton: null,

      beforeQuestion: "",
      afterQuestion: "",

      choice: [],
      answer: 1,

      prblm_id: [],
      unit_id: null,
      dataList: [],

      seq: this.$store.getters.seqNum,
      hiddenState: false,
    };
  },
  methods: {
    complete() {
      const { unit_id, book_id } = this.$route.query;
      this.$router.push({
        name: "Dashboard",
        query: { value: this.seq, unit_id, book_id },
      });
    },
    goToPage(page) {
      this.$router.push({ name: page });
    },

    handleClick(buttonNumber) {
      this.selectedButton = buttonNumber; // 선택된 버튼 번호 저장
    },

    confirmAnswer() {
      if (this.selectedButton === null) {
        alert("정답을 선택해주세요.");
        return;
      }
      if (this.selectedButton === this.answer) {
        alert("정답입니다!");
        this.nextProblem();
      } else {
        alert("오답입니다!");
      }
      this.selectedButton = null;
    },

    returnPage() {
      window.location.reload();
    },
    splitExample() {
      const parts = this.example.split("/?/");
      if (parts.length === 2) {
        this.beforeQuestion = parts[0];
        this.afterQuestion = parts[1];
      }
    },
    getProblem() {
      const vm = this;
      const prblmId = this.prblm_id.prblm_id;
      // const prblmId = "PROBLEM_000000000000076";

      axios({
        url: "problem/problemInfo.json",
        method: "post",
        headers: {
          "Content-Type": "application/json; charset=UTF-8",
        },
        data: {
          prblmId: prblmId,
        },
      })
        .then(function (res) {
          console.log("problem - response : ", res.data);
          vm.dataList = res.data.problem;
          vm.problemDetail = res.data.problemDetail;
          vm.example = vm.dataList.prblmExpln;
          vm.problemDetail.forEach((detail, index) => {
            vm.choice.push(detail.prblmDtlExpln);
            if (detail.prblmYn === "Y") {
              vm.answer = index + 1;
            }
          });

          console.log(vm.example);
          console.log(vm.choice);
          console.log(vm.answer);
          vm.splitExample();
        })
        .catch(function (error) {
          console.log("problem - error : ", error);
        });
    },
    nextProblem() {
      if (
        this.currentProblemIndex <
        this.$store.state.currentLearningIds.length - 1
      ) {
        this.$store.dispatch("goToNextProblem");
        this.handleProblemDetail(this.currentLearningId);
        this.goToPage(this.problemType);
      } else {
        // 마지막 문제면 이동
        // this.goToPage("Chapter4");
        alert("문제 학습 완료");
        this.complete();
      }
    },
    previousProblem() {
      if (this.currentProblemIndex > 0) {
        this.$store.dispatch("goToPreviousProblem");
        this.handleProblemDetail(this.currentLearningId);
        this.goToPage(this.problemType);
      }
    },

    handleProblemDetail(item) {
      if (item.prblm_type_id === "prblm_type_001") {
        this.problemType = "Chapter3";
      } else if (item.prblm_type_id === "prblm_type_002") {
        this.problemType = "Chapter3_1";
      } else if (item.prblm_type_id === "prblm_type_003") {
        this.problemType = "Chapter3_2";
      } else if (item.prblm_type_id === "prblm_type_004") {
        this.problemType = "Chapter3_3";
      } else if (item.prblm_type_id === "prblm_type_005") {
        this.problemType = "Chapter3_3_1";
      } else if (item.prblm_type_id === "prblm_type_006") {
        this.problemType = "Chapter3_4";
      } else if (item.prblm_type_id === "prblm_type_007") {
        this.problemType = "Chapter3_5";
      } else if (item.prblm_type_id === "prblm_type_008") {
        this.problemType = "Chapter3_6";
      } else if (item.prblm_type_id === "prblm_type_009") {
        this.problemType = "Chapter3_7";
      } else if (item.prblm_type_id === "prblm_type_010") {
        this.problemType = "Chapter3_8";
      } else if (item.prblm_type_id === "prblm_type_011") {
        this.problemType = "Chapter3_9";
      } else if (item.prblm_type_id === "prblm_type_012") {
        this.problemType = "Chapter3_10";
      } else if (item.prblm_type_id === "prblm_type_013") {
        this.problemType = "Chapter3_11";
      } else if (item.prblm_type_id === "prblm_type_014") {
        this.problemType = "Chapter3_12";
      } else if (item.prblm_type_id === "prblm_type_015") {
        this.problemType = "Chapter3_13";
      } else if (item.prblm_type_id === "prblm_type_016") {
        this.problemType = "Chapter3_14";
      } else if (item.prblm_type_id === "prblm_type_017") {
        this.problemType = "Chapter3_15";
      } else if (item.prblm_type_id === "prblm_type_018") {
        this.problemType = "Chapter2_8";
      } else if (item.prblm_type_id === "prblm_type_019") {
        this.problemType = "Chapter2_7";
      } else if (item.prblm_type_id === "prblm_type_020") {
        this.problemType = "Chapter2_5";
      } else if (item.prblm_type_id === "prblm_type_021") {
        this.problemType = "Chapter2_6";
      } else if (item.prblm_type_id === "prblm_type_022") {
        this.problemType = "Chapter2_10";
      } else if (item.prblm_type_id === "prblm_type_023") {
        this.problemType = "Chapter2_11";
      } else if (item.prblm_type_id === "prblm_type_024") {
        this.problemType = "Chapter2_13";
      }
    },
  },
  watch: {},
  computed: {
    currentLearningId() {
      return this.$store.getters.currentLearningId;
    },
    currentLabel() {
      return this.$store.getters.currentLabel;
    },
    currentProblemIndex() {
      return this.$store.getters.currentProblemIndex;
    },
    isPreviousButtonDisabled() {
      return this.currentProblemIndex === 0;
    },
  },
  created() {
    console.log("Current Learning ID:", this.currentLearningId);
    this.prblm_id = this.currentLearningId;
    console.log("Current Label:", this.currentLabel);
    console.log("Current Problem Index:", this.currentProblemIndex);

    // Fetch or process the current problem based on `currentLearningId`
  },
  mounted() {
    this.getProblem();

    if (this.currentProblemIndex == 0) {
      this.hiddenState = true;
    }
  },
};
</script>
<style scoped>
.imgGroup {
  margin-left: 183px;
  width: auto;
}

.pickGroup button {
  position: relative;
  margin-right: 30px;
}

.pickGroup button p {
  font-size: 34px;
  color: #c6c6c6;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.pickGroup article {
  position: absolute;
}

.pickGroup article img {
  object-fit: contain;
  width: -webkit-fill-available;
}

.pickGroup article > div > p {
  font-size: 64px;
}

.pickGroup button p.active {
  color: #000;
  /* 선택된 버튼의 숫자 색을 더 진하게 */
}

.inputGroup {
  display: flex;
  align-items: center;
  gap: 30px;
}

.inputGroup p {
  font-size: 28px;
}

.answerBox {
  margin-top: -87px;
  margin-right: 10px;
  text-align: right;
}

.answerButton {
  background-color: #ffc107;
  border-radius: 30px;
  padding: 20px 50px;
  margin: 40px;
  font-family: "ONEMobileOTF-Regular";
  font-weight: bold;
  font-size: 24px;
}

.completeBtn {
  margin-right: 100px;
  background-color: #ffba08;
  padding: 10px 30px;
  border-radius: 10px;
  font-size: 28px;
  font-family: "ONEMobilePOPOTF";
}
</style>
