bcgov/nr-get-token

View on GitHub
app/frontend/src/views/Application.vue

Summary

Maintainability
Test Coverage
B
83%
<template>
  <v-container>
    <BaseSecure>
      <div class="app-breadcrumb">
        <span>
          <router-link :to="{ name: 'MyApps' }">My Applications</router-link>
        </span>
        <span>></span>
        <span>{{acronym}}</span>
      </div>
      <v-tabs vertical class="mt-10 getok-tabs">
        <v-tab>API Access</v-tab>
        <v-tab>Team</v-tab>
        <v-tab>History</v-tab>

        <v-tab-item>
          <h2>{{acronym}}</h2>
          <ApiAccess :acronym="acronym" />
        </v-tab-item>

        <v-tab-item>
          <h2>{{acronym}}</h2>
          <Team :acronym="acronym" />
        </v-tab-item>

        <v-tab-item>
          <h2>{{acronym}}</h2>
          <History :acronym="acronym" />
        </v-tab-item>
      </v-tabs>
    </BaseSecure>
  </v-container>
</template>

<script>
import ApiAccess from '@/components/apiAccess/ApiAccess.vue';
import History from '@/components/History.vue';
import Team from '@/components/Team.vue';
import apiAccess from '@/store/modules/apiAccess';

export default {
  name: 'Application',
  components: {
    ApiAccess,
    History,
    Team
  },
  props: ['acronym'],
  beforeDestroy() {
    this.$store.unregisterModule('apiAccess');
  },
  created() {
    this.$store.registerModule('apiAccess', apiAccess);
  }
};
</script>

<style lang="scss">
/* Breadcrumb */
.app-breadcrumb {
  margin-top: 0.5em;
  span {
    padding-right: 1em;
  }
}

/* Tab (TODO: if this is used elsewhere in the program, make this style global) */
.getok-tabs {
  .v-tabs-bar {
    @media (min-width: 960px) {
      margin-right: 8em;
    }
    @media (max-width: 959px) {
      margin-right: 2em;
    }
  }
  .v-tab {
    padding: 2em 7em 2em 2em;
    font-weight: bold;
    justify-content: left;
    &:not(.v-tab--active) {
      background-color: #f2f2f2;
      color: #1a5a96 !important;
      &:hover {
        background-color: #dae8f4;
      }
    }
  }
  .v-tab--active {
    background-color: #1a5a96;
    color: white;
    &:hover {
      background-color: #dae8f4;
      color: #1a5a96;
    }
  }
  .v-tabs-slider {
    display: none;
  }
}
</style>