1
0
Fork 0
mirror of synced 2024-09-18 10:20:11 +12:00
budibase/packages/builder/src/components/design/NavigationPanel/NavigationSelectionModal.svelte

94 lines
2 KiB
Svelte
Raw Normal View History

2021-11-09 22:33:34 +13:00
<script>
import { ModalContent, Body, Detail } from "@budibase/bbui"
2021-11-11 05:04:27 +13:00
export let selectedScreens
2021-11-17 23:24:14 +13:00
export let chooseModal
2021-11-23 22:01:12 +13:00
export let save
2021-11-09 22:33:34 +13:00
let selectedNav
2021-11-11 05:04:27 +13:00
let createdScreens = []
2021-11-17 01:18:13 +13:00
$: blankSelected = selectedScreens.length === 1
2021-11-09 22:33:34 +13:00
</script>
<ModalContent
title="Select navigation"
cancelText="Back"
2021-11-17 23:24:14 +13:00
onCancel={() => (blankSelected ? chooseModal(1) : chooseModal(0))}
2021-11-09 22:33:34 +13:00
size="M"
2021-11-11 05:04:27 +13:00
onConfirm={() => {
2021-11-12 00:07:55 +13:00
save(createdScreens)
2021-11-11 05:04:27 +13:00
}}
2021-11-09 22:33:34 +13:00
disabled={!selectedNav}
>
<Body size="S"
>Please select your preferred layout for the new application:</Body
>
<div class="wrapper">
<div
data-cy="left-nav"
2021-11-12 00:07:55 +13:00
on:click={() => (selectedNav = "Left")}
class:unselected={selectedNav && selectedNav !== "Left"}
2021-11-09 22:33:34 +13:00
>
<div class="box">
<div class="side-nav" />
</div>
<div><Detail>Side Nav</Detail></div>
</div>
<div
2021-11-12 00:07:55 +13:00
on:click={() => (selectedNav = "Top")}
class:unselected={selectedNav && selectedNav !== "Top"}
2021-11-09 22:33:34 +13:00
>
<div class="box">
<div class="top-nav" />
</div>
<div><Detail>Top Nav</Detail></div>
</div>
<div
2021-11-12 00:07:55 +13:00
on:click={() => (selectedNav = "None")}
class:unselected={selectedNav && selectedNav !== "None"}
2021-11-09 22:33:34 +13:00
>
<div class="box" />
<div><Detail>No Nav</Detail></div>
</div>
</div>
</ModalContent>
<style>
.side-nav {
float: left;
background: #d3d3d3 0% 0% no-repeat padding-box;
border-radius: 2px 0px 0px 2px;
height: 100%;
width: 10%;
}
.top-nav {
background: #d3d3d3 0% 0% no-repeat padding-box;
vertical-align: top;
width: 100%;
height: 15%;
}
.box {
display: inline-block;
background: #eaeaea 0% 0% no-repeat padding-box;
border: 1px solid #d3d3d3;
border-radius: 2px;
opacity: 1;
width: 120px;
height: 70px;
margin-right: 20px;
}
.wrapper {
display: flex;
padding-top: 4%;
list-style-type: none;
margin: 0;
padding: 0;
margin-right: 5%;
}
.unselected {
opacity: 0.3;
}
</style>