<template>
  <el-dropdown class="lang-switch" placement="top" @command="handleCommand">
    <span class="lang-label">{{ langObj.label }}</span>
    <el-dropdown-menu slot="dropdown">
      <el-dropdown-item v-for="langItem in langList" :key="langItem.key" :command="langItem.key">
        {{ langItem.label }}
      </el-dropdown-item>
    </el-dropdown-menu>
  </el-dropdown>
</template>

<script>
import { langList } from '@/lang'

export default {
  data() {
    return {
      langList
    }
  },
  computed: {
    lang: {
      get() {
        return this.$store.state.app.lang
      },
      set(value) {
        this.$store.commit('app/SET_LANG', value)
      }
    },
    langObj() {
      return this.langList.find(item => item.key === this.lang)
    }
  },
  methods: {
    handleCommand(command) {
      this.lang = command
    }
  }
}
</script>

<style lang="scss" scoped>
.lang-switch {
  position: fixed;
  bottom: 100px;
  right: 25px;
  z-index: 99;
  .lang-label {
    display: inline-block;
    text-align: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
    line-height: 50px;
    color: #205cd8;
  }
}
</style>