blob: 0a66fa8a6dd7c09f813f30db27f4912eff4a2473 (
plain) (
tree)
|
|
<template>
<div id="navbar">
<nav class="navbar is-fixed-top is-transparent">
<div class="navbar-brand">
<div class="navbar-item">
<img src="@/assets/logo.png" />
<div class="navbar-item">
<span>
The Glassy Ladies
</span>
</div>
</div>
<a class="navbar-burger burger" v-on:click="toggleNavMenu">
<span></span>
<span></span>
<span></span>
</a>
</div>
<div :class="navMenu">
<div class="navbar-start">
<router-link to="/" class="navbar-item">
Home
</router-link>
<router-link to="/about" class="navbar-item">
About
</router-link>
<router-link to="/admin" class="navbar-item">
Admin
</router-link>
</div>
<transition
mode="out-in"
enter-active-class="animate__animated animate__flipInX"
leave-active-class="animate__animated animate__flipOutX"
>
<div
class="navbar-end"
v-if="routeName == 'Administration'"
key="newProduct"
>
<div class="navbar-item">
<NewProduct></NewProduct>
</div>
</div>
<div class="navbar-end" v-else key="cartCheckout">
<div
class="navbar-item has-dropdown is-active"
v-for="category in categories.keys()"
:key="category"
>
<div class="navbar-link">
{{ category }}
</div>
<div
class="navbar-dropdown"
v-for="subcategory in categories.get(category)"
:key="subcategory"
>
{{ subcategory }}
</div>
</div>
<div class="navbar-item">
<CartCheckout></CartCheckout>
</div>
</div>
</transition>
</div>
</nav>
</div>
</template>
<script>
import CartCheckout from "@/components/CartCheckout.vue";
import NewProduct from "@/components/admin/NewProduct.vue";
export default {
name: "Navbar",
components: {
CartCheckout,
NewProduct
},
data() {
return {
isMenuActive: false
};
},
computed: {
navMenu() {
if (this.isMenuActive) {
return "navbar-menu is-active";
} else {
return "navbar-menu";
}
},
categories() {
const products = this.$store.getters.products;
console.log(products.map(item => item.categories));
return [];
},
routeName() {
return this.$route.name;
}
},
methods: {
toggleNavMenu() {
this.isMenuActive = !this.isMenuActive;
}
}
};
</script>
|