<script setup>
import CreateSecret from "./components/CreateSecret.vue";
import HomePage from "./components/HomePage.vue";
import ListSecrets from "./components/ListSecrets.vue";
</script>

<template>
  <div>
    <el-page-header :icon="null">
      <template #icon> <span v-show="false">Wohoot</span></template>
      <template #content>
        <div class="flex items-center">
          <span class="text-large font-600 mr-3"> FastAuth </span>
        </div>
      </template>
      <template #extra>
        <div class="flex items-center" v-if="loggedin">
          <el-button type="primary" class="ml-2" @click="creationDialog = true">
            Create
          </el-button>
          <el-button type="warning" class="ml-2" @click="logout">Logout</el-button>
        </div>
      </template>
    </el-page-header>

    <el-dialog v-model="creationDialog" title="Add a new TOTP secret" width="80vw">
      <CreateSecret @close="creationDialog = false" />
    </el-dialog>

    <div class="container">
      <HomePage msg="You did it!" @loggedin="loggedin = true" v-if="!loggedin" />
      <el-button @click="showSecrets = true" v-if="loggedin"> Show secrets </el-button>
      <el-button @click="showSecrets = false" v-if="showSecrets && loggedin">
        Hide secrets
      </el-button>
      <ListSecrets :key="listUpdated" v-if="showSecrets && loggedin" />
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      loggedin: false,
      showSecrets: false,
      creationDialog: false,
      listUpdated: 1,
    };
  },
  methods: {
    logout() {
      localStorage.removeItem("token");
      this.loggedin = false;
    },

    secretSaved() {
      this.creationDialog = false;
      console.log("before update", this.listUpdated);
      this.listUpdated += 1;
      console.log("after update", this.listUpdated);
    },
  },
};
</script>

<style>
.header {
  position: absolute;
  width: 100vw;
  height: 3rem;
  padding: 0.3rem;
  left: 0;
  top: 0;
  background-color: aquamarine;
}

.container {
  margin-top: 2rem;
}

.logoutBtn {
  /* position: relative; */
  margin-right: 0;
  margin-left: auto;
}
.el-page-header__back {
  display: none !important;
}
</style>
