<template>
  <div class="tabs-wrapper">
    <div class="tab" :class="{ active: tabIdx === index }" @click="handleTab(index)" v-for="(item, index) of list" :key="item.name">
      <img :src="tabIdx === index ? item.iconActive : item.icon" alt="" />
      {{ item.name }}
    </div>
  </div>
</template>

<script setup>
import { ref } from 'vue'

defineProps({
  list: {
    type: Array,
    default: () => []
  }
})
const emits = defineEmits(['click'])

const tabIdx = ref(0)
function handleTab(index) {
  tabIdx.value = index
  emits('click', index)
}
</script>

<style lang="scss" scoped>
.tabs-wrapper {
  display: flex;
  width: 100%;
  height: 64px;
  background: var(--search-tabsBg, rgba(0, 0, 0, 0.05));
  border-radius: var(--global-radius, 12px);
  overflow: hidden;

  .tab {
    height: 100%;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--search-tabColor, rgba(0, 0, 0, 0.6));
    border-radius: var(--global-radius, 12px);
    &.active {
      background: var(--search-tabActiveBg, #ffffff);
      color: var(--search-tabActiveColor, rgba(0, 0, 0, 0.8));
    }
  }

  img {
    width: 24px;
    height: 24px;
    margin-right: 12px;
  }
}
</style>
