Files
flotilla/src/app/components/ThunkStatusDetail.svelte
T
2025-02-03 17:21:46 -08:00

34 lines
747 B
Svelte

<script lang="ts">
import {run} from "svelte/legacy"
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()
run(() => {
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>