jichoi / lms_front star
dajeong 2024-08-14
240814 정다정 미니게임(배열, 열쇠, 도끼) 로직 추가
@35d68befbd0086ebd1e04d0473cc0d1858393bab
client/views/pages/main/Chapter/Chapter2_10.vue
--- client/views/pages/main/Chapter/Chapter2_10.vue
+++ client/views/pages/main/Chapter/Chapter2_10.vue
@@ -1,71 +1,94 @@
 <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>
+      <router-link to="/MyPlan.page">
+        <div class="logo mb25">
+          <img src="../../../../resources/img/logo2.png" alt="" />
+        </div>
+      </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_6')"><img src="../../../../resources/img/left.png" alt=""></div>
+      <div class="pre-btn" @click="goToPage('Chapter2_6')">
+        <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>
+        <p class="title mt25 title-bg">step3 - 놀면서 배우는 영어</p>
+        <div class="flex align-center mb30">
+          <p class="subtitle2 mr20">
+            방문이 자물쇠로 잠겨져 있네? 세 개 중에 맞는 열쇠 하나를 찾아줘!
+          </p>
         </div>
 
-        <div class="flex align-center justify-center" style="gap: 113px;">
+        <div class="flex align-center justify-center" style="gap: 113px">
           <div class="imgGroup">
-            <div class="flex" style="gap: 60px;">
-              <button><img src="../../../../resources/img/img82_42s.png" alt="">
-                <p>Tell me</p>
+            <div class="flex" style="gap: 60px">
+              <button>
+                <img src="../../../../resources/img/img82_42s.png" alt="" />
+                <p>{{ beforeQuestion }}</p>
               </button>
-              <button><img src="../../../../resources/img/img159_42s.png" alt=""></button>
-              <button><img src="../../../../resources/img/img83_42s.png" alt="">
-                <p>Why</p>
+              <button>
+                <img src="../../../../resources/img/img159_42s.png" alt="" />
+              </button>
+              <button>
+                <img src="../../../../resources/img/img83_42s.png" alt="" />
+                <p>{{ afterQuestion }}</p>
               </button>
             </div>
           </div>
           <div class="pickGroup">
-            <div>
-              <article class="flex justify-center mb50" style="gap: 60px;">
-                <img src="../../../../resources/img/img84_42s.png" alt="">
-                <div class="flex">
-                  <button @click="handleClick('You are so upset.', 1)">
-                    <img src="../../../../resources/img/img136_71s.png" alt="">
+            <div class="pickImg">
+              <img src="../../../../resources/img/img84_42s.png" alt="" />
+              <img src="../../../../resources/img/img85_42s.png" alt="" />
+              <img src="../../../../resources/img/img86_42s.png" alt="" />
+            </div>
+            <div class="pickChoice">
+              <article class="flex justify-center mb50" style="gap: 60px">
+                <div class="flex" style="align-items: center">
+                  <button @click="handleClick(`${choice[0]}`, 1)">
+                    <img
+                      src="../../../../resources/img/img136_71s.png"
+                      alt=""
+                    />
                     <p :class="{ active: selectedButton === 1 }">1</p>
                   </button>
-                  <p>You are so upset.</p>
+                  <p>{{ choice[0] }}</p>
                 </div>
               </article>
-              <article class="flex justify-center mb50" style="gap: 60px;">
-                <img src="../../../../resources/img/img85_42s.png" alt="">
-                <div class="flex">
-                  <button @click="handleClick('You is so upset.', 2)">
-                    <img src="../../../../resources/img/img136_71s.png" alt="">
+              <article class="flex justify-center mb50" style="gap: 60px">
+                <div class="flex" style="align-items: center">
+                  <button @click="handleClick(`${choice[1]}`, 2)">
+                    <img
+                      src="../../../../resources/img/img136_71s.png"
+                      alt=""
+                    />
                     <p :class="{ active: selectedButton === 2 }">2</p>
                   </button>
-                  <p>You is so upset.</p>
+                  <p>{{ choice[1] }}</p>
                 </div>
               </article>
-              <article class="flex justify-center" style="gap: 60px;">
-                <img src="../../../../resources/img/img86_42s.png" alt="">
-                <div class="flex">
-                  <button @click="handleClick('You am so upset.', 3)">
-                    <img src="../../../../resources/img/img136_71s.png" alt="">
+              <article class="flex justify-center" style="gap: 60px">
+                <div class="flex" style="align-items: center">
+                  <button @click="handleClick(`${choice[2]}`, 3)">
+                    <img
+                      src="../../../../resources/img/img136_71s.png"
+                      alt=""
+                    />
                     <p :class="{ active: selectedButton === 3 }">3</p>
                   </button>
-                  <p>You am so upset.</p>
+                  <p>{{ choice[2] }}</p>
                 </div>
               </article>
             </div>
           </div>
         </div>
       </div>
-      <div class="next-btn" @click="goToPage('Chapter2_11')"><img src="../../../../resources/img/right.png" alt=""></div>
+      <div class="next-btn" @click="goToPage('Chapter2_11')">
+        <img src="../../../../resources/img/right.png" alt="" />
+      </div>
     </div>
   </div>
 </template>
@@ -75,27 +98,48 @@
   data() {
     return {
       selectedButton: null, // 선택된 버튼을 추적하기 위한 데이터
+
+      example: "Tell me/why/?",
+      beforeQuestion: "Tell me",
+      afterQuestion: "Why",
+      choice: ["You are so upset", "You is so upset", "You am so upset"],
+      answer: 0,
     };
   },
   methods: {
     goToPage(page) {
       this.$router.push({ name: page });
     },
+
+    splitExample() {
+      const parts = this.example.split("/?/");
+      if (parts.length === 3) {
+        this.beforeQuestion = parts[0];
+        this.afterQuestion = parts[1];
+      }
+    },
+
     handleClick(text, buttonNumber) {
       this.selectedButton = buttonNumber; // 선택된 버튼 번호를 저장
 
-      if (text === 'You are so upset.') {
-        alert('정답입니다!');
+      if (text === this.choice[this.answer]) {
+        alert("정답입니다!");
       } else {
-        alert('오답입니다!');
+        alert("오답입니다!");
       }
-    }
-  }
-}
+    },
+  },
+
+  mounted() {
+    this.splitExample();
+  },
+};
 </script>
 
 <style scoped>
-.imgGroup{width: fit-content;}
+.imgGroup {
+  width: fit-content;
+}
 .imgGroup button {
   position: relative;
 }
@@ -112,9 +156,14 @@
   border-radius: 5px;
   padding: 10px;
   font-size: 23px;
-  font-family: 'ONEMobilePOP';
+  font-family: "ONEMobilePOP";
 }
-
+.pickGroup {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  gap: 40px;
+}
 .pickGroup button {
   position: relative;
   margin-right: 30px;
@@ -134,7 +183,7 @@
   width: -webkit-fill-available;
 }
 
-.pickGroup article >div >p {
+.pickGroup article > div > p {
   font-size: 25px;
   white-space: nowrap; /* 텍스트가 줄 바꿈 없이 한 줄로 표시되도록 설정 */
 }
@@ -142,4 +191,16 @@
 .pickGroup button p.active {
   color: #000; /* 선택된 버튼의 숫자 색을 더 진하게 */
 }
+
+.pickImg {
+  display: flex;
+  flex-direction: column;
+  gap: 70px;
+}
+
+.pickChoice {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-start;
+}
 </style>
client/views/pages/main/Chapter/Chapter2_11.vue
--- client/views/pages/main/Chapter/Chapter2_11.vue
+++ client/views/pages/main/Chapter/Chapter2_11.vue
@@ -1,88 +1,109 @@
 <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 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>
+    <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_10')">
+        <img src="../../../../resources/img/left.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('Chapter2_10')"><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>
+      <div class="content title-box">
+        <p class="title mt25 title-bg">step3 - 놀면서 배우는 영어</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">
+
+        <div class="text-ct">
           <div class="imgGroup flex align-start justify-center mt30">
-            <img src="../../../../resources/img/img87_43s.png" alt="">
-            <div class="inputGroup" >
-              the dog <input type="text" name="" id="">
+            <img src="../../../../resources/img/img87_43s.png" alt="" />
+            <div class="inputGroup">
+              <p>{{ beforeQuestion }}</p>
+              <p>__________</p>
+              <p>{{ afterQuestion }}</p>
             </div>
-             
           </div>
           <div class="pickGroup">
-            <article  class="flex justify-center" style="gap: 60px; bottom: 159px;
-    left: 242px;">
-                <div class="flex">
-                  <button><img src="../../../../resources/img/img136_71s.png" alt="">
-                    <p>1</p>
-                  </button>
-                  <p>a</p>
-                </div>
-              </article>
-            <article  class="flex justify-center" style="gap: 60px; bottom: 159px;
-    right: 559px;">
-                <div class="flex">
-                  <button><img src="../../../../resources/img/img136_71s.png" alt="">
-                    <p>2</p>
-                  </button>
-                  <p>a</p>
-                </div>
-              </article>
-            
+            <article
+              class="flex justify-center"
+              style="gap: 60px; bottom: 159px; left: 242px"
+            >
+              <div class="flex">
+                <button @click="handleClick(1)">
+                  <img src="../../../../resources/img/img136_71s.png" alt="" />
+                  <p>1</p>
+                </button>
+                <p>{{ choice[0] }}</p>
+              </div>
+            </article>
+            <article
+              class="flex justify-center"
+              style="gap: 60px; bottom: 159px; right: 559px"
+            >
+              <div class="flex">
+                <button @click="handleClick(2)">
+                  <img src="../../../../resources/img/img136_71s.png" alt="" />
+                  <p>2</p>
+                </button>
+                <p>{{ choice[1] }}</p>
+              </div>
+            </article>
           </div>
         </div>
-        </div>
-        <div class="next-btn" @click="goToPage('Chapter2_13')"><img src="../../../../resources/img/right.png" alt=""></div>
+      </div>
+      <div class="next-btn" @click="goToPage('Chapter2_13')">
+        <img src="../../../../resources/img/right.png" alt="" />
       </div>
     </div>
-  </template>
-  
-  <script>
-  export default {
-    data() {
-      return {
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      beforeQuestion: "I",
+      afterQuestion: "very hungry.",
+
+      choice: ["am", "is"],
+      answer: 1,
+    };
+  },
+  methods: {
+    goToPage(page) {
+      this.$router.push({ name: page });
+    },
+    handleClick(buttonNumber) {
+      if (buttonNumber === this.answer) {
+        alert("정답입니다!");
+      } else {
+        alert("오답입니다!");
       }
     },
-    methods: {
-      goToPage(page) {
-        this.$router.push({ name: page });
-      }
-    },
-    watch: {
-  
-    },
-    computed: {
-  
-    },
-    components: {
-    },
-    mounted() {
-      
-    }
-  }
-  </script>
-  <style scoped>
-  .imgGroup{    margin-left: 183px;
-    width: auto;}
-  .pickGroup button {
+  },
+  watch: {},
+  computed: {},
+  components: {},
+  mounted() {},
+};
+</script>
+<style scoped>
+.imgGroup {
+  margin-left: 183px;
+  width: auto;
+}
+.pickGroup button {
   position: relative;
   margin-right: 30px;
 }
@@ -95,9 +116,24 @@
   left: 50%;
   transform: translate(-50%, -50%);
 }
-.pickGroup article{position: absolute;}
-.pickGroup article img{object-fit: contain; width: -webkit-fill-available;}
-.pickGroup article >div >p {
+.pickGroup article {
+  position: absolute;
+}
+.pickGroup article img {
+  object-fit: contain;
+  width: -webkit-fill-available;
+}
+.pickGroup article > div > p {
   font-size: 64px;
 }
-</style>
(No newline at end of file)
+
+.inputGroup {
+  display: flex;
+  align-items: center;
+  gap: 30px;
+}
+
+.inputGroup p {
+  font-size: 28px;
+}
+</style>
client/views/pages/main/Chapter/Chapter2_5.vue
--- client/views/pages/main/Chapter/Chapter2_5.vue
+++ client/views/pages/main/Chapter/Chapter2_5.vue
@@ -1,111 +1,210 @@
 <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 id="Chapter1_1" class="content-wrap">
+    <div style="margin: 30px 0px 50px">
+      <router-link router-link to="/MyPlan.page">
+        <div class="logo mb25">
+          <img src="../../../../resources/img/logo2.png" alt="" />
+        </div>
+      </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_7')">
+        <img src="../../../../resources/img/left.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('Chapter2_7')"><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="content title-box">
+        <p class="title mt25 title-bg">step3 - 놀면서 배우는 영어</p>
+        <div class="flex align-center mb30">
           <p class="subtitle2 mr20">아래 지문을 보고 빈칸을 채워주세요.</p>
           <!-- <button><img src="../../../../resources/img/btn10_s.png" alt="">
-          </button> -->
+              </button> -->
         </div>
-  
-          <div class="text-ct">
-            <p class="title1 mb40" style="color: #464749;">the sun rises in the</p>
-            <img src="../../../../resources/img/img65_37s.png" alt="">
+
+        <div class="text-ct">
+          <!-- <p class="title1 mb40" style="color: #464749;">The sun rises in the east and sets in the west. It is very hot during summer.</p>
+              <img src="../../../../resources/img/img65_37s.png" alt=""> -->
+
+          <img class="exampleImg" :src="imgSrc" alt="example img" />
+
+          <!-- 정답 칸 -->
           <div class="dropGroup flex align-center justify-center mt30">
-            <span class="mr30">the sunrise the</span>
-            <div class="flex" style="gap: 20px;">
-              <button @click="showButton(1)"><img src="../../../../resources/img/img64_37s.png" alt=""><p v-if="showButton1">A</p></button>
-              <button @click="showButton(2)" > <img src="../../../../resources/img/img64_37s.png" alt=""><p v-if="showButton2">A</p></button>
-              <button @click="showButton(3)" ><img src="../../../../resources/img/img64_37s.png" alt=""><p v-if="showButton3">A</p></button>
-              <button @click="showButton(4)" ><img src="../../../../resources/img/img64_37s.png" alt=""><p v-if="showButton4">A</p></button>
+            <span class="mr30">{{ beforeQuestion }}</span>
+
+            <!-- 드롭 가능한 영역 -->
+            <div class="dropContainer" id="targetContainer">
+              <div
+                v-for="(slot, index) in answerLength"
+                :key="index"
+                class="dropSlot"
+                @dragover.prevent
+                @drop="onDrop($event, index)"
+              >
+                <div
+                  class="dropSlot-inner"
+                  draggable="true"
+                  @dragstart="onDragStart($event, userAnswer[index], index)"
+                >
+                  <img
+                    src="../../../../resources/img/img64_37s.png"
+                    alt="answer slot"
+                  />
+                  <div v-if="userAnswer[index]" class="dropped-char">
+                    {{ userAnswer[index].toUpperCase() }}
+                  </div>
+                </div>
+              </div>
             </div>
-             
+
+            <span class="mr30">{{ afterQuestion }}</span>
           </div>
-          <div class="dragGroup mt40">
-            <div class="flex justify-center" style="gap: 20px;">
-              <button><img src="../../../../resources/img/img63_37s.png" alt=""><p @click="handleDrag(1)">A</p></button>
-              <button><img src="../../../../resources/img/img63_37s_1.png" alt=""><p @click="handleDrag(1)">A</p></button>
-              <button><img src="../../../../resources/img/img63_37s.png" alt=""><p @click="handleDrag(1)">A</p></button>
-              <button><img src="../../../../resources/img/img63_37s_2.png" alt=""><p @click="handleDrag(1)">A</p></button>
-              <button><img src="../../../../resources/img/img63_37s_1.png" alt=""><p @click="handleDrag(1)">A</p></button>
-              <button><img src="../../../../resources/img/img63_37s_2.png" alt=""><p @click="handleDrag(1)">A</p></button>
-            </div>
-            
+
+          <!-- 드래그 가능한 버튼 -->
+          <div class="dragGroup mt40" id="sourceContainer">
+            <button
+              v-for="(char, index) in choiceCharacters"
+              :key="index"
+              draggable="true"
+              @dragstart="onDragStart($event, char)"
+            >
+              <img
+                src="../../../../resources/img/img63_37s_2.png"
+                alt="drag letter"
+              />
+              <p>{{ char.toUpperCase() }}</p>
+            </button>
           </div>
         </div>
-        </div>
-        <div class="next-btn" @click="goToPage('Chapter2_6')"><img src="../../../../resources/img/right.png" alt=""></div>
+      </div>
+      <div class="next-btn" @click="goToPage('Chapter2_6')">
+        <img src="../../../../resources/img/right.png" alt="" />
       </div>
     </div>
-  </template>
-  
-  <script>
-  export default {
-    data() {
-      return {
-        showButton1: false,
-      showButton2: false,
-      showButton3: false,
-      showButton4: false,
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      imgSrc: "client/resources/img/jumpingRabbit.gif",
+      example: "a rabbit is/?/a guitar",
+      beforeQuestion: "",
+      afterQuestion: "",
+      choice: "ygnpali",
+      answer: "playing",
+      answerLength: 0, // 초기화 시 0으로 설정
+
+      userAnswer: [], // 초기화 시 빈 배열로 설정
+      draggedChar: null, // 드래그한 문자를 임시로 저장
+    };
+  },
+  computed: {
+    choiceCharacters() {
+      return this.choice.split("");
+    },
+  },
+  methods: {
+    goToPage(page) {
+      this.$router.push({ name: page });
+    },
+    splitExample() {
+      const parts = this.example.split("/?/");
+      if (parts.length === 2) {
+        this.beforeQuestion = parts[0];
+        this.afterQuestion = parts[1];
       }
     },
-    methods: {
-      goToPage(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;
+    // 드래그 시작 시 호출
+    onDragStart(event, char) {
+      this.draggedChar = char;
+    },
+    // 드롭 시 호출
+    onDrop(event, index) {
+      if (this.userAnswer[index] === "") {
+        this.userAnswer.splice(index, 1, this.draggedChar); // Vue 3에서는 $set 대신 splice 사용
+        const charIndex = this.choiceCharacters.indexOf(this.draggedChar);
+        if (charIndex > -1) {
+          this.choiceCharacters.splice(charIndex, 1); // 드래그한 문자를 choice에서 제거
+        }
+        this.draggedChar = null;
+        this.checkAnswer(); // 드롭 후 정답을 확인
       }
     },
-    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;
+    checkAnswer() {
+      // userAnswer 배열이 모두 채워졌는지 확인
+      if (!this.userAnswer.includes("")) {
+        if (this.userAnswer.join("") === this.answer) {
+          alert("정답입니다!");
+        } else {
+          alert("틀렸습니다. 다시 시도해보세요.");
+        }
       }
     },
+    initializeUserAnswer() {
+      this.answerLength = this.answer.length; // answer의 길이를 answerLength에 설정
+      this.userAnswer = Array(this.answerLength).fill(""); // answerLength만큼 빈 배열 생성
     },
-    watch: {
-  
-    },
-    computed: {
-  
-    },
-    components: {
-    },
-    mounted() {
-      
-    }
-  }
-  </script>
-  <style scoped>
-  .dropGroup button{position: relative;}
-  .dropGroup button p{ font-size: 48px;}
-.dragGroup button p{
+  },
+  mounted() {
+    this.splitExample();
+    this.initializeUserAnswer(); // 컴포넌트가 마운트될 때 userAnswer 초기화
+  },
+};
+</script>
+<style scoped>
+.dropContainer {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  gap: 10px;
+}
+.dropGroup button {
+  position: relative;
+}
+.dropGroup button p {
   font-size: 48px;
-  }
-</style>
(No newline at end of file)
+}
+.dragGroup button p {
+  font-size: 48px;
+}
+.dropGroup span {
+  margin: 0px 10px;
+}
+.dropSlot {
+  position: relative;
+  width: 64px;
+  height: 64px;
+}
+.dropSlot-inner {
+  position: relative;
+  width: 100%;
+  height: 100%;
+}
+.dropped-char {
+  font-family: "ONEMobilePOPOTF";
+  position: absolute;
+  top: 55%;
+  left: 55%;
+  transform: translate(-50%, -50%);
+  font-size: 48px;
+  font-weight: bold;
+  color: black;
+  pointer-events: none;
+}
+.dragGroup button p {
+  font-size: 48px;
+}
+.exampleImg {
+  width: 15%;
+}
+#sourceContainer {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  gap: 20px;
+}
+</style>
Add a comment
List