Merge pull request #306 from tecnovert/sip

UI: Improve swaps in progress.
This commit is contained in:
tecnovert
2025-05-02 09:31:03 +00:00
committed by GitHub
3 changed files with 281 additions and 32 deletions

View File

@@ -999,6 +999,16 @@ def js_active(self, url_split, post_string, is_json) -> bytes:
try:
for bid_id, (bid, offer) in list(swap_client.swaps_in_progress.items()):
try:
ci_from = swap_client.ci(offer.coin_from)
ci_to = swap_client.ci(offer.coin_to)
if offer.bid_reversed:
amount_from: int = bid.amount_to
amount_to: int = bid.amount
bid_rate: int = ci_from.make_int(amount_to / amount_from, r=1)
else:
amount_from: int = bid.amount
amount_to: int = bid.amount_to
bid_rate: int = bid.rate
swap_data = {
"bid_id": bid_id.hex(),
"offer_id": offer.offer_id.hex(),
@@ -1007,15 +1017,13 @@ def js_active(self, url_split, post_string, is_json) -> bytes:
"bid_state": strBidState(bid.state),
"tx_state_a": None,
"tx_state_b": None,
"coin_from": swap_client.ci(offer.coin_from).coin_name(),
"coin_to": swap_client.ci(offer.coin_to).coin_name(),
"amount_from": swap_client.ci(offer.coin_from).format_amount(
bid.amount
),
"amount_to": swap_client.ci(offer.coin_to).format_amount(
bid.amount_to
),
"coin_from": ci_from.coin_name(),
"coin_to": ci_to.coin_name(),
"amount_from": ci_from.format_amount(amount_from),
"amount_to": ci_to.format_amount(amount_to),
"rate": bid_rate,
"addr_from": bid.bid_addr if bid.was_received else offer.addr_from,
"was_sent": bid.was_sent,
}
if offer.swap_type == SwapTypes.XMR_SWAP:
@@ -1033,9 +1041,6 @@ def js_active(self, url_split, post_string, is_json) -> bytes:
swap_data["tx_state_a"] = bid.getITxState()
swap_data["tx_state_b"] = bid.getPTxState()
if hasattr(bid, "rate"):
swap_data["rate"] = bid.rate
all_bids.append(swap_data)
except Exception:

View File

@@ -298,7 +298,28 @@ const createSwapTableRow = async (swap) => {
const timeColor = getTimeStrokeColor(swap.expire_at);
const fromAmount = parseFloat(swap.amount_from) || 0;
const toAmount = parseFloat(swap.amount_to) || 0;
let send_column = "";
let recv_column = "";
if (swap.was_sent) {
send_column = `
<div class="text-sm font-semibold">${fromAmount.toFixed(8)}</div>
<div class="text-sm text-gray-500 dark:text-gray-400">${fromSymbol}</div>
`
recv_column = `
<div class="text-sm font-semibold">${toAmount.toFixed(8)}</div>
<div class="text-sm text-gray-500 dark:text-gray-400">${toSymbol}</div>
`
} else {
send_column = `
<div class="text-sm font-semibold">${toAmount.toFixed(8)}</div>
<div class="text-sm text-gray-500 dark:text-gray-400">${toSymbol}</div>
`
recv_column = `
<div class="text-sm font-semibold">${fromAmount.toFixed(8)}</div>
<div class="text-sm text-gray-500 dark:text-gray-400">${fromSymbol}</div>
`
}
return `
<tr class="relative opacity-100 text-gray-500 dark:text-gray-100 hover:bg-coolGray-200 dark:hover:bg-gray-600" data-bid-id="${swap.bid_id}">
<td class="relative w-0 p-0 m-0">
@@ -356,8 +377,7 @@ const createSwapTableRow = async (swap) => {
<div class="py-3 px-4 text-left">
<div class="items-center monospace">
<div class="pr-2">
<div class="text-sm font-semibold">${fromAmount.toFixed(8)}</div>
<div class="text-sm text-gray-500 dark:text-gray-400">${fromSymbol}</div>
${send_column}
</div>
</div>
</div>
@@ -390,8 +410,7 @@ const createSwapTableRow = async (swap) => {
<td class="py-0">
<div class="py-3 px-4 text-right">
<div class="items-center monospace">
<div class="text-sm font-semibold">${toAmount.toFixed(8)}</div>
<div class="text-sm text-gray-500 dark:text-gray-400">${toSymbol}</div>
${recv_column}
</div>
</div>
</td>