budibase/packages/standard-components/src/Navigation.svelte

73 lines
1.3 KiB
Svelte
Raw Normal View History

2020-04-23 14:32:36 +02:00
<script>
import { authStore, link } from "@budibase/component-sdk"
2020-04-23 14:32:36 +02:00
export let logoUrl
2020-10-14 18:06:02 +02:00
export let title
2020-04-23 14:32:36 +02:00
2020-10-14 21:12:41 +02:00
const logOut = () => {
2020-11-12 13:27:53 +01:00
authStore.actions.logOut()
location.reload()
2020-10-14 21:12:41 +02:00
}
2020-04-23 14:32:36 +02:00
</script>
2020-10-14 18:06:02 +02:00
<div class="nav">
<div class="nav__top">
<a href="/" use:link>
2020-10-14 18:06:02 +02:00
{#if logoUrl}
<img class="logo" alt="logo" src={logoUrl} height="48" />
{/if}
2020-10-14 21:12:41 +02:00
{#if title}<span>{title}</span>{/if}
2020-10-14 18:06:02 +02:00
</a>
<div class="nav__controls">
2020-10-14 21:12:41 +02:00
<div on:click={logOut}>Log out</div>
2020-10-14 18:06:02 +02:00
</div>
</div>
<div class="nav__menu">
<slot />
</div>
2020-10-14 18:06:02 +02:00
</div>
2020-04-23 14:32:36 +02:00
<style>
2020-10-14 18:06:02 +02:00
.nav {
2020-04-23 14:32:36 +02:00
display: flex;
2020-10-14 18:06:02 +02:00
flex-direction: column;
justify-content: flex-start;
align-items: stretch;
2020-04-23 14:32:36 +02:00
}
2020-10-14 18:06:02 +02:00
.nav__top {
2020-04-23 14:32:36 +02:00
display: flex;
2020-10-14 18:06:02 +02:00
flex-direction: row;
justify-content: space-between;
2020-04-23 14:32:36 +02:00
align-items: center;
}
2020-10-14 18:06:02 +02:00
.nav__top img {
margin-right: 16px;
2020-04-23 14:32:36 +02:00
}
2020-10-14 18:06:02 +02:00
.nav__controls {
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
gap: 16px;
}
.nav__controls > div:hover {
cursor: pointer;
color: #4285f4;
}
.nav__menu {
2020-04-23 14:32:36 +02:00
display: flex;
2020-10-14 18:06:02 +02:00
margin-top: 40px;
gap: 16px;
flex-direction: row;
justify-content: flex-start;
align-items: center;
2020-04-23 14:32:36 +02:00
}
2020-10-14 18:06:02 +02:00
.nav__menu > a {
font-size: 1.5em;
text-decoration: none;
2020-04-23 14:32:36 +02:00
}
</style>