aboutsummaryrefslogtreecommitdiff
path: root/src_frontend/layout/Drawer.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src_frontend/layout/Drawer.svelte')
-rw-r--r--src_frontend/layout/Drawer.svelte38
1 files changed, 38 insertions, 0 deletions
diff --git a/src_frontend/layout/Drawer.svelte b/src_frontend/layout/Drawer.svelte
new file mode 100644
index 0000000..abf41fd
--- /dev/null
+++ b/src_frontend/layout/Drawer.svelte
@@ -0,0 +1,38 @@
+<script>
+ import { location } from 'svelte-spa-router'
+ import { slide } from 'svelte/transition';
+
+ export let open = true;
+
+ location.subscribe((value) => {
+ open = true;
+ });
+
+ function drawerInit(node) {
+ node.addEventListener("click", () => {
+ if (!open) { open = true; }
+ });
+ }
+</script>
+
+<style>
+ .drawer {
+ background-color: white;
+ position: absolute;
+ padding: var(--theme-padding);
+ height: calc(100% - var(--theme-phone-header-height));
+ width: 100%;
+ box-sizing: border-box;
+ bottom: 0;
+ border-radius: 30px 30px 0 0;
+ transition: height 1s ease;
+ }
+ .closed {
+ height: 20%;
+ overflow: hidden;
+ }
+</style>
+
+<div class="drawer" class:closed={!open} use:drawerInit transition:slide>
+ <slot></slot>
+</div> \ No newline at end of file