Browse Source

fix: prevent duplicate clicks before zap or like action completes

imwald
codytseng 5 months ago committed by Silberengel
parent
commit
897874dea1
  1. 2
      src/components/NoteStats/LikeButton.tsx
  2. 3
      src/components/NoteStats/ZapButton.tsx

2
src/components/NoteStats/LikeButton.tsx

@ -95,7 +95,7 @@ export default function LikeButton({ event }: { event: Event }) { @@ -95,7 +95,7 @@ export default function LikeButton({ event }: { event: Event }) {
<button
className="flex items-center enabled:hover:text-primary gap-1 px-3 h-full text-muted-foreground"
title={t('Like')}
disabled={(isDiscussion || isReplyToDiscussion) && hasVoted}
disabled={liking || ((isDiscussion || isReplyToDiscussion) && hasVoted)}
onClick={() => {
if (isSmallScreen && !((isDiscussion || isReplyToDiscussion) && hasVoted)) {
setIsEmojiReactionsOpen(true)

3
src/components/NoteStats/ZapButton.tsx

@ -45,6 +45,8 @@ export default function ZapButton({ event }: { event: Event }) { @@ -45,6 +45,8 @@ export default function ZapButton({ event }: { event: Event }) {
if (!pubkey) {
throw new Error('You need to be logged in to zap')
}
if (zapping) return
setZapping(true)
const zapResult = await lightning.zap(pubkey, event, defaultZapSats, defaultZapComment)
// user canceled
@ -133,6 +135,7 @@ export default function ZapButton({ event }: { event: Event }) { @@ -133,6 +135,7 @@ export default function ZapButton({ event }: { event: Event }) {
: 'cursor-pointer enabled:hover:text-yellow-400'
)}
title={t('Zap')}
disabled={disable || zapping}
onMouseDown={handleClickStart}
onMouseUp={handleClickEnd}
onMouseLeave={handleMouseLeave}

Loading…
Cancel
Save