<template>
  <section>
    <nav class="buttons is-centered fd-is-square" style="margin-bottom: 16px">
      <a
        v-for="char in filtered_index"
        :key="char"
        class="button is-small"
        @click="nav(char)"
        >{{ char }}</a
      >
    </nav>
  </section>
</template>

<script>
export default {
  name: 'IndexButtonList',

  props: ['index'],

  computed: {
    filtered_index() {
      if (!this.index) {
        return []
      }
      const specialChars = '!"#$%&\'()*+,-./:;<=>?@[\\]^`{|}~'
      return this.index.filter((c) => !specialChars.includes(c))
    }
  },

  methods: {
    nav: function (id) {
      this.$router.push({ hash: '#index_' + id })
    },

    scroll_to_top: function () {
      window.scrollTo({ top: 0, behavior: 'smooth' })
    }
  }
}
</script>

<style></style>