fix(content): audio always plays in the bottom-bar player + ecash purchase is explicit two-step
- Owned/purchased and cloud audio never opens a lightbox: PeerFiles' owned-content viewer and the Cloud/CloudFolder preview route audio to the global bottom-bar player (video keeps the lightbox). - Web5 shared-content 'Buy' no longer fires the node-ecash payment on click: it opens a confirmation with balance -> price -> balance-after, and pays only on explicit confirm. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
6502f13e29
commit
960e41e164
@@ -674,6 +674,13 @@ async function viewOwned(item: CatalogItem) {
|
||||
})
|
||||
if (!res?.data) { purchaseError.value = res?.error || 'Could not open your purchased file'; return }
|
||||
const mime = res.mime_type || item.mime_type
|
||||
// Audio always plays in the global bottom-bar player — never the lightbox
|
||||
// (the blob URL is intentionally not revoked while the bar plays it).
|
||||
if (mime.startsWith('audio/')) {
|
||||
const url = URL.createObjectURL(base64ToBlob(res.data, mime))
|
||||
audioPlayer.play(url, item.filename.split('/').pop() || item.filename)
|
||||
return
|
||||
}
|
||||
if (viewerUrl.value) URL.revokeObjectURL(viewerUrl.value)
|
||||
viewerUrl.value = URL.createObjectURL(base64ToBlob(res.data, mime))
|
||||
viewerMime.value = mime
|
||||
|
||||
Reference in New Issue
Block a user