<template>
  <div>
    <q-page
      padding
      class="fit row justify-center content-center items-center"
      v-if="checkMain"
    >
      <q-card
        class="col-4"
        height=""
      >
        <q-card-section>
          Name: {{ userSession.user.firstname }} {{ userSession.user.lastname }}<br />
          E-Mail: {{ userSession.user.mail }}<br />
          Roles:
          <ul
            v-for="role in userSession.user.roles"
            v-bind:key="role"
          >
            <li>{{ role }}</li>
          </ul>
          <br />
          Token expires: {{ userSession.expires }}
        </q-card-section>
      </q-card>
    </q-page>
    <router-view />
  </div>
</template>

<script lang="ts">
import { defineComponent, computed } from '@vue/composition-api';
import { UserStateInterface } from '../store/user';
import { mainLink } from '../plugin';

export default defineComponent({
  // name: 'PageName'
  setup(_, { root }) {
    const userPermissions = computed(
      () => <UserStateInterface>root.$store.getters['user/permissions']
    );
    const userSession = computed(
      () => <UserStateInterface>root.$store.getters['user/session']
    );
    const checkMain = computed(() => {
      return mainLink.name == root.$route.name;
    });
    return { userPermissions, userSession, checkMain };
  }
});
</script>
