[frontend]: Базовый логин

This commit is contained in:
2022-09-11 15:41:14 +03:00
parent f922daaa80
commit 818bb9db81
14 changed files with 470 additions and 79 deletions

View File

@@ -1,11 +1,69 @@
<template>
<div id="app" class="app">
<NavigationBar />
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="/">WhereToGo</a>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<div v-if="!currentUser" class="navbar-nav ml-auto">
<li class="nav-item">
<router-link to="/register" class="nav-link">
Sign Up
</router-link>
</li>
<li class="nav-item">
<router-link to="/login" class="nav-link">
Login
</router-link>
</li>
</div>
<div v-if="currentUser" class="navbar-nav ml-auto">
<li class="nav-item">
<router-link to="/profile" class="nav-link">
{{ currentUser.username }}
</router-link>
</li>
<li class="nav-item">
<a class="nav-link" @click.prevent="logOut">
LogOut
</a>
</li>
</div>
</ul>
</div>
</div>
</nav>
<div class="container">
<router-view />
</div>
</div>
</template>
<script>
export default {
name: "App",
computed: {
currentUser() {
return this.$store.state.auth.user;
},
showAdminBoard() {
if (this.currentUser && this.currentUser["roles"]) {
return this.currentUser["roles"].includes("ROLE_ADMIN");
}
return false;
},
showModeratorBoard() {
if (this.currentUser && this.currentUser["roles"]) {
return this.currentUser["roles"].includes("ROLE_MODERATOR");
}
return false;
},
},
methods: {
logOut() {
this.$store.dispatch("auth/logout");
this.$router.push("/login");
},
},
};
</script>