diff --git a/src/components/SpareComponent.vue b/src/components/SpareComponent.vue
index 12dcf096b54753119a9442bf699ecaa17a3e7442..00dd061a191573c9bcfeb395f14b450e6bb414c6 100644
--- a/src/components/SpareComponent.vue
+++ b/src/components/SpareComponent.vue
@@ -41,12 +41,25 @@
 
 <script setup lang="ts">
 import InteractiveSpare from '@/components/InteractiveSpare.vue'
-import { defineProps, ref } from 'vue'
+import { defineProps, ref, watchEffect } from 'vue'
 import ModalComponent from "@/components/ModalComponent.vue";
 
 const isModalOpen = ref(false)
 
-defineProps(['speech', 'pngSize', 'direction', 'imageDirection'])
+const props = defineProps({
+    speech: Array,
+    pngSize: Number,
+    direction: String,
+    imageDirection: String,
+    show: {
+        type: Boolean,
+        default: true,
+        required: false
+    }
+})
 
+watchEffect(() => {
+    isModalOpen.value = props.show
+})
 
 </script>
\ No newline at end of file