Files
flotilla/src/app/components/ThunkStatusDetail.svelte
T
2025-02-03 19:28:29 -08:00

32 lines
714 B
Svelte

<script lang="ts">
import {PublishStatus} from "@welshman/net"
import {displayRelayUrl} from "@welshman/util"
import Button from "@lib/components/Button.svelte"
interface Props {
url: string
status: string
message: string
retry: () => void
}
let {url, status, message = $bindable(), retry}: Props = $props()
$effect(() => {
if (!message && status === PublishStatus.Timeout) {
message = "request timed out"
}
if (!message) {
message = "no details recieved"
}
})
</script>
<div class="card2 bg-alt col-2 shadow-2xl">
<p>
Failed to publish to {displayRelayUrl(url)}: {message}.
</p>
<Button class="link" onclick={retry}>Retry</Button>
</div>