flotilla/src/app/components/ChannelMessageZapButton.svelte

29 lines
921 B
Svelte
Raw Normal View History

2025-07-04 13:22:19 +00:00
<script lang="ts">
import {deriveZapperForPubkey} from "@welshman/app"
import Button from "@lib/components/Button.svelte"
import Icon from "@lib/components/Icon.svelte"
import Zap from "@app/components/Zap.svelte"
2025-07-07 20:58:43 +00:00
import InfoZapperError from "@app/components/InfoZapperError.svelte"
2025-07-04 13:22:19 +00:00
import WalletConnect from "@app/components/WalletConnect.svelte"
import {pushModal} from "@app/modal"
import {wallet} from "@app/state"
const {url, event} = $props()
const zapper = deriveZapperForPubkey(event.pubkey)
const onClick = () => {
2025-07-07 20:58:43 +00:00
if (!$zapper?.allowsNostr) {
pushModal(InfoZapperError, {url, pubkey: event.pubkey, eventId: event.id})
} else if ($wallet) {
2025-07-04 13:22:19 +00:00
pushModal(Zap, {url, pubkey: event.pubkey, eventId: event.id})
} else {
pushModal(WalletConnect)
}
}
</script>
2025-07-07 20:58:43 +00:00
<Button onclick={onClick} class="btn join-item btn-xs">
<Icon icon="bolt" size={4} />
</Button>