Files
radicle-explorer/src/Error.svelte
T
2021-06-22 13:06:58 +02:00

40 lines
851 B
Svelte

<script lang="ts">
import { createEventDispatcher } from 'svelte';
import Modal from '@app/Modal.svelte';
import type { Err } from '@app/error';
const dispatch = createEventDispatcher();
export let error: Err | null = null;
export let title = "Error";
export let subtitle = "";
export let message = "";
export let floating = false;
export let subtle = false;
export let action = floating ? "Close" : "Back";
let body = message || (error && error.message) || "";
</script>
<Modal on:close error {floating} {subtle}>
<span slot="title">
{title}
</span>
<span slot="subtitle">
{subtitle}
</span>
<span slot="body">
<slot>
<strong>Error:</strong> {body}
</slot>
</span>
<span slot="actions">
<button on:click={() => dispatch('close')}>
{action}
</button>
</span>
</Modal>