More zap undo fixes IV (#1282)
* Add margin-top to zap undo input * Update zap undo hint * Fix zap undo pulse not reflecting zap amount
This commit is contained in:
parent
9c66a5aafc
commit
0c3337fb97
@ -246,7 +246,7 @@ export class ZapUndoController extends AbortController {
|
|||||||
this.signal.done = onDone
|
this.signal.done = onDone
|
||||||
this.signal.pause = async ({ me, amount }) => {
|
this.signal.pause = async ({ me, amount }) => {
|
||||||
if (zapUndoTrigger({ me, amount })) {
|
if (zapUndoTrigger({ me, amount })) {
|
||||||
await zapUndo(this.signal)
|
await zapUndo(this.signal, amount)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -258,9 +258,9 @@ const zapUndoTrigger = ({ me, amount }) => {
|
|||||||
return enabled ? amount >= me.privates.zapUndos : false
|
return enabled ? amount >= me.privates.zapUndos : false
|
||||||
}
|
}
|
||||||
|
|
||||||
const zapUndo = async (signal) => {
|
const zapUndo = async (signal, amount) => {
|
||||||
return await new Promise((resolve, reject) => {
|
return await new Promise((resolve, reject) => {
|
||||||
signal.start()
|
signal.start(amount)
|
||||||
const abortHandler = () => {
|
const abortHandler = () => {
|
||||||
reject(new ActCanceledError())
|
reject(new ActCanceledError())
|
||||||
signal.done()
|
signal.done()
|
||||||
|
@ -107,7 +107,7 @@ export default function UpVote ({ item, className }) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
const [controller, setController] = useState(null)
|
const [controller, setController] = useState(null)
|
||||||
const [pending, setPending] = useState(false)
|
const [pending, setPending] = useState(0)
|
||||||
|
|
||||||
const setVoteShow = useCallback((yes) => {
|
const setVoteShow = useCallback((yes) => {
|
||||||
if (!me) return
|
if (!me) return
|
||||||
@ -146,7 +146,7 @@ export default function UpVote ({ item, className }) {
|
|||||||
const meSats = (item?.meSats || item?.meAnonSats || 0)
|
const meSats = (item?.meSats || item?.meAnonSats || 0)
|
||||||
|
|
||||||
// what should our next tip be?
|
// what should our next tip be?
|
||||||
const sats = nextTip(meSats, { ...me?.privates })
|
const sats = pending || nextTip(meSats, { ...me?.privates })
|
||||||
let overlayTextContent
|
let overlayTextContent
|
||||||
if (me) {
|
if (me) {
|
||||||
overlayTextContent = me.privates?.tipRandom ? 'random' : numWithUnits(sats, { abbreviate: false })
|
overlayTextContent = me.privates?.tipRandom ? 'random' : numWithUnits(sats, { abbreviate: false })
|
||||||
@ -157,7 +157,9 @@ export default function UpVote ({ item, className }) {
|
|||||||
return [
|
return [
|
||||||
meSats, overlayTextContent,
|
meSats, overlayTextContent,
|
||||||
getColor(meSats), getColor(meSats + sats)]
|
getColor(meSats), getColor(meSats + sats)]
|
||||||
}, [item?.meSats, item?.meAnonSats, me?.privates?.tipDefault, me?.privates?.turboDefault, me?.privates?.tipRandom, me?.privates?.tipRandomMin, me?.privates?.tipRandomMax])
|
}, [
|
||||||
|
item?.meSats, item?.meAnonSats, me?.privates?.tipDefault, me?.privates?.turboDefault,
|
||||||
|
me?.privates?.tipRandom, me?.privates?.tipRandomMin, me?.privates?.tipRandomMax, pending])
|
||||||
|
|
||||||
const handleModalClosed = () => {
|
const handleModalClosed = () => {
|
||||||
setHover(false)
|
setHover(false)
|
||||||
@ -178,7 +180,7 @@ export default function UpVote ({ item, className }) {
|
|||||||
setController(null)
|
setController(null)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const c = new ZapUndoController({ onStart: () => setPending(true), onDone: () => setPending(false) })
|
const c = new ZapUndoController({ onStart: (sats) => setPending(sats), onDone: () => setPending(0) })
|
||||||
setController(c)
|
setController(c)
|
||||||
|
|
||||||
showModal(onClose =>
|
showModal(onClose =>
|
||||||
@ -205,7 +207,7 @@ export default function UpVote ({ item, className }) {
|
|||||||
setController(null)
|
setController(null)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const c = new ZapUndoController({ onStart: () => setPending(true), onDone: () => setPending(false) })
|
const c = new ZapUndoController({ onStart: (sats) => setPending(sats), onDone: () => setPending(0) })
|
||||||
setController(c)
|
setController(c)
|
||||||
|
|
||||||
await zap({ item, me, abortSignal: c.signal })
|
await zap({ item, me, abortSignal: c.signal })
|
||||||
|
@ -1022,7 +1022,8 @@ const ZapUndosField = () => {
|
|||||||
<Input
|
<Input
|
||||||
name='zapUndos'
|
name='zapUndos'
|
||||||
append={<InputGroup.Text className='text-monospace'>sats</InputGroup.Text>}
|
append={<InputGroup.Text className='text-monospace'>sats</InputGroup.Text>}
|
||||||
hint={<small className='text-muted'>threshold at which undo button is shown</small>}
|
hint={<small className='text-muted'>threshold at which undos will be possible</small>}
|
||||||
|
groupClassName='mt-1'
|
||||||
/>}
|
/>}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user