MapComplete/src/UI/Base/Page.svelte

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

40 lines
874 B
Svelte
Raw Normal View History

<script lang="ts">
// A fake 'page' which can be shown; kind of a modal
import { UIEventSource } from "../../Logic/UIEventSource"
import Popup from "./Popup.svelte"
export let onlyLink: boolean = false
2024-09-04 00:31:19 +02:00
export let bodyPadding = "p-4 md:p-5 "
export let fullscreen: boolean = false
export let shown: UIEventSource<boolean>
2024-09-04 00:31:19 +02:00
</script>
{#if !onlyLink}
<Popup {shown} {bodyPadding} {fullscreen}>
<slot name="header" slot="header" />
<slot />
<slot name="footer" slot="footer" />
</Popup>
{:else}
<button class="as-link sidebar-button" on:click={() => shown.setData(true)}>
2024-08-29 03:53:54 +02:00
<slot name="link">
<slot name="header" />
2024-08-29 03:53:54 +02:00
</slot>
</button>
{/if}
2024-09-02 11:46:45 +02:00
<style>
2024-09-02 12:48:15 +02:00
:global(.page-header) {
display: flex;
align-items: center;
}
2024-09-02 11:46:45 +02:00
:global(.page-header svg) {
2024-09-02 12:48:15 +02:00
width: 2rem;
height: 2rem;
margin-right: 0.75rem;
2024-09-02 11:46:45 +02:00
}
</style>