<!-- TODO: border overlaps close button in dark mode -->
<template lang="html">
  <header>
    <div>
      <h5 class="mb-0 text-wrap">{{ title }}</h5>
      <small class="d-block text-muted">{{ subtitle }}</small>
    </div>

    <div class="actions">
      <slot />

      <b-button
        :variant="nightMode ? 'dark' : 'light'"
        size="sm"
        class="ml-auto"
        @click="$emit('close')"
      >
        <i class="fas fa-times fa-fw" aria-hidden></i>
      </b-button>
    </div>
  </header>
</template>

<script>
import { mapGetters } from 'vuex';

export default {
  props: {
    title: String,
    subtitle: String,
  },

  computed: {
    ...mapGetters(['nightMode']),
  },
};
</script>

<style lang="scss" rel="stylesheet/scss" scoped>
header {
  display: grid;
  width: 100%;
  align-items: center;
  grid-template-columns: auto auto;
}

h5 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.actions {
  margin-left: auto;
  align-self: flex-start;
}
</style>
