<script setup>
import { ref, onMounted } from "vue";
const props = defineProps({
  type: {
    type: Number,
    default: 0,
  },
  bgColor: {
    type: String,
    default: "#050b19",
  },
});
const capsuleHeight = ref(0);
onMounted(() => {
  const menuBtnInfo = uni.getMenuButtonBoundingClientRect();
  capsuleHeight.value = menuBtnInfo.top + 50 - 9;
});
</script>

<template>
  <view class="background" :style="{ backgroundColor: bgColor }">
    <image
      class="bg-image"
      v-if="type === 0"
      src="../static/app-bg.png"
      mode="widthFix"
    />
    <image
      class="bg-image"
      v-if="type === 1"
      src="../static/app-bg2.png"
      mode="widthFix"
    />
    <image
      class="bg-image"
      v-if="type === 2"
      src="../static/app-bg3.png"
      :style="{ height: capsuleHeight + 'px' }"
    />
    <image
      class="bg-image"
      v-if="type === 3"
      src="../static/app-bg4.png"
      mode="widthFix"
    />
    <image
      class="bg-image"
      v-if="type === 4"
      src="../static/app-bg5.png"
      mode="widthFix"
    />
    <view class="bg-overlay" v-if="type === 0"></view>
  </view>
</template>

<style scoped>
.background {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}

.bg-image {
  width: 100%;
  height: 100%;
}

.bg-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: linear-gradient(
    to bottom,
    rgba(26, 26, 26, 0.2),
    rgba(0, 0, 0, 0.2)
  );
}
</style>
