<template> <header> <div> <b-container> <b-row class="header-branding"> <b-col md="10"> <span class="header-title"><router-link to="home"><span class="d-none d-sm-inline">AURA/</span><b>dashboard</b></router-link></span> </b-col> <b-col md="2" class="d-none d-sm-none d-md-block" align="right" > <router-link to="home"> <img class="header-logo" src="/assets/aura-dashboard-200-nobackground.png" > </router-link> </b-col> </b-row> </b-container> </div> <div> <b-container> <b-navbar toggleable="lg" type="dark" variant="dark" > <span class="d-none d-sm-inline d-lg-none menu-context-info">For more options tap the menu button on the right:</span> <span class="d-sm-none menu-context-info">Hit menu button for more:</span> <b-navbar-toggle target="nav_collapse" /> <b-collapse id="nav_collapse" is-nav > <b-navbar-nav> <b-nav-item v-for="mod in modules" :key="mod.slug" :active="mod.slug === $route.name" :to="'/' + mod.slug" > {{ mod.title }} </b-nav-item> </b-navbar-nav> <b-navbar-nav class="ml-auto"> <b-nav-item-dropdown text="EN" right > <b-dropdown-item href="#"> EN </b-dropdown-item> <b-dropdown-item href="#"> DE </b-dropdown-item> </b-nav-item-dropdown> <b-nav-item-dropdown v-if="user.logged_in" right > <!-- Using button-content slot --> <template slot="button-content"> <em>{{ user.name }}</em> </template> <b-dropdown-item to="settings"> Settings </b-dropdown-item> <b-dropdown-item href="#"> Profile </b-dropdown-item> <b-dropdown-item @click="$parent.signOut"> Signout </b-dropdown-item> </b-nav-item-dropdown> <b-nav-item v-if="! user.logged_in" to="home" > <img src="/assets/16x16/system-users.png" alt="log-in symbol" title="Log in" > </b-nav-item> <div class="help-image-container"> <b-nav-item> <router-link to="help"> <img class="help-image" src="/assets/help-browser-32x32.png" alt="Help symbol" title="Go to help pages" > </router-link> </b-nav-item> </div> </b-navbar-nav> </b-collapse> </b-navbar> </b-container> </div> </header> </template> <script> export default { props: { modules: { type: Array, required: true }, user: { type: Object, required: true } } } </script> <style scoped> header > div:first-child { background: #343a40; /* for browsers that don't support gradients */ background: linear-gradient(#000, #343a40); /* dashboard black to bootstrap dark navbar */ padding-bottom: 1em; } header > div:nth-child(2) { background-color: #343a40; margin-bottom: 2em; } .header-branding { height: 75px; line-height: 75px; } .header-title { font-size: 3em; vertical-align: middle; } .header-title a { text-decoration: none; color: #c09; text-shadow: #fff 0 0 2px; } .header-logo { width: 75px; height: 75px; margin-top: 10px; } .help-image { width: 24px; height: 24px; padding: 0; margin: 0; } .menu-context-info { color: rgba(255, 255, 255, 0.5); } </style>