Fix share button: add clipboard fallback for HTTP/mobile

This commit is contained in:
root
2026-03-31 18:54:26 -05:00
parent 7abec6de7c
commit 53ab59f0fc

View File

@@ -27,11 +27,22 @@ export default function RecommendationCard({ recommendation, onToggleSave, onDis
setSharing(true) setSharing(true)
try { try {
const { share_url } = await shareRecommendation(recommendation.id) const { share_url } = await shareRecommendation(recommendation.id)
await navigator.clipboard.writeText(share_url) // Try clipboard first, fall back to prompt
try {
await navigator.clipboard.writeText(share_url)
} catch {
// Clipboard blocked (HTTP/mobile) — use fallback
const input = document.createElement('textarea')
input.value = share_url
document.body.appendChild(input)
input.select()
document.execCommand('copy')
document.body.removeChild(input)
}
setShared(true) setShared(true)
setTimeout(() => setShared(false), 2000) setTimeout(() => setShared(false), 2000)
} catch { } catch {
// Fallback: if clipboard fails, silently ignore // API call failed
} finally { } finally {
setSharing(false) setSharing(false)
} }