pinafore/routes/_components/Nav.html

87 lines
2.5 KiB
HTML
Raw Normal View History

<nav class="main-nav">
2018-03-27 18:34:29 +02:00
<ul class="main-nav-ul">
<li class="main-nav-li" on:click="onClick(event, '/')">
2018-01-13 08:24:05 +01:00
<NavItem :page name="home" href="/" svg="#pinafore-logo" label="Home" />
2018-01-07 05:44:47 +01:00
</li>
<li class="main-nav-li" on:click="onClick(event, '/notifications')">
2018-01-13 08:24:05 +01:00
<NavItem :page name="notifications" href="/notifications" svg="#fa-bell" label="Notifications" />
2018-01-07 05:44:47 +01:00
</li>
{{#if $pinnedPage === '/local'}}
<li class="main-nav-li" on:click="onClick(event, '/local')">
<NavItem :page name="local" href="/local" svg="#fa-users" label="Local" />
</li>
{{elseif $pinnedPage === '/federated'}}
<li class="main-nav-li" on:click="onClick(event, '/federated')">
<NavItem :page name="federated" href="/federated" svg="#fa-globe" label="Federated" />
</li>
{{elseif $pinnedPage === '/favorites'}}
<li class="main-nav-li" on:click="onClick(event, '/favorites')">
<NavItem :page name="favorites" href="/favorites" svg="#fa-star" label="Favorites" />
</li>
2018-02-08 18:15:25 +01:00
{{elseif $pinnedPage.startsWith('/lists/')}}
<li class="main-nav-li" on:click="onClick(event, '/lists')">
2018-02-08 18:15:25 +01:00
<NavItem :page name="lists" href="{{$pinnedPage}}" svg="#fa-bars" label="{{$pinnedListTitle}}" />
</li>
{{/if}}
2018-03-27 18:34:29 +02:00
<li class="main-nav-li">
<NavItem :page name="community" href="/community" svg="#fa-comments" label="Community" />
</li>
2018-03-27 18:34:29 +02:00
<li class="main-nav-li">
2018-02-08 17:22:54 +01:00
<NavItem :page name="search" href="/search" svg="#fa-search" label="Search" />
</li>
2018-03-27 18:34:29 +02:00
<li class="main-nav-li">
2018-01-27 21:55:09 +01:00
<NavItem :page name="settings" href="/settings" svg="#fa-gear" label="Settings" />
2018-01-07 22:38:12 +01:00
</li>
2018-01-07 00:51:25 +01:00
</ul>
</nav>
<style>
.main-nav {
2018-01-12 18:01:46 +01:00
border-bottom: 1px solid var(--nav-border);
background: var(--nav-bg);
2018-01-11 07:17:15 +01:00
position: fixed;
left: 0;
right: 0;
top: 0;
z-index: 10;
2018-01-07 00:51:25 +01:00
}
2018-03-27 18:34:29 +02:00
.main-nav-ul {
2018-01-07 00:51:25 +01:00
margin: 0;
padding: 0;
2018-01-07 06:05:49 +01:00
list-style: none;
display: flex;
2018-03-27 18:34:29 +02:00
align-items: stretch;
2018-01-07 00:51:25 +01:00
}
2018-03-27 18:34:29 +02:00
.main-nav-li {
display: flex;
}
2018-02-09 03:01:00 +01:00
@media (max-width: 991px) {
2018-03-27 18:34:29 +02:00
.main-nav-li {
2018-01-29 00:53:49 +01:00
flex: 1;
2018-01-07 06:05:49 +01:00
}
2018-01-29 00:53:49 +01:00
}
2018-01-07 05:44:47 +01:00
2018-01-13 08:24:05 +01:00
</style>
<script>
import NavItem from './NavItem'
import { store } from '../_store/store'
import { scrollTop } from '../_actions/scroll'
2018-01-13 08:24:05 +01:00
export default {
store: () => store,
2018-01-13 08:24:05 +01:00
components: {
NavItem
},
methods: {
onClick(event, path) {
if (window.location.pathname === path || (window.location.pathname.startsWith(path) && window.location.pathname === '/')) {
scrollTop(document.querySelector('.container'))
event.preventDefault()
}
}
2018-01-13 08:24:05 +01:00
}
}
</script>