jichoi / lms_front star
홍아랑 홍아랑 09-11
240911 홍아랑 챕터 페이지 로고 전체 수정
@769700f1c39caa809b889d467e5a5fc4eee09e57
client/views/pages/main/Chapter/Chapter1.vue
--- client/views/pages/main/Chapter/Chapter1.vue
+++ client/views/pages/main/Chapter/Chapter1.vue
@@ -3,18 +3,19 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <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
+      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>
+      <button class="completeBtn" @click="complete">학습 종료</button>
     </div>
     <div class="flex justify-between align-center">
       <div class="pre-btn">
@@ -43,8 +44,11 @@
   },
   methods: {
     complete() {
-        const { unit_id, book_id } = this.$route.query;
-        this.$router.push({ name: 'Dashboard', query: { value: 1, unit_id, book_id } });
+      const { unit_id, book_id } = this.$route.query;
+      this.$router.push({
+        name: "Dashboard",
+        query: { value: 1, unit_id, book_id },
+      });
     },
     goToPage(page) {
       this.$router.push({ name: page });
@@ -115,6 +119,6 @@
   padding: 10px 30px;
   border-radius: 10px;
   font-size: 28px;
-  font-family: 'ONEMobilePOPOTF';
+  font-family: "ONEMobilePOPOTF";
 }
 </style>
client/views/pages/main/Chapter/Chapter1_2.vue
--- client/views/pages/main/Chapter/Chapter1_2.vue
+++ client/views/pages/main/Chapter/Chapter1_2.vue
@@ -1,243 +1,265 @@
 <template>
-    <div id="Chapter1_2" class="content-wrap">
-        <div style="margin: 30px 0px 50px; width: 20%">
-            <router-link to="/MyPlan.page">
-                <div class="logo mb25">
-                    <img src="../../../../resources/img/logo2.png" alt="" />
-                </div>
-            </router-link>
+  <div id="Chapter1_2" 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>
-        <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>
-            <div class="flex">
-                <TextToImage />
-                <button class="completeBtn" @click="complete">학습 종료</button>
-            </div>
-        </div>
-        <div class="flex justify-between align-center">
-            <div class="pre-btn" style="visibility: hidden" @click="goToPage('Chapter1_1')">
-                <img src="../../../../resources/img/left.png" alt="" />
-            </div>
-            <div class="content title-box">
-                <p class="title mt25 title-bg">step1. Hello WORLD</p>
-                <div class="flex align-center ml50 mb15" style="margin-top: -30px; gap: 10px">
-                    <h4>각 인물들의 대화를 듣고 읽어봅시다. 아래의 플레이버튼을 눌러 영어 발음을 들어보세요!</h4>
-                    <div class="listen-btn">
-                        <img src="../../../../resources/img/btn10_s.png" alt="" @click="playAudio" />
-                        <audio
-                            id="audio-player"
-                            src="client/resources/audio/passage/passage_intoduce.mp3"
-                            preload="auto"
-                        ></audio>
-                    </div>
-                </div>
-                <div class="flex justify-center">
-                    <div class="readGroup">
-                        <div>
-                            <div class="textbox">
-                                <article
-                                    v-for="(line, index) in combinedLines"
-                                    :key="index"
-                                    :class="['flex', 'align-center', 'mb10', { 'justify-end': index % 2 !== 0 }]"
-                                >
-                                    <div v-if="index % 2 === 0" class="icon mr40">
-                                        <img src="../../../../resources/img/img37_s.png" alt="" />
-                                        <p class="name">{{ speakerA_name }}</p>
-                                    </div>
-                                    <p v-if="index % 2 === 0" class="read">{{ line }}</p>
-                                    <div class="listen-btn ml10" v-if="index % 2 === 0">
-                                        <img
-                                            src="../../../../resources/img/new_img/icon/play_icon.png"
-                                            alt=""
-                                            @click="generateTts('male', line)"
-                                        />
-                                        <audio id="tts-audio-player" preload="auto"></audio>
-                                    </div>
-
-                                    <div class="listen-btn mr10" v-if="index % 2 !== 0">
-                                        <img
-                                            src="../../../../resources/img/new_img/icon/play_icon.png"
-                                            alt=""
-                                            @click="generateTts('femail', line)"
-                                        />
-                                        <audio id="tts-audio-player" preload="auto"></audio>
-                                    </div>
-                                    <p v-if="index % 2 !== 0" class="read mr40">{{ line }}</p>
-                                    <div v-if="index % 2 !== 0" class="icon">
-                                        <img src="../../../../resources/img/img37_s.png" alt="" />
-                                        <p class="name">{{ speakerB_name }}</p>
-                                    </div>
-                                </article>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="next-btn" @click="goToNextPage">
-                <img src="../../../../resources/img/right.png" alt="" />
-            </div>
-        </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>
+      <div class="flex">
+        <TextToImage />
+        <button class="completeBtn" @click="complete">학습 종료</button>
+      </div>
+    </div>
+    <div class="flex justify-between align-center">
+      <div
+        class="pre-btn"
+        style="visibility: hidden"
+        @click="goToPage('Chapter1_1')"
+      >
+        <img src="../../../../resources/img/left.png" alt="" />
+      </div>
+      <div class="content title-box">
+        <p class="title mt25 title-bg">step1. Hello WORLD</p>
+        <div
+          class="flex align-center ml50 mb15"
+          style="margin-top: -30px; gap: 10px"
+        >
+          <h4>
+            각 인물들의 대화를 듣고 읽어봅시다. 아래의 플레이버튼을 눌러 영어
+            발음을 들어보세요!
+          </h4>
+          <div class="listen-btn">
+            <img
+              src="../../../../resources/img/btn10_s.png"
+              alt=""
+              @click="playAudio"
+            />
+            <audio
+              id="audio-player"
+              src="client/resources/audio/passage/passage_intoduce.mp3"
+              preload="auto"
+            ></audio>
+          </div>
+        </div>
+        <div class="flex justify-center">
+          <div class="readGroup">
+            <div>
+              <div class="textbox">
+                <article
+                  v-for="(line, index) in combinedLines"
+                  :key="index"
+                  :class="[
+                    'flex',
+                    'align-center',
+                    'mb10',
+                    { 'justify-end': index % 2 !== 0 },
+                  ]"
+                >
+                  <div v-if="index % 2 === 0" class="icon mr40">
+                    <img src="../../../../resources/img/img37_s.png" alt="" />
+                    <p class="name">{{ speakerA_name }}</p>
+                  </div>
+                  <p v-if="index % 2 === 0" class="read">{{ line }}</p>
+                  <div class="listen-btn ml10" v-if="index % 2 === 0">
+                    <img
+                      src="../../../../resources/img/new_img/icon/play_icon.png"
+                      alt=""
+                      @click="generateTts('male', line)"
+                    />
+                    <audio id="tts-audio-player" preload="auto"></audio>
+                  </div>
+
+                  <div class="listen-btn mr10" v-if="index % 2 !== 0">
+                    <img
+                      src="../../../../resources/img/new_img/icon/play_icon.png"
+                      alt=""
+                      @click="generateTts('femail', line)"
+                    />
+                    <audio id="tts-audio-player" preload="auto"></audio>
+                  </div>
+                  <p v-if="index % 2 !== 0" class="read mr40">{{ line }}</p>
+                  <div v-if="index % 2 !== 0" class="icon">
+                    <img src="../../../../resources/img/img37_s.png" alt="" />
+                    <p class="name">{{ speakerB_name }}</p>
+                  </div>
+                </article>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="next-btn" @click="goToNextPage">
+        <img src="../../../../resources/img/right.png" alt="" />
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
-import TextToImage from '../../../component/TextToImage.vue';
-import axios from 'axios';
+import TextToImage from "../../../component/TextToImage.vue";
+import axios from "axios";
 export default {
-    data() {
-        return {
-            text_data: null, // 받아온 지문 정보
-            speakerA_name: null,
-            speakerB_name: null,
-            speakerA: [],
-            speakerB: [],
+  data() {
+    return {
+      text_data: null, // 받아온 지문 정보
+      speakerA_name: null,
+      speakerB_name: null,
+      speakerA: [],
+      speakerB: [],
 
-            seq: this.$store.getters.seqNum,
-        };
+      seq: this.$store.getters.seqNum,
+    };
+  },
+  methods: {
+    complete() {
+      const { unit_id, book_id } = this.$route.query;
+      this.$router.push({
+        name: "Dashboard",
+        query: { value: this.seq, unit_id, book_id },
+      });
     },
-    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 });
-        },
-        goToNextPage() {
-            // alert('지문 학습 완료!');
-            this.complete();
-            this.goToPage('Chapter1_1');
-        },
-        // 대화 지문 API
-        async fetchText() {
-            axios({
-                url: '/text/selectOneText.json',
-                method: 'post',
-                headers: {
-                    'Content-Type': 'application/json; charset=UTF-8',
-                },
-                data: {
-                    textId: this.textId,
-                },
-            })
-                .then((response) => {
-                    this.text_data = response.data[0].text_cnt;
-                    this.splitConversation();
-                })
-                .catch((err) => {
-                    console.log('지문 에러 : ', err);
-                });
-        },
-        // 대화 지문 split
-        splitConversation() {
-            const lines = this.text_data.split('/');
-            const speakers = {};
-
-            lines.forEach((line) => {
-                const [speaker, message] = line.trim().split(':');
-
-                if (!speakers.speakerA_name && !speakers.speakerB_name) {
-                    // 첫 번째 발화자를 speakerA_name으로 설정
-                    speakers.speakerA_name = speaker.trim();
-                    this.speakerA.push(message.trim());
-                } else if (
-                    speakers.speakerA_name &&
-                    !speakers.speakerB_name &&
-                    speakers.speakerA_name !== speaker.trim()
-                ) {
-                    // 두 번째 발화자를 speakerB_name으로 설정
-                    speakers.speakerB_name = speaker.trim();
-                    this.speakerB.push(message.trim());
-                } else if (speaker.trim() === speakers.speakerA_name) {
-                    // speakerA_name에 내용 추가
-                    this.speakerA.push(message.trim());
-                } else if (speaker.trim() === speakers.speakerB_name) {
-                    // speakerB_name에 내용 추가
-                    this.speakerB.push(message.trim());
-                }
-            });
-
-            this.speakerA_name = speakers.speakerA_name;
-            this.speakerB_name = speakers.speakerB_name;
-        },
-
-        playAudio() {
-            const audio = document.getElementById('audio-player');
-            audio.play();
-            console.log('playing');
-        },
-
-        // 대화 지문 재생
-        generateTts(gender, line) {
-            console.log('line : ', line);
-            axios({
-                url: 'http://165.229.169.32:35716/generate_tts',
-                method: 'post',
-                headers: {
-                    'Content-Type': 'application/json; charset=UTF-8',
-                },
-                responseType: 'blob',
-                data: {
-                    gender: gender,
-                    input_text: line,
-                },
-            })
-                .then((response) => {
-                    console.log('tts 응답 : ', response);
-                    const audioBlob = new Blob([response.data], { type: 'audio/mpeg' });
-                    const audioUrl = URL.createObjectURL(audioBlob); // 오디오 url 생성
-                    const audioPlayer = document.getElementById('tts-audio-player');
-                    audioPlayer.src = audioUrl;
-                    audioPlayer.play();
-                })
-                .catch((err) => {
-                    console.log('tts 에러 : ', err);
-                });
-        },
+    goToPage(page) {
+      this.$router.push({ name: page });
     },
-    watch: {},
-    computed: {
-        textId() {
-            //console.log("지문 화면 아이디 : ", this.$store.getters.getTextId);
-            return this.$store.getters.getTextId;
+    goToNextPage() {
+      // alert('지문 학습 완료!');
+      this.complete();
+      this.goToPage("Chapter1_1");
+    },
+    // 대화 지문 API
+    async fetchText() {
+      axios({
+        url: "/text/selectOneText.json",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json; charset=UTF-8",
         },
-        combinedLines() {
-            const maxLength = Math.max(this.speakerA.length, this.speakerB.length);
-            const lines = [];
+        data: {
+          textId: this.textId,
+        },
+      })
+        .then((response) => {
+          this.text_data = response.data[0].text_cnt;
+          this.splitConversation();
+        })
+        .catch((err) => {
+          console.log("지문 에러 : ", err);
+        });
+    },
+    // 대화 지문 split
+    splitConversation() {
+      const lines = this.text_data.split("/");
+      const speakers = {};
 
-            for (let i = 0; i < maxLength; i++) {
-                if (i < this.speakerA.length) {
-                    lines.push(this.speakerA[i]);
-                }
-                if (i < this.speakerB.length) {
-                    lines.push(this.speakerB[i]);
-                }
-            }
-            return lines;
+      lines.forEach((line) => {
+        const [speaker, message] = line.trim().split(":");
+
+        if (!speakers.speakerA_name && !speakers.speakerB_name) {
+          // 첫 번째 발화자를 speakerA_name으로 설정
+          speakers.speakerA_name = speaker.trim();
+          this.speakerA.push(message.trim());
+        } else if (
+          speakers.speakerA_name &&
+          !speakers.speakerB_name &&
+          speakers.speakerA_name !== speaker.trim()
+        ) {
+          // 두 번째 발화자를 speakerB_name으로 설정
+          speakers.speakerB_name = speaker.trim();
+          this.speakerB.push(message.trim());
+        } else if (speaker.trim() === speakers.speakerA_name) {
+          // speakerA_name에 내용 추가
+          this.speakerA.push(message.trim());
+        } else if (speaker.trim() === speakers.speakerB_name) {
+          // speakerB_name에 내용 추가
+          this.speakerB.push(message.trim());
+        }
+      });
+
+      this.speakerA_name = speakers.speakerA_name;
+      this.speakerB_name = speakers.speakerB_name;
+    },
+
+    playAudio() {
+      const audio = document.getElementById("audio-player");
+      audio.play();
+      console.log("playing");
+    },
+
+    // 대화 지문 재생
+    generateTts(gender, line) {
+      console.log("line : ", line);
+      axios({
+        url: "http://165.229.169.32:35716/generate_tts",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json; charset=UTF-8",
         },
+        responseType: "blob",
+        data: {
+          gender: gender,
+          input_text: line,
+        },
+      })
+        .then((response) => {
+          console.log("tts 응답 : ", response);
+          const audioBlob = new Blob([response.data], { type: "audio/mpeg" });
+          const audioUrl = URL.createObjectURL(audioBlob); // 오디오 url 생성
+          const audioPlayer = document.getElementById("tts-audio-player");
+          audioPlayer.src = audioUrl;
+          audioPlayer.play();
+        })
+        .catch((err) => {
+          console.log("tts 에러 : ", err);
+        });
     },
-    components: {
-        TextToImage: TextToImage,
+  },
+  watch: {},
+  computed: {
+    textId() {
+      //console.log("지문 화면 아이디 : ", this.$store.getters.getTextId);
+      return this.$store.getters.getTextId;
     },
-    mounted() {
-        this.fetchText();
+    combinedLines() {
+      const maxLength = Math.max(this.speakerA.length, this.speakerB.length);
+      const lines = [];
+
+      for (let i = 0; i < maxLength; i++) {
+        if (i < this.speakerA.length) {
+          lines.push(this.speakerA[i]);
+        }
+        if (i < this.speakerB.length) {
+          lines.push(this.speakerB[i]);
+        }
+      }
+      return lines;
     },
+  },
+  components: {
+    TextToImage: TextToImage,
+  },
+  mounted() {
+    this.fetchText();
+  },
 };
 </script>
 
 <style>
 .completeBtn {
-    margin-right: 100px;
-    background-color: #ffba08;
-    padding: 10px 30px;
-    border-radius: 10px;
-    font-size: 28px;
-    font-family: 'ONEMobilePOPOTF';
+  margin-right: 100px;
+  background-color: #ffba08;
+  padding: 10px 30px;
+  border-radius: 10px;
+  font-size: 28px;
+  font-family: "ONEMobilePOPOTF";
 }
 </style>
client/views/pages/main/Chapter/Chapter2.vue
--- client/views/pages/main/Chapter/Chapter2.vue
+++ client/views/pages/main/Chapter/Chapter2.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
client/views/pages/main/Chapter/Chapter2_1.vue
--- client/views/pages/main/Chapter/Chapter2_1.vue
+++ client/views/pages/main/Chapter/Chapter2_1.vue
@@ -1,157 +1,173 @@
 <template>
   <div id="Chapter1_1" class="content-wrap">
-        <div style="margin: 30px 0px 50px">
-            <router-link to="/MyPlan.page">
-                <div class="logo mb25"><img src="../../../../resources/img/logo2.png" alt=""></div>
-            </router-link>
+    <div style="margin: 30px 0px 50px">
+      <router-link to="/MyPlan.page">
+        <div class="logo mb25">
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
-      <div class="title-box mb25 flex align-center mt40">
-          <span class="title mr40">1. Hello WORLD</span>
-          <span class="subtitle">my name is dd</span>
+      </router-link>
+    </div>
+    <div class="title-box mb25 flex align-center mt40">
+      <span class="title mr40">1. Hello WORLD</span>
+      <span class="subtitle">my name is dd</span>
+    </div>
+    <div class="flex justify-between align-center">
+      <div class="pre-btn" @click="goToPage('Chapter2_2')">
+        <img src="../../../../resources/img/left.png" alt="" />
       </div>
-      <div class="flex justify-between align-center">
-          <div class="pre-btn" @click="goToPage('Chapter2_2')">
-              <img src="../../../../resources/img/left.png" alt="" />
-          </div>
-          <div class="content title-box">
-              <p class="title mt25 title-bg">step2</p>
-              <div class="flex align-center mb30">
-                  <p class="subtitle2 mr20">오늘 배웠던 단어를 말하고 생성된 예문을 따라 읽어보세요</p>
-                  <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
+      <div class="content title-box">
+        <p class="title mt25 title-bg">step2</p>
+        <div class="flex align-center mb30">
+          <p class="subtitle2 mr20">
+            오늘 배웠던 단어를 말하고 생성된 예문을 따라 읽어보세요
+          </p>
+          <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
         </button> -->
-              </div>
-              <div>
-                  <img src="http://localhost:8081/client/build/dad67b1726cb2d2b215965b433149ca3.png" data-num="1" />
-                  <p> {{ word }} </p>
-                  <p> {{ mean }} </p>
+        </div>
+        <div>
+          <img
+            src="http://localhost:8081/client/build/dad67b1726cb2d2b215965b433149ca3.png"
+            data-num="1"
+          />
+          <p>{{ word }}</p>
+          <p>{{ mean }}</p>
+        </div>
+        <div class="flex justify-center">
+          <div class="readGroup">
+            <section>
+              <div class="imgGroup flex justify-center">
+                <!-- 녹음 버튼 -->
+                <div
+                  :class="['mic-btn', { notRecording: !isRecording }]"
+                  @click="toggleRecording"
+                >
+                  <img src="../../../../resources/img/btn11_s.png" alt="" />
                 </div>
-              <div class="flex justify-center">
-                  <div class="readGroup">
-                      <section>
-                          <div class="imgGroup flex justify-center">
-                              <!-- 녹음 버튼 -->
-                              <div :class="['mic-btn', { notRecording: !isRecording }]" @click="toggleRecording">
-                                  <img src="../../../../resources/img/btn11_s.png" alt="" />
-                              </div>
-                          </div>
-                          <article>
-                              <p class="speakText mb25">
-                                  <span v-if="transcription === null"
-                                      >위의 버튼을 누른 후 오늘 배운 단어를 말해보세요!</span
-                                  >
-                                  <span v-else-if="!transcription || transcription.trim() === ''"
-                                      >다시 말해보세요!</span
-                                  >
-                                  <span v-else>{{ transcription }}</span>
-                              </p>
-                              <p class="read-ai">
-                                  <img style="margin-top: -5px" src="../../../../resources/img/img43_s.png" alt="" />
-                              </p>
-                          </article>
-                      </section>
-                  </div>
               </div>
+              <article>
+                <p class="speakText mb25">
+                  <span v-if="transcription === null"
+                    >위의 버튼을 누른 후 오늘 배운 단어를 말해보세요!</span
+                  >
+                  <span
+                    v-else-if="!transcription || transcription.trim() === ''"
+                    >다시 말해보세요!</span
+                  >
+                  <span v-else>{{ transcription }}</span>
+                </p>
+                <p class="read-ai">
+                  <img
+                    style="margin-top: -5px"
+                    src="../../../../resources/img/img43_s.png"
+                    alt=""
+                  />
+                </p>
+              </article>
+            </section>
           </div>
-          <div class="next-btn" @click="goToPage('Chapter2_4')">
-              <img src="../../../../resources/img/right.png" alt="" />
-          </div>
+        </div>
       </div>
+      <div class="next-btn" @click="goToPage('Chapter2_4')">
+        <img src="../../../../resources/img/right.png" alt="" />
+      </div>
+    </div>
   </div>
 </template>
 
 <script>
-import axios from 'axios';
-import SvgIcon from '@jamescoyle/vue-icon';
-import { mdiStop } from '@mdi/js';
+import axios from "axios";
+import SvgIcon from "@jamescoyle/vue-icon";
+import { mdiStop } from "@mdi/js";
 export default {
   data() {
-      return {
-          isRecording: false, // 녹음 중 여부
-          mediaRecorder: null,
-          audioChunks: [], // 녹음된 오디오 데이터
-          audioBlob: null, // 오디오 Blob 객체
-          transcription: null, // 서버에서 받아온 텍스트 결과
-          stream: null, // MediaStream 객체
+    return {
+      isRecording: false, // 녹음 중 여부
+      mediaRecorder: null,
+      audioChunks: [], // 녹음된 오디오 데이터
+      audioBlob: null, // 오디오 Blob 객체
+      transcription: null, // 서버에서 받아온 텍스트 결과
+      stream: null, // MediaStream 객체
 
-          path: mdiStop,
+      path: mdiStop,
 
-          /* audioURL : null // 오디오 URL 객체 */
+      /* audioURL : null // 오디오 URL 객체 */
 
-          word : "apple",
-          mean : "사과",
-          imageSrc : "http://localhost:8081/client/build/dad67b1726cb2d2b215965b433149ca3.png"
-      };
+      word: "apple",
+      mean: "사과",
+      imageSrc:
+        "http://localhost:8081/client/build/dad67b1726cb2d2b215965b433149ca3.png",
+    };
   },
   methods: {
-      goToPage(page) {
-          this.$router.push({ name: page });
-      },
-      // 녹음 시작/중지 토글
-      async toggleRecording() {
-          if (this.isRecording) {
-              console.log('녹음 그만!');
-              this.stopRecording(); // 녹음 중이면 중지
-          } else {
-              console.log('녹음 시작!');
-              await this.startRecording(); // 녹음 중이 아니면 녹음 시작
-          }
-      },
+    goToPage(page) {
+      this.$router.push({ name: page });
+    },
+    // 녹음 시작/중지 토글
+    async toggleRecording() {
+      if (this.isRecording) {
+        console.log("녹음 그만!");
+        this.stopRecording(); // 녹음 중이면 중지
+      } else {
+        console.log("녹음 시작!");
+        await this.startRecording(); // 녹음 중이 아니면 녹음 시작
+      }
+    },
 
-      // 녹음 시작
-      async startRecording() {
-          this.audioChunks = []; // 오디오 초기화
-          this.stream = await navigator.mediaDevices.getUserMedia({ audio: true });
-          this.mediaRecorder = new MediaRecorder(this.stream);
-          this.mediaRecorder.ondataavailable = (event) => {
-              this.audioChunks.push(event.data); // 녹음 데이터 저장
-          };
-          this.mediaRecorder.onstop = () => {
-              this.audioBlob = new Blob(this.audioChunks, { type: 'audio/wav' });
+    // 녹음 시작
+    async startRecording() {
+      this.audioChunks = []; // 오디오 초기화
+      this.stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+      this.mediaRecorder = new MediaRecorder(this.stream);
+      this.mediaRecorder.ondataavailable = (event) => {
+        this.audioChunks.push(event.data); // 녹음 데이터 저장
+      };
+      this.mediaRecorder.onstop = () => {
+        this.audioBlob = new Blob(this.audioChunks, { type: "audio/wav" });
 
-              /******************************/
-              // this.audioURL = URL.createObjectURL(this.audioBlob); // 오디오 URL 생성
-              // console.log('Audio URL:', this.audioURL);
-              /******************************/
+        /******************************/
+        // this.audioURL = URL.createObjectURL(this.audioBlob); // 오디오 URL 생성
+        // console.log('Audio URL:', this.audioURL);
+        /******************************/
 
-              console.log('Recorded Audio Blob:', this.audioBlob); // 콘솔에 Blob 확인
-              this.sendAudioToServer(); // 서버로 오디오 전송
-          };
-          this.mediaRecorder.start(); // 녹음 시작
-          this.isRecording = true; // 녹음 상태 변경
-      },
+        console.log("Recorded Audio Blob:", this.audioBlob); // 콘솔에 Blob 확인
+        this.sendAudioToServer(); // 서버로 오디오 전송
+      };
+      this.mediaRecorder.start(); // 녹음 시작
+      this.isRecording = true; // 녹음 상태 변경
+    },
 
-      // 녹음 중지
-      stopRecording() {
-          this.mediaRecorder.stop(); // 녹음 중단
+    // 녹음 중지
+    stopRecording() {
+      this.mediaRecorder.stop(); // 녹음 중단
 
-          if (this.stream) {
-              this.stream.getTracks().forEach((track) => track.stop()); // 스트림의 모든 트랙 중지
-          }
+      if (this.stream) {
+        this.stream.getTracks().forEach((track) => track.stop()); // 스트림의 모든 트랙 중지
+      }
 
-          this.isRecording = false; // 녹음 상태 변경
-      },
+      this.isRecording = false; // 녹음 상태 변경
+    },
 
-      // 오디오 전송
-      async sendAudioToServer() {
-          const formData = new FormData();
-          formData.append('file', this.audioBlob, 'recording.wav');
-          try {
-              const resposne = await axios.post('/api/speechToText.json', formData, {
-                  headers: {
-                      'Content-Type': 'multipart/form-data',
-                  },
-              });
-              this.transcription = resposne.data;
-              console.log(`받은 데이터 : ${this.transcription}`);
-          } catch (error) {
-              console.log('파일 전송 실패 : ', error);
-          }
-      },
+    // 오디오 전송
+    async sendAudioToServer() {
+      const formData = new FormData();
+      formData.append("file", this.audioBlob, "recording.wav");
+      try {
+        const resposne = await axios.post("/api/speechToText.json", formData, {
+          headers: {
+            "Content-Type": "multipart/form-data",
+          },
+        });
+        this.transcription = resposne.data;
+        console.log(`받은 데이터 : ${this.transcription}`);
+      } catch (error) {
+        console.log("파일 전송 실패 : ", error);
+      }
+    },
   },
   watch: {},
   computed: {},
   components: {
-      SvgIcon,
+    SvgIcon,
   },
   mounted() {},
 };
@@ -171,4 +187,4 @@
 .speakText span {
   font-size: 28px;
 }
-</style>
(파일 끝에 줄바꿈 문자 없음)
+</style>
client/views/pages/main/Chapter/Chapter2_10.vue
--- client/views/pages/main/Chapter/Chapter2_10.vue
+++ client/views/pages/main/Chapter/Chapter2_10.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
client/views/pages/main/Chapter/Chapter2_11.vue
--- client/views/pages/main/Chapter/Chapter2_11.vue
+++ client/views/pages/main/Chapter/Chapter2_11.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
client/views/pages/main/Chapter/Chapter2_12.vue
--- client/views/pages/main/Chapter/Chapter2_12.vue
+++ client/views/pages/main/Chapter/Chapter2_12.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt=""></div>
+        <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">
@@ -10,57 +12,85 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="goToPage('Chapter2_8')"><img src="../../../../resources/img/left.png" alt=""></div>
+      <div class="pre-btn" @click="goToPage('Chapter2_8')">
+        <img src="../../../../resources/img/left.png" alt="" />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step2</p>
-          <div class="flex align-center mb30">
+        <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="pickGroup flex align-center justify-center mt50" style="gap: 100px;">
+          <div
+            class="pickGroup flex align-center justify-center mt50"
+            style="gap: 100px"
+          >
             <div>
               <div class="mb20">
-                <button><img src="../../../../resources/img/img100_45s.png" alt="">
+                <button>
+                  <img src="../../../../resources/img/img100_45s.png" alt="" />
                   <p>1</p>
                 </button>
-                <button><img src="../../../../resources/img/img101_45s.png" alt="">
+                <button>
+                  <img src="../../../../resources/img/img101_45s.png" alt="" />
                   <p>1</p>
                 </button>
-                <button><img src="../../../../resources/img/img102_45s.png" alt="">
+                <button>
+                  <img src="../../../../resources/img/img102_45s.png" alt="" />
                   <p>1</p>
                 </button>
-                <button><img src="../../../../resources/img/img103_45s.png" alt="">
+                <button>
+                  <img src="../../../../resources/img/img103_45s.png" alt="" />
                   <p>1</p>
                 </button>
               </div>
               <div>
-                <button><img src="../../../../resources/img/img100_45s.png" alt="">
+                <button>
+                  <img src="../../../../resources/img/img100_45s.png" alt="" />
                   <p>1</p>
                 </button>
-                <button><img src="../../../../resources/img/img101_45s.png" alt="">
+                <button>
+                  <img src="../../../../resources/img/img101_45s.png" alt="" />
                   <p>1</p>
                 </button>
-                <button><img src="../../../../resources/img/img102_45s.png" alt="">
+                <button>
+                  <img src="../../../../resources/img/img102_45s.png" alt="" />
                   <p>1</p>
                 </button>
-                <button><img src="../../../../resources/img/img103_45s.png" alt="">
+                <button>
+                  <img src="../../../../resources/img/img103_45s.png" alt="" />
                   <p>1</p>
                 </button>
               </div>
             </div>
-            <div class="dropGroup" style="gap: 20px;">
-              <img src="../../../../resources/img/img160_43s.png" alt="">
+            <div class="dropGroup" style="gap: 20px">
+              <img src="../../../../resources/img/img160_43s.png" alt="" />
               <div class="dropimg">
-                <img style="top: 21px;" src="../../../../resources/img/img161_44s.png" alt="">
-                <img style="top: 119px;" src="../../../../resources/img/img162_43s.png" alt="">
-                <img style="top: 215px;" src="../../../../resources/img/img163_43s.png" alt="">
-                <img style="bottom: 36px;" src="../../../../resources/img/img164_43s.png" alt="">
+                <img
+                  style="top: 21px"
+                  src="../../../../resources/img/img161_44s.png"
+                  alt=""
+                />
+                <img
+                  style="top: 119px"
+                  src="../../../../resources/img/img162_43s.png"
+                  alt=""
+                />
+                <img
+                  style="top: 215px"
+                  src="../../../../resources/img/img163_43s.png"
+                  alt=""
+                />
+                <img
+                  style="bottom: 36px"
+                  src="../../../../resources/img/img164_43s.png"
+                  alt=""
+                />
               </div>
             </div>
-            
           </div>
 
           <div class="time-bg">
@@ -73,7 +103,9 @@
           </div>
         </div>
       </div>
-      <div class="next-btn" @click="goToPage('Chapter2_7')"><img src="../../../../resources/img/right.png" alt=""></div>
+      <div class="next-btn" @click="goToPage('Chapter2_7')">
+        <img src="../../../../resources/img/right.png" alt="" />
+      </div>
     </div>
   </div>
 </template>
@@ -83,7 +115,7 @@
   data() {
     return {
       timer: "00",
-    }
+    };
   },
   methods: {
     goToPage(page) {
@@ -101,24 +133,22 @@
           clearInterval(this.intervalId);
         }
       }, 1000);
-    }
+    },
   },
-  watch: {
-
-  },
-  computed: {
-
-  },
-  components: {
-  },
-  mounted() {
-
-  }
-}
+  watch: {},
+  computed: {},
+  components: {},
+  mounted() {},
+};
 </script>
 <style scoped>
-.dropGroup{position: relative;}
-.dropimg img{position: absolute; left: 27px;}
+.dropGroup {
+  position: relative;
+}
+.dropimg img {
+  position: absolute;
+  left: 27px;
+}
 .pickGroup button {
   position: relative;
   margin: 10px 40px;
@@ -131,4 +161,4 @@
   left: 50%;
   transform: translate(-50%, -50%);
 }
-</style>
(파일 끝에 줄바꿈 문자 없음)
+</style>
client/views/pages/main/Chapter/Chapter2_13.vue
--- client/views/pages/main/Chapter/Chapter2_13.vue
+++ client/views/pages/main/Chapter/Chapter2_13.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
client/views/pages/main/Chapter/Chapter2_2.vue
--- client/views/pages/main/Chapter/Chapter2_2.vue
+++ client/views/pages/main/Chapter/Chapter2_2.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
@@ -32,7 +32,9 @@
           class="flex align-center mb30"
           style="justify-content: space-between; margin-right: 9em"
         >
-          <p class="subtitle2 mr20">3초마다 뒤집어지는 카드의 단어를 외어보세요!</p>
+          <p class="subtitle2 mr20">
+            3초마다 뒤집어지는 카드의 단어를 외어보세요!
+          </p>
           <div class="time-bg">
             <div>
               <div class="time">
client/views/pages/main/Chapter/Chapter2_3.vue
--- client/views/pages/main/Chapter/Chapter2_3.vue
+++ client/views/pages/main/Chapter/Chapter2_3.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
client/views/pages/main/Chapter/Chapter2_4.vue
--- client/views/pages/main/Chapter/Chapter2_4.vue
+++ client/views/pages/main/Chapter/Chapter2_4.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
client/views/pages/main/Chapter/Chapter2_5.vue
--- client/views/pages/main/Chapter/Chapter2_5.vue
+++ client/views/pages/main/Chapter/Chapter2_5.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
client/views/pages/main/Chapter/Chapter2_6.vue
--- client/views/pages/main/Chapter/Chapter2_6.vue
+++ client/views/pages/main/Chapter/Chapter2_6.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
@@ -176,12 +176,10 @@
         this.showButton(dropNumber); // 버튼을 보여주고
         this.hideDragButton(dropNumber); // 드래그한 퍼즐은 숨김
         this.correctNum++;
-
       } else {
         // 오답일 경우 알림 표시
         alert("오답입니다! 다시 시도해보세요.");
       }
-      
 
       if (this.correctNum === 3) {
         setTimeout(() => {
client/views/pages/main/Chapter/Chapter2_7.vue
--- client/views/pages/main/Chapter/Chapter2_7.vue
+++ client/views/pages/main/Chapter/Chapter2_7.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
client/views/pages/main/Chapter/Chapter2_8.vue
--- client/views/pages/main/Chapter/Chapter2_8.vue
+++ client/views/pages/main/Chapter/Chapter2_8.vue
@@ -3,11 +3,14 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <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
+      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>
@@ -15,7 +18,11 @@
       <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()">
+      <div
+        class="pre-btn"
+        :style="{ visibility: hiddenState ? 'hidden' : 'visible' }"
+        @click="previousProblem()"
+      >
         <img src="../../../../resources/img/left.png" alt="" />
       </div>
       <div class="content title-box">
@@ -36,15 +43,27 @@
           <div class="dropGroup flex align-center justify-center mt30">
             <div style="position: relative">
               <img src="../../../../resources/img/img28_s.png" alt="" />
-              <button class="dropzone" :data-answer="answerArr[0]" style="left: 30px; top: 167px">
+              <button
+                class="dropzone"
+                :data-answer="answerArr[0]"
+                style="left: 30px; top: 167px"
+              >
                 <img src="../../../../resources/img/img29_s_01.png" alt="" />
                 <p style="font-size: 35px">?</p>
               </button>
-              <button class="dropzone" :data-answer="answerArr[1]" style="right: 409px; top: 133px">
+              <button
+                class="dropzone"
+                :data-answer="answerArr[1]"
+                style="right: 409px; top: 133px"
+              >
                 <img src="../../../../resources/img/img30_s_01.png" alt="" />
                 <p style="font-size: 35px">?</p>
               </button>
-              <button class="dropzone" :data-answer="answerArr[2]" style="right: 46px; top: 128px">
+              <button
+                class="dropzone"
+                :data-answer="answerArr[2]"
+                style="right: 46px; top: 128px"
+              >
                 <img src="../../../../resources/img/img31_s_01.png" alt="" />
                 <p style="font-size: 35px">?</p>
               </button>
@@ -52,19 +71,31 @@
           </div>
           <div class="dragGroup flex justify-center" style="gap: 20px">
             <article style="right: 0; top: 36%">
-              <button class="draggable" :data-text="answerArr[0]" draggable="true">
+              <button
+                class="draggable"
+                :data-text="answerArr[0]"
+                draggable="true"
+              >
                 <img src="../../../../resources/img/img29_s.png" alt="" />
                 <p style="font-size: 35px">{{ answerArr[0] }}</p>
               </button>
             </article>
             <article style="left: 0; top: 36%">
-              <button class="draggable" :data-text="answerArr[1]" draggable="true">
+              <button
+                class="draggable"
+                :data-text="answerArr[1]"
+                draggable="true"
+              >
                 <img src="../../../../resources/img/img30_s.png" alt="" />
                 <p style="font-size: 35px">{{ answerArr[1] }}</p>
               </button>
             </article>
             <article style="left: 50%; top: 10%">
-              <button class="draggable" :data-text="answerArr[2]" draggable="true">
+              <button
+                class="draggable"
+                :data-text="answerArr[2]"
+                draggable="true"
+              >
                 <img src="../../../../resources/img/img31_s.png" alt="" />
                 <p style="font-size: 35px">{{ answerArr[2] }}</p>
               </button>
@@ -111,7 +142,7 @@
       window.location.reload();
     },
     handleDragStart(event) {
-      this.draggedElement = event.target.closest(".draggable");// 드래그한 요소 저장
+      this.draggedElement = event.target.closest(".draggable"); // 드래그한 요소 저장
       event.dataTransfer.setData("text/plain", event.target.dataset.text);
       event.target.style.cursor = "grabbing"; // 드래그 중 커서 변경
     },
client/views/pages/main/Chapter/Chapter3.vue
--- client/views/pages/main/Chapter/Chapter3.vue
+++ client/views/pages/main/Chapter/Chapter3.vue
@@ -3,11 +3,14 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <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
+      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>
@@ -16,16 +19,28 @@
     </div>
     <div class="flex justify-between align-center">
       <div class="pre-btn" @click="previousProblem()">
-        <img src="../../../../resources/img/left.png" alt="" :class="{ active: currentIndex === 0 }" />
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         ,,,
         <p class="title mt25 title-bg">step3.</p>
-        <div class="flex align-center mb30" style="justify-content: space-between">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+        <div
+          class="flex align-center mb30"
+          style="justify-content: space-between"
+        >
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
         </div>
 
-        <div class="flex align-center justify-center" style="margin-top: 9rem; gap: 113px">
+        <div
+          class="flex align-center justify-center"
+          style="margin-top: 9rem; gap: 113px"
+        >
           <div class="time-hint">
             <button class="hint-btn">HINT</button>
             <div class="time-bg mt20">
@@ -43,22 +58,34 @@
             </div>
           </div>
           <div class="pickGroup">
-            <article class="flex justify-center mb50" style="gap: 60px" v-for="(item, index) in problemDetail"
-              :key="index">
+            <article
+              class="flex justify-center mb50"
+              style="gap: 60px"
+              v-for="(item, index) in problemDetail"
+              :key="index"
+            >
               <div class="flex" @click="handleClick(item.prblmDtlExpln)">
                 <button>
                   <img src="../../../../resources/img/img136_71s.png" alt="" />
-                  <p :class="{ active: selectedButton === item.prblmDtlExpln }">{{ index + 1 }}</p>
+                  <p :class="{ active: selectedButton === item.prblmDtlExpln }">
+                    {{ index + 1 }}
+                  </p>
                 </button>
                 <p>{{ item.prblmDtlExpln }}</p>
               </div>
             </article>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
       <div class="next-btn" @click="nextProblem()">
         <img src="../../../../resources/img/right.png" alt="" />
@@ -68,7 +95,6 @@
 </template>
 
 <script>
-
 import axios from "axios";
 export default {
   data() {
@@ -86,7 +112,10 @@
   methods: {
     complete() {
       const { unit_id, book_id } = this.$route.query;
-      this.$router.push({ name: 'Dashboard', query: { value: 8, unit_id, book_id } });
+      this.$router.push({
+        name: "Dashboard",
+        query: { value: 8, unit_id, book_id },
+      });
     },
     goToPage(page) {
       this.$router.push({ name: page });
@@ -105,7 +134,7 @@
       }, 1000);
     },
     handleClick(answer) {
-      console.log(answer)
+      console.log(answer);
       this.selectedButton = answer;
     },
     // 제출하기 버튼
@@ -113,18 +142,18 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
 
       axios({
         url: "problemLog/insertProblemLog.json",
@@ -133,13 +162,13 @@
           "Content-Type": "application/json; charset=UTF-8",
         },
         data: this.$store.getters.getAllAnswers,
-      }).then(function (res) {
-        console.log("problem - response : ", res.data);
       })
+        .then(function (res) {
+          console.log("problem - response : ", res.data);
+        })
         .catch(function (error) {
           console.log("problem - error : ", error);
         });
-
     },
     getProblem() {
       const vm = this;
@@ -167,27 +196,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -264,18 +296,18 @@
     },
     getStdId() {
       return this.$store.getters.getStdId;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning 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`
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
@@ -328,7 +360,7 @@
   width: -webkit-fill-available;
 }
 
-.pickGroup article>div>p {
+.pickGroup article > div > p {
   font-size: 64px;
 }
 
client/views/pages/main/Chapter/Chapter3_1.vue
--- client/views/pages/main/Chapter/Chapter3_1.vue
+++ client/views/pages/main/Chapter/Chapter3_1.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,13 +12,22 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" /></div>
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
-          <button><img src="../../../../resources/img/btn10_s.png" alt="" /></button>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
+          <button>
+            <img src="../../../../resources/img/btn10_s.png" alt="" />
+          </button>
         </div>
 
         <div class="flex align-center justify-center" style="gap: 113px">
@@ -34,33 +45,53 @@
           <div class="pickGroup">
             <div class="flex" style="gap: 250px">
               <article class="text-ct" @click="handleClick('A')">
-                <div class="mb30"><img src="../../../../resources/img/img107_50s.png" alt="" /></div>
+                <div class="mb30">
+                  <img src="../../../../resources/img/img107_50s.png" alt="" />
+                </div>
                 <button class="popTxt">
-                  <img :src="selectedButton === 'A' ? selectedbuttonImg : buttonImg" alt="" />
+                  <img
+                    :src="
+                      selectedButton === 'A' ? selectedbuttonImg : buttonImg
+                    "
+                    alt=""
+                  />
                 </button>
               </article>
               <article class="text-ct" @click="handleClick('B')">
-                <div class="mb30"><img src="../../../../resources/img/img108_50s.png" alt="" /></div>
+                <div class="mb30">
+                  <img src="../../../../resources/img/img108_50s.png" alt="" />
+                </div>
                 <button class="popTxt">
-                  <img :src="selectedButton === 'B' ? selectedbuttonImg : buttonImg" alt="" />
+                  <img
+                    :src="
+                      selectedButton === 'B' ? selectedbuttonImg : buttonImg
+                    "
+                    alt=""
+                  />
                 </button>
               </article>
             </div>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <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() {
@@ -97,29 +128,26 @@
     },
     // 제출하기 버튼
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -131,7 +159,7 @@
         })
           .then((res) => {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -140,7 +168,6 @@
         console.log("Submission canceled by the user.");
       }
     },
-
 
     getProblem() {
       const vm = this;
@@ -168,27 +195,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -259,12 +289,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -272,7 +302,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_10.vue
--- client/views/pages/main/Chapter/Chapter3_10.vue
+++ client/views/pages/main/Chapter/Chapter3_10.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,15 +12,26 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" /></div>
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <button @click="playAudio">
             <img src="../../../../resources/img/btn10_s.png" alt="" />
-            <audio id="audio-player" src="client/resources/audio/bank.wav" preload="auto"></audio>
+            <audio
+              id="audio-player"
+              src="client/resources/audio/bank.wav"
+              preload="auto"
+            ></audio>
           </button>
         </div>
 
@@ -36,19 +49,32 @@
           </div>
           <div class="imgGroup mt20">
             <img src="../../../../resources/img/img116_59s.png" alt="" />
-            <p class="title1 mt10" style="width: auto"><strong>진수가 거절한 제안</strong>은 무엇인지 우리말로 쓰세요.</p>
+            <p class="title1 mt10" style="width: auto">
+              <strong>진수가 거절한 제안</strong>은 무엇인지 우리말로 쓰세요.
+            </p>
             <div class="mt20">
-              <input class="yellow-bd" v-model="answer" type="text" placeholder="답을 입력하세요." />
+              <input
+                class="yellow-bd"
+                v-model="answer"
+                type="text"
+                placeholder="답을 입력하세요."
+              />
             </div>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
-
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <div class="next-btn" @click="nextProblem()">
+        <img src="../../../../resources/img/right.png" alt="" />
       </div>
     </div>
   </div>
@@ -91,29 +117,26 @@
       console.log("playing");
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -125,7 +148,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -160,27 +183,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -251,12 +277,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -264,7 +290,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_11.vue
--- client/views/pages/main/Chapter/Chapter3_11.vue
+++ client/views/pages/main/Chapter/Chapter3_11.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,13 +12,19 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" />
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
                </button> -->
         </div>
@@ -43,12 +51,19 @@
             </div>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <div class="next-btn" @click="nextProblem()">
+        <img src="../../../../resources/img/right.png" alt="" />
       </div>
     </div>
   </div>
@@ -87,29 +102,26 @@
       }, 1000);
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -121,7 +133,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -156,27 +168,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -247,12 +262,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -260,7 +275,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_12.vue
--- client/views/pages/main/Chapter/Chapter3_12.vue
+++ client/views/pages/main/Chapter/Chapter3_12.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,13 +12,19 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" />
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
                </button> -->
         </div>
@@ -36,17 +44,33 @@
           <div class="dragGroup mt40">
             <div class="flex justify-center" style="gap: 20px">
               <div class="dropContainer" id="sourceContainer">
-                <button v-for="(word, index) in question" :key="index" draggable="true"
-                  @dragstart="onDragStart($event, word, index)">
+                <button
+                  v-for="(word, index) in question"
+                  :key="index"
+                  draggable="true"
+                  @dragstart="onDragStart($event, word, index)"
+                >
                   <p>{{ word }}</p>
                 </button>
               </div>
             </div>
           </div>
-          <div class="dropContainer flex align-center justify-center mt30" id="targetContainer">
-            <div class="dropSlot" v-for="(slot, index) in questionLength" :key="index" @dragover.prevent
-              @drop="onDrop($event, index)">
-              <div class="dropSlot-inner" draggable="true" @dragstart="onDragStart($event, userAnswer[index], index)">
+          <div
+            class="dropContainer flex align-center justify-center mt30"
+            id="targetContainer"
+          >
+            <div
+              class="dropSlot"
+              v-for="(slot, index) in questionLength"
+              :key="index"
+              @dragover.prevent
+              @drop="onDrop($event, index)"
+            >
+              <div
+                class="dropSlot-inner"
+                draggable="true"
+                @dragstart="onDragStart($event, userAnswer[index], index)"
+              >
                 <div class="dropSlot-inner">
                   <div v-if="userAnswer[index]" class="dropped-char">
                     {{ userAnswer[index] }}
@@ -56,12 +80,19 @@
             </div>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <div class="next-btn" @click="nextProblem()">
+        <img src="../../../../resources/img/right.png" alt="" />
       </div>
     </div>
   </div>
@@ -122,29 +153,26 @@
       }
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -156,7 +184,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -191,27 +219,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -282,12 +313,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -295,7 +326,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
     this.initializeAnswer();
   },
 };
client/views/pages/main/Chapter/Chapter3_13.vue
--- client/views/pages/main/Chapter/Chapter3_13.vue
+++ client/views/pages/main/Chapter/Chapter3_13.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,13 +12,19 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" />
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
                </button> -->
         </div>
@@ -36,47 +44,78 @@
           <div class="flex justify-center">
             <div class="flex justify-between align-center" style="width: 50%">
               <!-- SVG Container for Drawing Lines -->
-              <svg class="line-container" xmlns="http://www.w3.org/2000/svg"
-                :style="{ width: svgWidth, height: svgHeight }">
-                <line v-for="(pair, index) in pairs" :key="'line-' + index" :x1="pair.leftPos.x" :y1="pair.leftPos.y"
-                  :x2="pair.rightPos.x" :y2="pair.rightPos.y" stroke="blue" stroke-width="2" />
+              <svg
+                class="line-container"
+                xmlns="http://www.w3.org/2000/svg"
+                :style="{ width: svgWidth, height: svgHeight }"
+              >
+                <line
+                  v-for="(pair, index) in pairs"
+                  :key="'line-' + index"
+                  :x1="pair.leftPos.x"
+                  :y1="pair.leftPos.y"
+                  :x2="pair.rightPos.x"
+                  :y2="pair.rightPos.y"
+                  stroke="blue"
+                  stroke-width="2"
+                />
               </svg>
 
               <div class="pickGroup left">
                 <div>
-                  <article class="flex align-center justify-between mb20" style="gap: 60px"
-                    v-for="(image, index) in images" :key="'left-' + index">
+                  <article
+                    class="flex align-center justify-between mb20"
+                    style="gap: 60px"
+                    v-for="(image, index) in images"
+                    :key="'left-' + index"
+                  >
                     <img :src="image.src" :alt="image.alt" />
                     <div>
-                      <button class="blue-c" @click="selectLeft(index, $event)"></button>
+                      <button
+                        class="blue-c"
+                        @click="selectLeft(index, $event)"
+                      ></button>
                     </div>
                   </article>
                 </div>
               </div>
 
               <div class="pickGroup right">
-                <article v-for="(word, index) in problemDetail" :key="index"
-                  class="flex align-center justify-start mb20" style="gap: 30px">
-                  <button class="blue-c" @click="selectRight(index, $event)"></button>
+                <article
+                  v-for="(word, index) in problemDetail"
+                  :key="index"
+                  class="flex align-center justify-start mb20"
+                  style="gap: 30px"
+                >
+                  <button
+                    class="blue-c"
+                    @click="selectRight(index, $event)"
+                  ></button>
                   <p class="word">{{ word.prblmDtlExpln }}</p>
                 </article>
               </div>
             </div>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <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() {
@@ -152,29 +191,26 @@
       };
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -186,7 +222,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -228,27 +264,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -319,12 +358,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -332,7 +371,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
     this.updateSVGSize();
     window.addEventListener("resize", this.updateSVGSize);
   },
client/views/pages/main/Chapter/Chapter3_14.vue
--- client/views/pages/main/Chapter/Chapter3_14.vue
+++ client/views/pages/main/Chapter/Chapter3_14.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,13 +12,19 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" />
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
                </button> -->
         </div>
@@ -33,21 +41,39 @@
               </div>
             </div>
           </div>
-          <div class="imgGroup"><img src="../../../../resources/img/img124_63s.png" alt="" /></div>
+          <div class="imgGroup">
+            <img src="../../../../resources/img/img124_63s.png" alt="" />
+          </div>
 
           <div class="dropGroup flex align-center justify-center mt30">
             <div class="mt50">
-              <input class="yellow-bd" v-model="answer" type="text" placeholder="답을 입력하세요." style="width: 50rem" />
+              <input
+                class="yellow-bd"
+                v-model="answer"
+                type="text"
+                placeholder="답을 입력하세요."
+                style="width: 50rem"
+              />
             </div>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem(answer)"><img src="../../../../resources/img/right.png" alt=""
-          :class="{ active: currentIndex === learningIdsLength - 1 }" />
+      <div class="next-btn" @click="nextProblem(answer)">
+        <img
+          src="../../../../resources/img/right.png"
+          alt=""
+          :class="{ active: currentIndex === learningIdsLength - 1 }"
+        />
       </div>
     </div>
   </div>
@@ -85,29 +111,26 @@
       }, 1000);
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -119,7 +142,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -155,27 +178,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: answer
-      }
+        prblmAns: answer,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: answer,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -249,12 +275,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -262,7 +288,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_15.vue
--- client/views/pages/main/Chapter/Chapter3_15.vue
+++ client/views/pages/main/Chapter/Chapter3_15.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,14 +12,22 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" />
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
-          <button><img src="../../../../resources/img/btn10_s.png" alt="" /></button>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
+          <button>
+            <img src="../../../../resources/img/btn10_s.png" alt="" />
+          </button>
         </div>
 
         <div class="text-ct">
@@ -32,19 +42,29 @@
               </div>
             </div>
           </div>
-          <div class="imgGroup"><img src="../../../../resources/img/img125_64s.png" alt="" /></div>
+          <div class="imgGroup">
+            <img src="../../../../resources/img/img125_64s.png" alt="" />
+          </div>
 
           <div class="dropGroup flex align-center justify-center mt70">
             <img src="../../../../resources/img/btn18_64s_normal.png" alt="" />
           </div>
         </div>
 
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" /></div>
+      <div class="next-btn" @click="nextProblem()">
+        <img src="../../../../resources/img/right.png" alt="" />
+      </div>
     </div>
   </div>
 </template>
@@ -80,29 +100,26 @@
     },
 
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -114,7 +131,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -149,27 +166,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -240,12 +260,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -253,7 +273,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_16.vue
--- client/views/pages/main/Chapter/Chapter3_16.vue
+++ client/views/pages/main/Chapter/Chapter3_16.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt=""></div>
+        <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">
@@ -10,7 +12,9 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="goToPage('Chapter4')"><img src="../../../../resources/img/left.png" alt=""></div>
+      <div class="pre-btn" @click="goToPage('Chapter4')">
+        <img src="../../../../resources/img/left.png" alt="" />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">중간 평가 설문 조사</p>
         <div class="flex align-center mb30">
@@ -19,13 +23,13 @@
                </button> -->
         </div>
 
-        <div class="text-ct ">
+        <div class="text-ct">
           <div class="table-wrap myplan">
             <table>
               <colgroup>
-                <col style="width: 5%;">
-                <col style="width: 70%;">
-                <col style="width: 25%;">
+                <col style="width: 5%" />
+                <col style="width: 70%" />
+                <col style="width: 25%" />
               </colgroup>
               <tr>
                 <td>
@@ -35,22 +39,46 @@
                   <p class="title1">2교시</p>
                 </td>
                 <td>
-                  <div class="flex justify-center" style="gap: 60px;">
+                  <div class="flex justify-center" style="gap: 60px">
                     <article>
                       <div class="flex align-center">
                         <p class="title1 mr20">네</p>
-                        <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)">
-                          <img :src="item.imgSrc1">
-                          <img :src="item.imgSrc2" :style="{ display: item.isSecondImageVisible ? 'block' : 'none' }">
+                        <button
+                          class="popTxt"
+                          v-for="(item, index) in items"
+                          :key="index"
+                          @click="toggleImage(index)"
+                        >
+                          <img :src="item.imgSrc1" />
+                          <img
+                            :src="item.imgSrc2"
+                            :style="{
+                              display: item.isSecondImageVisible
+                                ? 'block'
+                                : 'none',
+                            }"
+                          />
                         </button>
                       </div>
                     </article>
                     <article>
                       <div class="flex align-center">
                         <p class="title1 mr20">아니요</p>
-                        <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)">
-                          <img :src="item.imgSrc1">
-                          <img :src="item.imgSrc2" :style="{ display: item.isSecondImageVisible ? 'block' : 'none' }">
+                        <button
+                          class="popTxt"
+                          v-for="(item, index) in items"
+                          :key="index"
+                          @click="toggleImage(index)"
+                        >
+                          <img :src="item.imgSrc1" />
+                          <img
+                            :src="item.imgSrc2"
+                            :style="{
+                              display: item.isSecondImageVisible
+                                ? 'block'
+                                : 'none',
+                            }"
+                          />
                         </button>
                       </div>
                     </article>
@@ -65,22 +93,46 @@
                   <p class="title1">2교시</p>
                 </td>
                 <td>
-                  <div class="flex justify-center" style="gap: 60px;">
+                  <div class="flex justify-center" style="gap: 60px">
                     <article>
                       <div class="flex align-center">
                         <p class="title1 mr20">네</p>
-                        <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)">
-                          <img :src="item.imgSrc1">
-                          <img :src="item.imgSrc2" :style="{ display: item.isSecondImageVisible ? 'block' : 'none' }">
+                        <button
+                          class="popTxt"
+                          v-for="(item, index) in items"
+                          :key="index"
+                          @click="toggleImage(index)"
+                        >
+                          <img :src="item.imgSrc1" />
+                          <img
+                            :src="item.imgSrc2"
+                            :style="{
+                              display: item.isSecondImageVisible
+                                ? 'block'
+                                : 'none',
+                            }"
+                          />
                         </button>
                       </div>
                     </article>
                     <article>
                       <div class="flex align-center">
                         <p class="title1 mr20">아니요</p>
-                        <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)">
-                          <img :src="item.imgSrc1">
-                          <img :src="item.imgSrc2" :style="{ display: item.isSecondImageVisible ? 'block' : 'none' }">
+                        <button
+                          class="popTxt"
+                          v-for="(item, index) in items"
+                          :key="index"
+                          @click="toggleImage(index)"
+                        >
+                          <img :src="item.imgSrc1" />
+                          <img
+                            :src="item.imgSrc2"
+                            :style="{
+                              display: item.isSecondImageVisible
+                                ? 'block'
+                                : 'none',
+                            }"
+                          />
                         </button>
                       </div>
                     </article>
@@ -94,10 +146,11 @@
               </button>
             </div>
           </div>
-
         </div>
       </div>
-      <div class="next-btn" @click="goToPage('Dashboard')"><img src="../../../../resources/img/right.png" alt=""></div>
+      <div class="next-btn" @click="goToPage('Dashboard')">
+        <img src="../../../../resources/img/right.png" alt="" />
+      </div>
     </div>
   </div>
 </template>
@@ -107,19 +160,23 @@
   data() {
     return {
       items: [
-        { imgSrc1: 'client/resources/img/btn13_42s.png', imgSrc2: 'client/resources/img/btn14_50s_click.png', isSecondImageVisible: false },
-
+        {
+          imgSrc1: "client/resources/img/btn13_42s.png",
+          imgSrc2: "client/resources/img/btn14_50s_click.png",
+          isSecondImageVisible: false,
+        },
       ],
-      timer: '00',
+      timer: "00",
       showButton1: false,
       showButton2: false,
       showButton3: false,
       showButton4: false,
-    }
+    };
   },
   methods: {
     toggleImage(index) {
-      this.items[index].isSecondImageVisible = !this.items[index].isSecondImageVisible;
+      this.items[index].isSecondImageVisible =
+        !this.items[index].isSecondImageVisible;
     },
     goToPage(page) {
       this.$router.push({ name: page });
@@ -160,20 +217,13 @@
           clearInterval(this.intervalId);
         }
       }, 1000);
-    }
+    },
   },
-  watch: {
-
-  },
-  computed: {
-
-  },
-  components: {
-  },
-  mounted() {
-
-  }
-}
+  watch: {},
+  computed: {},
+  components: {},
+  mounted() {},
+};
 </script>
 <style scoped>
 .textbox {
@@ -202,4 +252,4 @@
   width: 150rem;
   margin: 0 auto;
 }
-</style>
(파일 끝에 줄바꿈 문자 없음)
+</style>
client/views/pages/main/Chapter/Chapter3_2.vue
--- client/views/pages/main/Chapter/Chapter3_2.vue
+++ client/views/pages/main/Chapter/Chapter3_2.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -11,12 +13,18 @@
     </div>
     <div class="flex justify-between align-center">
       <div class="pre-btn" @click="previousProblem()">
-        <img src="../../../../resources/img/left.png" alt="" :class="{ active: currentIndex === 0 }" />
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
           </button> -->
         </div>
@@ -39,16 +47,25 @@
           <div class="flex align-center justify-center">
             <div class="inputbox mt30">go</div>
           </div>
-          <div class="pickGroup mt40 flex align-center justify-center" style="gap: 100px">
+          <div
+            class="pickGroup mt40 flex align-center justify-center"
+            style="gap: 100px"
+          >
             <p>i</p>
-            <article style="gap: 60px; bottom: 159px; left: 242px" @click="handleClick(1)">
+            <article
+              style="gap: 60px; bottom: 159px; left: 242px"
+              @click="handleClick(1)"
+            >
               <button>
                 <img src="../../../../resources/img/img136_71s.png" alt="" />
                 <p :class="{ active: selectedButton === 1 }">1</p>
               </button>
             </article>
             <p>to</p>
-            <article style="gap: 60px; bottom: 159px; right: 559px" @click="handleClick(2)">
+            <article
+              style="gap: 60px; bottom: 159px; right: 559px"
+              @click="handleClick(2)"
+            >
               <button>
                 <img src="../../../../resources/img/img136_71s.png" alt="" />
                 <p :class="{ active: selectedButton === 2 }">2</p>
@@ -57,12 +74,20 @@
             <p>bed</p>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" /></div>
+      <div class="next-btn" @click="nextProblem()">
+        <img src="../../../../resources/img/right.png" alt="" />
+      </div>
     </div>
   </div>
 </template>
@@ -105,29 +130,26 @@
     },
     // 제출하기 버튼
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -139,7 +161,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -174,27 +196,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -265,12 +290,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -278,7 +303,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_3.vue
--- client/views/pages/main/Chapter/Chapter3_3.vue
+++ client/views/pages/main/Chapter/Chapter3_3.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,8 +12,13 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" /></div>
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
@@ -30,27 +37,47 @@
               </div>
             </div>
           </div>
-          <div class="pickGroup mt60 flex align-center justify-center"
-            style="flex-wrap: wrap; gap: 100px; margin-top: 7%; margin-left: 5%">
-            <article v-for="(item, index) in problemDetail" :key="index"
-              style="flex: 1 0 calc(50% - 100px); bottom: 159px; left: 242px">
-              <div class="flex align-center" @click="handleClick(item.prblmDtlExpln)">
+          <div
+            class="pickGroup mt60 flex align-center justify-center"
+            style="flex-wrap: wrap; gap: 100px; margin-top: 7%; margin-left: 5%"
+          >
+            <article
+              v-for="(item, index) in problemDetail"
+              :key="index"
+              style="flex: 1 0 calc(50% - 100px); bottom: 159px; left: 242px"
+            >
+              <div
+                class="flex align-center"
+                @click="handleClick(item.prblmDtlExpln)"
+              >
                 <button>
                   <img src="../../../../resources/img/img136_71s.png" alt="" />
-                  <p :class="{ active: selectedButton === item.prblmDtlExpln }">{{ index + 1 }}</p>
+                  <p :class="{ active: selectedButton === item.prblmDtlExpln }">
+                    {{ index + 1 }}
+                  </p>
                 </button>
                 <p>{{ item.prblmDtlExpln }}</p>
               </div>
             </article>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt=""
-          :class="{ active: currentIndex === learningIdsLength - 1 }" />
+      <div class="next-btn" @click="nextProblem()">
+        <img
+          src="../../../../resources/img/right.png"
+          alt=""
+          :class="{ active: currentIndex === learningIdsLength - 1 }"
+        />
       </div>
     </div>
   </div>
@@ -96,29 +123,26 @@
     },
     // 제출하기 버튼
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -130,7 +154,7 @@
         })
           .then((res) => {
             console.log("problem - response : ", res.data);
-            this.goToPage("Chapter4");  // 'this' correctly refers to the Vue instance
+            this.goToPage("Chapter4"); // 'this' correctly refers to the Vue instance
           })
           .catch((error) => {
             console.log("problem - error : ", error);
@@ -165,27 +189,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -256,21 +283,20 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
-
 
     // Fetch or process the current problem based on `currentLearningId`
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_3_1.vue
--- client/views/pages/main/Chapter/Chapter3_3_1.vue
+++ client/views/pages/main/Chapter/Chapter3_3_1.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,13 +12,22 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" /></div>
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
-          <button><img src="../../../../resources/img/btn10_s.png" alt="" /></button>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
+          <button>
+            <img src="../../../../resources/img/btn10_s.png" alt="" />
+          </button>
         </div>
 
         <div class="text-ct">
@@ -35,7 +46,10 @@
             <img src="../../../../resources/img/img109_51s.png" alt="" />
           </div>
 
-          <div class="pickGroup mt60 flex align-center justify-center" style="gap: 100px; margin-top: 7%">
+          <div
+            class="pickGroup mt60 flex align-center justify-center"
+            style="gap: 100px; margin-top: 7%"
+          >
             <article style="gap: 60px; bottom: 159px; left: 242px">
               <div class="flex align-center" @click="handleClick(1)">
                 <button>
@@ -65,19 +79,25 @@
             </article>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <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() {
@@ -112,29 +132,26 @@
     },
     // 제출하기 버튼
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -146,7 +163,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -181,27 +198,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -272,12 +292,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -285,7 +305,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_4.vue
--- client/views/pages/main/Chapter/Chapter3_4.vue
+++ client/views/pages/main/Chapter/Chapter3_4.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
@@ -13,15 +13,29 @@
     </div>
     <div class="flex justify-between align-center">
       <div class="pre-btn" @click="previousProblem()">
-        <img src="../../../../resources/img/left.png" alt="" :class="{ active: currentIndex === 0 }" />
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <button>
-            <img src="../../../../resources/img/btn10_s.png" alt="Listen" @click="playAudio" />
-            <audio id="audio-player" src="client/resources/audio/tt.wav" preload="auto"></audio>
+            <img
+              src="../../../../resources/img/btn10_s.png"
+              alt="Listen"
+              @click="playAudio"
+            />
+            <audio
+              id="audio-player"
+              src="client/resources/audio/tt.wav"
+              preload="auto"
+            ></audio>
           </button>
         </div>
 
@@ -37,16 +51,23 @@
               </div>
             </div>
           </div>
-          <div class="pickGroup flex align-center justify-center"
-            style="flex-wrap: wrap; gap: 100px; margin-top: 7%; margin-left: 5%">
-            <article v-for="(item, index) in problemDetail" :key="index"
-              style="flex: 1 0 calc(50% - 100px); bottom: 159px; left: 242px">
+          <div
+            class="pickGroup flex align-center justify-center"
+            style="flex-wrap: wrap; gap: 100px; margin-top: 7%; margin-left: 5%"
+          >
+            <article
+              v-for="(item, index) in problemDetail"
+              :key="index"
+              style="flex: 1 0 calc(50% - 100px); bottom: 159px; left: 242px"
+            >
               <div class="flex align-center">
                 <button @click="handleClick(item.prblmDtlExpln)">
                   <img src="../../../../resources/img/img136_71s.png" alt="" />
-                  <p :class="{
-                    active: selectedButton === item.prblmDtlExpln,
-                  }">
+                  <p
+                    :class="{
+                      active: selectedButton === item.prblmDtlExpln,
+                    }"
+                  >
                     {{ index + 1 }}
                   </p>
                 </button>
@@ -55,10 +76,16 @@
             </article>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
       <div class="next-btn" @click="nextProblem()">
         <img src="../../../../resources/img/right.png" alt="" />
@@ -109,29 +136,26 @@
       this.selectedButton = number;
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -143,7 +167,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -178,27 +202,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -269,12 +296,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -282,7 +309,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_5.vue
--- client/views/pages/main/Chapter/Chapter3_5.vue
+++ client/views/pages/main/Chapter/Chapter3_5.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,12 +12,19 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" /></div>
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
           </button> -->
         </div>
@@ -40,7 +49,10 @@
               go
             </div>
           </div> -->
-          <div class="pickGroup mt40 flex align-center justify-center" style="gap: 100px">
+          <div
+            class="pickGroup mt40 flex align-center justify-center"
+            style="gap: 100px"
+          >
             <p>i</p>
             <p>&#40;</p>
             <article style="gap: 60px; bottom: 159px; left: 242px">
@@ -65,12 +77,19 @@
             <p>bed</p>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <div class="next-btn" @click="nextProblem()">
+        <img src="../../../../resources/img/right.png" alt="" />
       </div>
     </div>
   </div>
@@ -111,29 +130,26 @@
     },
     // 제출하기 버튼
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -145,7 +161,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -180,27 +196,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -271,12 +290,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -284,7 +303,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_6.vue
--- client/views/pages/main/Chapter/Chapter3_6.vue
+++ client/views/pages/main/Chapter/Chapter3_6.vue
@@ -2,7 +2,9 @@
   <div id="Chapter2_2" class="content-wrap">
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
-        <div class="logo mb25"><img src="../../../../resources/img/logo2.png" alt="" /></div>
+        <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">
@@ -10,14 +12,27 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" /></div>
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
-          <button @click="playAudio"><img src="../../../../resources/img/btn10_s.png" alt="" /> <audio id="audio-player"
-              src="client/resources/audio/bank.wav" preload="auto"></audio></button>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
+          <button @click="playAudio">
+            <img src="../../../../resources/img/btn10_s.png" alt="" />
+            <audio
+              id="audio-player"
+              src="client/resources/audio/bank.wav"
+              preload="auto"
+            ></audio>
+          </button>
         </div>
         <div class="time-hint">
           <button class="hint-btn">HINT</button>
@@ -35,18 +50,27 @@
           <img src="../../../../resources/img/img114_57s.png" alt="" />
         </div> -->
 
-        <div class="pickGroup flex align-center justify-center"
-          style="flex-wrap: wrap; gap: 100px; margin-top: 7%; margin-left: 5%">
-          <div class="pickGroup flex align-center justify-center"
-            style="flex-wrap: wrap; gap: 100px; margin-top: 7%; margin-left: 5%">
-            <article v-for="(item, index) in problemDetail" :key="index"
-              style="flex: 1 0 calc(50% - 100px); bottom: 159px; left: 242px">
+        <div
+          class="pickGroup flex align-center justify-center"
+          style="flex-wrap: wrap; gap: 100px; margin-top: 7%; margin-left: 5%"
+        >
+          <div
+            class="pickGroup flex align-center justify-center"
+            style="flex-wrap: wrap; gap: 100px; margin-top: 7%; margin-left: 5%"
+          >
+            <article
+              v-for="(item, index) in problemDetail"
+              :key="index"
+              style="flex: 1 0 calc(50% - 100px); bottom: 159px; left: 242px"
+            >
               <div class="flex align-center">
                 <button @click="handleClick(item.prblmDtlExpln)">
                   <img src="../../../../resources/img/img136_71s.png" alt="" />
-                  <p :class="{
-                    active: selectedButton === item.prblmDtlExpln,
-                  }">
+                  <p
+                    :class="{
+                      active: selectedButton === item.prblmDtlExpln,
+                    }"
+                  >
                     {{ index + 1 }}
                   </p>
                 </button>
@@ -55,30 +79,50 @@
             </article>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
-
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <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 {
       items: [
-        { imgSrc2: "client/resources/img/img53_6_35s.png", imgSrc1: "client/resources/img/img53_1_35s.png" },
-        { imgSrc2: "client/resources/img/img53_7_35s.png", imgSrc1: "client/resources/img/img53_2_35s.png" },
-        { imgSrc2: "client/resources/img/img53_8_35s.png", imgSrc1: "client/resources/img/img53_3_35s.png" },
-        { imgSrc2: "client/resources/img/img53_9_35s.png", imgSrc1: "client/resources/img/img53_4_35s.png" },
-        { imgSrc2: "client/resources/img/img53_10_35s.png", imgSrc1: "client/resources/img/img53_5_35s.png" },
+        {
+          imgSrc2: "client/resources/img/img53_6_35s.png",
+          imgSrc1: "client/resources/img/img53_1_35s.png",
+        },
+        {
+          imgSrc2: "client/resources/img/img53_7_35s.png",
+          imgSrc1: "client/resources/img/img53_2_35s.png",
+        },
+        {
+          imgSrc2: "client/resources/img/img53_8_35s.png",
+          imgSrc1: "client/resources/img/img53_3_35s.png",
+        },
+        {
+          imgSrc2: "client/resources/img/img53_9_35s.png",
+          imgSrc1: "client/resources/img/img53_4_35s.png",
+        },
+        {
+          imgSrc2: "client/resources/img/img53_10_35s.png",
+          imgSrc1: "client/resources/img/img53_5_35s.png",
+        },
       ],
       selectedIndex: null,
       timer: "00",
@@ -120,29 +164,26 @@
       this.selectedButton = number;
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -154,7 +195,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -194,27 +235,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -285,12 +329,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -298,7 +342,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_7.vue
--- client/views/pages/main/Chapter/Chapter3_7.vue
+++ client/views/pages/main/Chapter/Chapter3_7.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
@@ -13,12 +13,18 @@
     </div>
     <div class="flex justify-between align-center">
       <div class="pre-btn" @click="previousProblem()">
-        <img src="../../../../resources/img/left.png" alt="" :class="{ active: currentIndex === 0 }" />
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
         </div>
 
         <div class="text-ct">
@@ -34,7 +40,10 @@
             </div>
           </div>
 
-          <div class="pickGroup flex align-center justify-between mt80" style="gap: 100px">
+          <div
+            class="pickGroup flex align-center justify-between mt80"
+            style="gap: 100px"
+          >
             <!-- <p></p> -->
             <button>
               <img src="../../../../resources/img/btn10_s.png" alt="" />
@@ -43,7 +52,10 @@
               <article>
                 <div class="flex align-center">
                   <button @click="handleCheck('O')" name="O">
-                    <img src="../../../../resources/img/img136_71s.png" alt="" />
+                    <img
+                      src="../../../../resources/img/img136_71s.png"
+                      alt=""
+                    />
                     <p :class="{ active: selectedButton === 'O' }">1</p>
                   </button>
                   <img src="../../../../resources/img/img111_56s.png" alt="" />
@@ -52,7 +64,10 @@
               <article>
                 <div class="flex align-center">
                   <button @click="handleCheck('X')" name="X">
-                    <img src="../../../../resources/img/img136_71s.png" alt="" />
+                    <img
+                      src="../../../../resources/img/img136_71s.png"
+                      alt=""
+                    />
                     <p :class="{ active: selectedButton === 'X' }">2</p>
                   </button>
                   <img src="../../../../resources/img/img112_56s.png" alt="" />
@@ -61,11 +76,16 @@
             </div>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
-
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
       <div class="next-btn" @click="nextProblem()">
         <img src="../../../../resources/img/right.png" alt="" />
@@ -115,29 +135,26 @@
       console.log(this.selectedButton);
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -147,9 +164,9 @@
           },
           data: this.$store.getters.getAllAnswers,
         })
-          .then((res)=> {
+          .then((res) => {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -184,27 +201,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -275,12 +295,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -288,7 +308,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_8.vue
--- client/views/pages/main/Chapter/Chapter3_8.vue
+++ client/views/pages/main/Chapter/Chapter3_8.vue
@@ -2,7 +2,9 @@
   <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/logo2.png" alt="" /></div>
+        <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">
@@ -10,12 +12,19 @@
       <span class="subtitle">my name is dd</span>
     </div>
     <div class="flex justify-between align-center">
-      <div class="pre-btn" @click="previousProblem()"><img src="../../../../resources/img/left.png" alt=""
-          :class="{ active: currentIndex === 0 }" /></div>
+      <div class="pre-btn" @click="previousProblem()">
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
+      </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
                </button> -->
         </div>
@@ -42,15 +51,28 @@
                 </button>
               </div>
             </div>
-            <input class="yellow-bd" v-model="answer" style="width: 45%" type="text" placeholder="답을 입력하세요." />
+            <input
+              class="yellow-bd"
+              v-model="answer"
+              style="width: 45%"
+              type="text"
+              placeholder="답을 입력하세요."
+            />
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="nextProblem()"><img src="../../../../resources/img/right.png" alt="" />
+      <div class="next-btn" @click="nextProblem()">
+        <img src="../../../../resources/img/right.png" alt="" />
       </div>
     </div>
   </div>
@@ -120,29 +142,26 @@
       }, 1000);
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -154,7 +173,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -189,27 +208,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -280,12 +302,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -293,7 +315,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter3_9.vue
--- client/views/pages/main/Chapter/Chapter3_9.vue
+++ client/views/pages/main/Chapter/Chapter3_9.vue
@@ -3,7 +3,7 @@
     <div style="margin: 30px 0px 50px; width: 20%">
       <router-link to="/MyPlan.page">
         <div class="logo mb25">
-          <img src="../../../../resources/img/logo2.png" alt="" />
+          <img src="../../../../resources/img/new_img/logo_v2.png" alt="" />
         </div>
       </router-link>
     </div>
@@ -13,12 +13,18 @@
     </div>
     <div class="flex justify-between align-center">
       <div class="pre-btn" @click="previousProblem()">
-        <img src="../../../../resources/img/left.png" alt="" :class="{ active: currentIndex === 0 }" />
+        <img
+          src="../../../../resources/img/left.png"
+          alt=""
+          :class="{ active: currentIndex === 0 }"
+        />
       </div>
       <div class="content title-box">
         <p class="title mt25 title-bg">step3.</p>
         <div class="flex align-center mb30">
-          <p class="subtitle2 mr20">{{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}</p>
+          <p class="subtitle2 mr20">
+            {{ currentProblemIndex + 1 }}. {{ dataList.prblmExpln }}
+          </p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
                </button> -->
         </div>
@@ -41,19 +47,30 @@
                             alt=""
                         /> -->
             <div class="mt50">
-              <input class="yellow-bd" type="text" name="" id="" placeholder="답을 입력하세요." v-model="answer"
-                @change="submitAnswer" />
+              <input
+                class="yellow-bd"
+                type="text"
+                name=""
+                id=""
+                placeholder="답을 입력하세요."
+                v-model="answer"
+                @change="submitAnswer"
+              />
             </div>
           </div>
         </div>
-        <button class="submit-button" @click="handleSubmit()"
-          v-if="currentIndex === learningIdsLength - 1">제출하기</button>
-          <button class="submit-button" @click="nextProblem()"
-          v-else>다음 문제로</button>
+        <button
+          class="submit-button"
+          @click="handleSubmit()"
+          v-if="currentIndex === learningIdsLength - 1"
+        >
+          제출하기
+        </button>
+        <button class="submit-button" @click="nextProblem()" v-else>
+          다음 문제로
+        </button>
       </div>
-      <div class="next-btn" @click="
-        nextProblem()
-        ">
+      <div class="next-btn" @click="nextProblem()">
         <img src="../../../../resources/img/right.png" alt="" />
       </div>
     </div>
@@ -122,29 +139,26 @@
       }, 1000);
     },
     handleSubmit() {
-
       const userConfirmed = window.confirm("제출 하시겠습니까?");
       if (userConfirmed) {
-
         const problemData = {
           prblmInfo: this.currentLearningId,
           prblmNumber: this.currentProblemIndex,
-          prblmAns: this.selectedButton
+          prblmAns: this.selectedButton,
         };
 
         const answerData = {
           prblmId: this.currentLearningId.prblm_id,
           prblmAns: this.selectedButton,
           stdId: this.$store.getters.getStdId,
-          prblmLogAnsCnt: 1
+          prblmLogAnsCnt: 1,
         };
 
-        this.$store.dispatch('saveProblemData', problemData);
-        this.$store.dispatch('saveProblemAttempt', answerData);
+        this.$store.dispatch("saveProblemData", problemData);
+        this.$store.dispatch("saveProblemAttempt", answerData);
 
         console.log(this.$store.getters.getAllProblems);
         console.log(this.$store.getters.getAllAnswers);
-
 
         axios({
           url: "problemLog/insertProblemLog.json",
@@ -156,7 +170,7 @@
         })
           .then(function (res) {
             console.log("problem - response : ", res.data);
-            this.goToPage('Chapter4')
+            this.goToPage("Chapter4");
           })
           .catch(function (error) {
             console.log("problem - error : ", error);
@@ -191,27 +205,30 @@
       const problemData = {
         prblmInfo: this.currentLearningId,
         prblmNumber: this.currentProblemIndex,
-        prblmAns: this.selectedButton
-      }
+        prblmAns: this.selectedButton,
+      };
       const answerData = {
         prblmId: this.currentLearningId.prblm_id,
         prblmAns: this.selectedButton,
         stdId: this.$store.getters.getStdId,
-        prblmLogAnsCnt: 1
-      }
-      this.$store.dispatch('saveProblemData', problemData);
-      this.$store.dispatch('saveProblemAttempt', answerData);
-      console.log(this.$store.getters.getAllProblems)
-      console.log(this.$store.getters.getAllAnswers)
-      if (this.currentProblemIndex < this.$store.state.currentLearningIds.length - 1) {
-        this.$store.dispatch('goToNextProblem');
+        prblmLogAnsCnt: 1,
+      };
+      this.$store.dispatch("saveProblemData", problemData);
+      this.$store.dispatch("saveProblemAttempt", answerData);
+      console.log(this.$store.getters.getAllProblems);
+      console.log(this.$store.getters.getAllAnswers);
+      if (
+        this.currentProblemIndex <
+        this.$store.state.currentLearningIds.length - 1
+      ) {
+        this.$store.dispatch("goToNextProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
     },
     previousProblem() {
       if (this.currentProblemIndex > 0) {
-        this.$store.dispatch('goToPreviousProblem');
+        this.$store.dispatch("goToPreviousProblem");
         this.handleProblemDetail(this.currentLearningId);
         this.goToPage(this.problemType);
       }
@@ -282,12 +299,12 @@
     },
     isPreviousButtonDisabled() {
       return this.currentProblemIndex === 0;
-    }
+    },
   },
   created() {
-    console.log('Current Learning ID:', this.currentLearningId);
-    console.log('Current Label:', this.currentLabel);
-    console.log('Current Problem Index:', this.currentProblemIndex);
+    console.log("Current Learning ID:", this.currentLearningId);
+    console.log("Current Label:", this.currentLabel);
+    console.log("Current Problem Index:", this.currentProblemIndex);
     this.currentIndex = this.currentProblemIndex;
     this.learningIdsLength = this.$store.state.currentLearningIds.length;
 
@@ -295,7 +312,7 @@
   },
   components: {},
   mounted() {
-    this.getProblem()
+    this.getProblem();
   },
 };
 </script>
client/views/pages/main/Chapter/Chapter4.vue
--- client/views/pages/main/Chapter/Chapter4.vue
+++ client/views/pages/main/Chapter/Chapter4.vue
@@ -1,248 +1,264 @@
 <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/logo2.png" alt="" />
-                </div>
-            </router-link>
+  <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>
-        <div class="title-box mb25 flex align-center mt40">
-            <span class="title mr40">1. Hello WORLD</span>
-            <span class="subtitle">my name is dd</span>
-        </div>
-        <div class="flex justify-between align-center">
-            <div class="pre-btn" @click="goToPage('Chapter3_15')">
-                <img src="../../../../resources/img/left.png" alt="" />
-            </div>
-            <div class="content title-box">
-                <p class="title mt25 title-bg">Quiz Result</p>
-                <!-- <div class="flex align-center mb30">
+      </router-link>
+    </div>
+    <div class="title-box mb25 flex align-center mt40">
+      <span class="title mr40">1. Hello WORLD</span>
+      <span class="subtitle">my name is dd</span>
+    </div>
+    <div class="flex justify-between align-center">
+      <div class="pre-btn" @click="goToPage('Chapter3_15')">
+        <img src="../../../../resources/img/left.png" alt="" />
+      </div>
+      <div class="content title-box">
+        <p class="title mt25 title-bg">Quiz Result</p>
+        <!-- <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 flex justify-center" style="gap: 150px; margin: 0 auto">
-                    <div class="wrap-bg">
-                        <div class="title-box flex mb10 justify-between">
-                            <p class="title mb20">최종 점수</p>
-                            <button type="button" class="popup-close-btn" @click="closeBtn">
-                                <svg-icon type="mdi" :path="mdiWindowClose" class="close-btn"></svg-icon>
-                            </button>
-                        </div>
-                        <div style="width: 100%" class="flex mt30">
-                            <p class="title5"><em class="yellow">93</em></p>
-                            <p class="title4 ml10 mr10">&#47;</p>
-                            <p class="title4">100</p>
-                        </div>
-                    </div>
-                    <div class="bg-gray" style="width: 980px">
-                        <div class="title-box flex mb10 justify-between">
-                            <p class="title mb20">오답 문제 리스트</p>
-                            <button type="button" class="popup-close-btn" @click="closeBtn">
-                                <svg-icon type="mdi" :path="mdiWindowClose" class="close-btn"></svg-icon>
-                            </button>
-                        </div>
-                        <article class="mb20 flex-column result-box" style="gap: 20px">
-                            <div class="flex justify-between wrap" v-for="(item, index) in dataList" :key="index">
-                                <div class="flex align-center">
-                                    <div>
-                                        <p class="title1 mr20">
-                                            {{ index + 1 }}
-                                        </p>
-                                    </div>
-                                    <div class="text-lf">
-                                        <p class="title1">
-                                            {{ item.prblmInfo.prblm_expln }}
-                                        </p>
-                                    </div>
-                                </div>
-                                <div>
-                                    <div class="flex align-center" style="gap: 10px">
-                                        <button type="button" title="정답 확인" class="yellow-btn" @click="
-                                            [
-                                                handleProblemDetail(item.prblmInfo),
-                                                goToProblemPage(
-                                                    problemType
-                                                ),
-                                            ]
-                                            ">
-                                            정답 확인
-                                        </button>
-                                    </div>
-                                </div>
-                            </div>
-                        </article>
-                    </div>
+        <div
+          class="text-ct flex justify-center"
+          style="gap: 150px; margin: 0 auto"
+        >
+          <div class="wrap-bg">
+            <div class="title-box flex mb10 justify-between">
+              <p class="title mb20">최종 점수</p>
+              <button type="button" class="popup-close-btn" @click="closeBtn">
+                <svg-icon
+                  type="mdi"
+                  :path="mdiWindowClose"
+                  class="close-btn"
+                ></svg-icon>
+              </button>
+            </div>
+            <div style="width: 100%" class="flex mt30">
+              <p class="title5"><em class="yellow">93</em></p>
+              <p class="title4 ml10 mr10">&#47;</p>
+              <p class="title4">100</p>
+            </div>
+          </div>
+          <div class="bg-gray" style="width: 980px">
+            <div class="title-box flex mb10 justify-between">
+              <p class="title mb20">오답 문제 리스트</p>
+              <button type="button" class="popup-close-btn" @click="closeBtn">
+                <svg-icon
+                  type="mdi"
+                  :path="mdiWindowClose"
+                  class="close-btn"
+                ></svg-icon>
+              </button>
+            </div>
+            <article class="mb20 flex-column result-box" style="gap: 20px">
+              <div
+                class="flex justify-between wrap"
+                v-for="(item, index) in dataList"
+                :key="index"
+              >
+                <div class="flex align-center">
+                  <div>
+                    <p class="title1 mr20">
+                      {{ index + 1 }}
+                    </p>
+                  </div>
+                  <div class="text-lf">
+                    <p class="title1">
+                      {{ item.prblmInfo.prblm_expln }}
+                    </p>
+                  </div>
                 </div>
-            </div>
-            <div class="next-btn" @click="goToPage('Chapter3_16')">
-                <img src="../../../../resources/img/right.png" alt="" />
-            </div>
+                <div>
+                  <div class="flex align-center" style="gap: 10px">
+                    <button
+                      type="button"
+                      title="정답 확인"
+                      class="yellow-btn"
+                      @click="
+                        [
+                          handleProblemDetail(item.prblmInfo),
+                          goToProblemPage(problemType),
+                        ]
+                      "
+                    >
+                      정답 확인
+                    </button>
+                  </div>
+                </div>
+              </div>
+            </article>
+          </div>
         </div>
+      </div>
+      <div class="next-btn" @click="goToPage('Chapter3_16')">
+        <img src="../../../../resources/img/right.png" alt="" />
+      </div>
     </div>
+  </div>
 </template>
 
 <script>
 import axios from "axios";
 
 export default {
-    data() {
-        return {
-            timer: "00",
-            showButton1: false,
-            showButton2: false,
-            showButton3: false,
-            showButton4: false,
+  data() {
+    return {
+      timer: "00",
+      showButton1: false,
+      showButton2: false,
+      showButton3: false,
+      showButton4: false,
 
-            // 단원 평가 아이디, 추후 세션으로 받게 변경
-            evalId: "",
+      // 단원 평가 아이디, 추후 세션으로 받게 변경
+      evalId: "",
 
-            dataList: [],
+      dataList: [],
 
-            prblmId: "",
+      prblmId: "",
 
-            problemType: null,
-        };
+      problemType: null,
+    };
+  },
+  methods: {
+    goToPage(page) {
+      this.$router.push({ name: page });
     },
-    methods: {
-        goToPage(page) {
-            this.$router.push({ name: page });
-        },
-        goToProblemPage(page) {
-            this.$router.push({ name: page });
-        },
-        handleDrag(dragNumber) {
-            // Drag 버튼 숨기기
-            // 여기서는 상태 관리를 통해 버튼을 제어합니다.
-            if (dragNumber === 1) {
-                this.showButton1 = false;
-            } else if (dragNumber === 2) {
-                this.showButton2 = false;
-            } else if (dragNumber === 3) {
-                this.showButton3 = false;
-            }
-        },
-        showButton(dropNumber) {
-            // Drop 영역의 이미지 클릭 이벤트 핸들러 설정
-            // 여기서는 상태 관리를 통해 버튼을 보이게 합니다.
-            if (dropNumber === 1) {
-                this.showButton1 = true;
-            } else if (dropNumber === 2) {
-                this.showButton2 = true;
-            } else if (dropNumber === 3) {
-                this.showButton3 = true;
-            } else if (dropNumber === 4) {
-                this.showButton4 = true;
-            }
-        },
-        startTimer() {
-            if (this.intervalId) {
-                clearInterval(this.intervalId);
-            }
-            this.timer = 5;
-            this.intervalId = setInterval(() => {
-                if (this.timer > 0) {
-                    this.timer--;
-                } else {
-                    clearInterval(this.intervalId);
-                }
-            }, 1000);
-        },
-        problemList() {
-        },
+    goToProblemPage(page) {
+      this.$router.push({ name: page });
+    },
+    handleDrag(dragNumber) {
+      // Drag 버튼 숨기기
+      // 여기서는 상태 관리를 통해 버튼을 제어합니다.
+      if (dragNumber === 1) {
+        this.showButton1 = false;
+      } else if (dragNumber === 2) {
+        this.showButton2 = false;
+      } else if (dragNumber === 3) {
+        this.showButton3 = false;
+      }
+    },
+    showButton(dropNumber) {
+      // Drop 영역의 이미지 클릭 이벤트 핸들러 설정
+      // 여기서는 상태 관리를 통해 버튼을 보이게 합니다.
+      if (dropNumber === 1) {
+        this.showButton1 = true;
+      } else if (dropNumber === 2) {
+        this.showButton2 = true;
+      } else if (dropNumber === 3) {
+        this.showButton3 = true;
+      } else if (dropNumber === 4) {
+        this.showButton4 = true;
+      }
+    },
+    startTimer() {
+      if (this.intervalId) {
+        clearInterval(this.intervalId);
+      }
+      this.timer = 5;
+      this.intervalId = setInterval(() => {
+        if (this.timer > 0) {
+          this.timer--;
+        } else {
+          clearInterval(this.intervalId);
+        }
+      }, 1000);
+    },
+    problemList() {},
 
-        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";
-            }
-        },
+    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: {
-        getAllProblems() {
-            return this.$store.getters.getAllProblems;
-        },
+  },
+  watch: {},
+  computed: {
+    getAllProblems() {
+      return this.$store.getters.getAllProblems;
     },
-    created() {
-        console.log('Problem List :', this.getAllProblems);
-        this.dataList = this.getAllProblems;
-        this.evalId = this.$route.query.eval_id;
-
-    },
-    components: {},
-    mounted() {
-        this.problemList();
-    },
+  },
+  created() {
+    console.log("Problem List :", this.getAllProblems);
+    this.dataList = this.getAllProblems;
+    this.evalId = this.$route.query.eval_id;
+  },
+  components: {},
+  mounted() {
+    this.problemList();
+  },
 };
 </script>
 <style scoped>
 .textbox {
-    height: 60px;
+  height: 60px;
 }
 
 .textbox p {
-    font-size: 28px;
-    font-weight: bold;
-    line-height: 65px;
+  font-size: 28px;
+  font-weight: bold;
+  line-height: 65px;
 }
 
 .dropGroup button {
-    position: relative;
+  position: relative;
 }
 
 .dropGroup button p {
-    font-size: 48px;
+  font-size: 48px;
 }
 
 .dragGroup button p {
-    font-size: 48px;
+  font-size: 48px;
 }
 </style>
Add a comment
List