<!-- Spinner.vue -->
<template>
    <div class="spinner-overlay" v-if="visible">
      <div class="spinner"></div>
    </div>
  </template>

  <script>
  export default {
    props: {
      visible: {
        type: Boolean,
        default: false
      }
    }
  };
  </script>

  <style scoped>
  .spinner-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
  }

  .spinner {
    border: 16px solid #f3f3f3;
    border-top: 16px solid #3498db;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
  }

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
  </style>
