wm-fontis-tibi-2023/frontend/src/lib/components/Menu/Menu.svelte

143 lines
5.1 KiB
Svelte
Raw Normal View History

2023-07-13 18:43:19 +02:00
<script lang="ts">
2023-07-15 18:15:17 +02:00
import { navigate } from "svelte-routing/src/history"
import { navigation, pages } from "../../store"
2023-07-13 18:43:19 +02:00
import Header from "./Header.svelte"
2023-07-15 18:15:17 +02:00
$: console.log($navigation, "nav")
2023-07-13 18:43:19 +02:00
export let active = false
</script>
<div class="menu" class:active="{active}">
<div class="menu-container">
<Header bind:active="{active}" opened="{true}" />
<div class="menu-content">
2023-07-15 18:15:17 +02:00
{#if $navigation}
<div class="container">
<div class="inner-container">
<div class="pages">
{#each $navigation.pages as page}
<button
class="page"
on:click="{() => {
active = false
navigate(Object.values($pages)?.find((o) => o.id == page.page)?.path || '/')
}}"
>
{page.name}
</button>
{/each}
2023-07-13 22:45:49 +02:00
</div>
2023-07-15 18:15:17 +02:00
<div class="footer-infos">
<div class="upper">
<button>Datenschutz</button>
<button>Impressum</button>
</div>
<div class="lower">
<button>0711 644 700-0</button>
<button>info@fontis.de</button>
</div>
2023-07-13 22:45:49 +02:00
</div>
</div>
2023-07-13 18:43:19 +02:00
</div>
2023-07-15 18:15:17 +02:00
{/if}
2023-07-13 18:43:19 +02:00
</div>
</div>
</div>
<style lang="less">
@import "../../assets/css/main.less";
.menu {
2023-07-14 21:32:33 +02:00
position: fixed;
2023-07-13 18:43:19 +02:00
background-color: @bg-color;
z-index: 1000;
top: 110vh;
left: 0px;
right: 0px;
height: 100vh;
&.active {
top: 0px;
}
.menu-container {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
.menu-content {
background-color: @bg-color-secondary;
color: @font-color-secondary;
width: 100%;
display: flex;
justify-content: center;
flex-grow: 1;
.container {
display: flex;
flex-direction: column;
2023-07-13 22:45:49 +02:00
justify-content: flex-end;
2023-07-13 18:43:19 +02:00
align-items: flex-end;
width: 80%;
margin: 10vw 0px;
2023-07-13 22:45:49 +02:00
.inner-container {
2023-07-13 18:43:19 +02:00
width: 100%;
display: flex;
2023-07-13 22:45:49 +02:00
2023-07-13 18:43:19 +02:00
.footer-infos {
2023-07-13 22:45:49 +02:00
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
.upper {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 15px;
}
.lower {
display: flex;
flex-direction: column;
align-items: flex-end;
@media @desktop {
flex-direction: row;
justify-content: flex-end;
}
gap: 20px;
}
button {
font-size: 1.6rem;
color: @font-color-secondary;
}
@media @desktop {
.lower {
gap: 40px;
}
}
2023-07-13 18:43:19 +02:00
}
.pages {
2023-07-13 22:45:49 +02:00
width: 100%;
display: flex;
2023-07-13 18:43:19 +02:00
align-items: flex-start;
2023-07-13 22:45:49 +02:00
flex-direction: column;
gap: 20px;
.page {
font-size: 1.6rem;
color: @font-color-secondary;
}
}
@media @tablet {
flex-direction: row;
.footer-infos {
width: 50%;
}
.pages {
align-items: flex-start;
width: 50%;
}
2023-07-13 18:43:19 +02:00
}
}
}
}
}
}
</style>