diff --git a/basicswap/templates/bid.html b/basicswap/templates/bid.html index e916a60..1ab3a4e 100644 --- a/basicswap/templates/bid.html +++ b/basicswap/templates/bid.html @@ -35,7 +35,7 @@

BID ID: {{ bid_id }}

- {% if refresh %} + {% if refresh %} {{ circular_arrows_svg | safe }} Refresh {{ refresh }} seconds @@ -76,7 +76,7 @@ - {% if data.was_sent == 'True' %} + {% if data.was_sent %} Swap @@ -103,7 +103,7 @@ Bid Rate {{ data.bid_rate }} - {% if data.was_sent == 'True' %} + {% if data.was_sent %} You Send @@ -183,12 +183,8 @@ {{ data.expired_at }} - Sent - {{ data.was_sent }} - - - Received - {{ data.was_received }} + Bid Type + {% if data.was_sent and data.was_received %}Self Bid{% elif data.was_sent %}Sent{% elif data.was_received %}Received{% endif %} Initiate Tx @@ -543,7 +539,7 @@
{% endif %} - {% if data.was_received == 'True' and not edit_bid and data.can_accept_bid %} + {% if data.was_received and not edit_bid and data.can_accept_bid %}
@@ -565,7 +561,7 @@

Confirm Action

Are you sure?

- @@ -588,16 +584,16 @@ document.addEventListener('DOMContentLoaded', function() { let confirmCallback = null; let triggerElement = null; - + document.getElementById('confirmYes').addEventListener('click', function() { if (typeof confirmCallback === 'function') { confirmCallback(); } hideConfirmDialog(); }); - + document.getElementById('confirmNo').addEventListener('click', hideConfirmDialog); - + function showConfirmDialog(title, message, callback) { confirmCallback = callback; document.getElementById('confirmTitle').textContent = title; @@ -608,7 +604,7 @@ document.addEventListener('DOMContentLoaded', function() { } return false; } - + function hideConfirmDialog() { const modal = document.getElementById('confirmModal'); if (modal) { @@ -617,12 +613,12 @@ document.addEventListener('DOMContentLoaded', function() { confirmCallback = null; return false; } - + window.confirmPopup = function(action = 'Abandon') { triggerElement = document.activeElement; const title = `Confirm ${action} Bid`; const message = `Are you sure you want to ${action.toLowerCase()} this bid?`; - + return showConfirmDialog(title, message, function() { if (triggerElement) { const form = triggerElement.form; @@ -635,7 +631,7 @@ document.addEventListener('DOMContentLoaded', function() { } }); }; - + const overrideButtonConfirm = function(button, action) { if (button) { button.removeAttribute('onclick'); @@ -646,10 +642,10 @@ document.addEventListener('DOMContentLoaded', function() { }); } }; - + const abandonBidBtn = document.querySelector('button[name="abandon_bid"]'); overrideButtonConfirm(abandonBidBtn, 'Abandon'); - + const acceptBidBtn = document.querySelector('button[name="accept_bid"]'); overrideButtonConfirm(acceptBidBtn, 'Accept'); }); diff --git a/basicswap/templates/bid_xmr.html b/basicswap/templates/bid_xmr.html index c9c87b1..e992435 100644 --- a/basicswap/templates/bid_xmr.html +++ b/basicswap/templates/bid_xmr.html @@ -76,7 +76,7 @@ - {% if data.was_sent == 'True' %} + {% if data.was_sent %} Swap @@ -103,7 +103,7 @@ Bid Rate {{ data.bid_rate }} - {% if data.was_sent == 'True' %} + {% if data.was_sent %} You Send @@ -188,12 +188,8 @@ {{ data.expired_at }} - Sent - {{ data.was_sent }} - - - Received - {{ data.was_received }} + Bid Type + {% if data.was_sent and data.was_received %}Self Bid{% elif data.was_sent %}Sent{% elif data.was_received %}Received{% endif %}{% if data.reverse_bid %} (Transposed){% endif %} {% if data.coin_a_lock_refund_tx_est_final != 'None' %} @@ -819,7 +815,7 @@
{% endif %} - {% if data.was_received == 'True' and not edit_bid and data.can_accept_bid %} + {% if data.was_received and not edit_bid and data.can_accept_bid %}
diff --git a/basicswap/templates/offer.html b/basicswap/templates/offer.html index 0d18c5b..5bece53 100644 --- a/basicswap/templates/offer.html +++ b/basicswap/templates/offer.html @@ -68,7 +68,7 @@
  • INFO:
  • Sent Bid {{ sent_bid_id }}
  • - +
    @@ -727,17 +727,17 @@ xhr_bid_params.onload = () => { function lookup_rates() { const coin_from = document.getElementById('coin_from')?.value; const coin_to = document.getElementById('coin_to')?.value; - + if (!coin_from || !coin_to || coin_from === '-1' || coin_to === '-1') { alert('Coins from and to must be set first.'); return; } - + const ratesDisplay = document.getElementById('rates_display'); if (ratesDisplay) { ratesDisplay.innerHTML = '

    Rates

    Updating...

    '; } - + xhr_rates.open('POST', '/json/rates'); xhr_rates.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr_rates.send(`coin_from=${coin_from}&coin_to=${coin_to}`); @@ -785,11 +785,11 @@ function updateBidParams(value_changed) { const amountFromInput = document.getElementById('amount_from'); const bidRateInput = document.getElementById('bid_rate'); const offerRateInput = document.getElementById('offer_rate'); - + if (!coin_from || !coin_to || !amt_var || !rate_var) return; - - const rate = rate_var === 'True' && bidRateInput ? - parseFloat(bidRateInput.value) || 0 : + + const rate = rate_var === 'True' && bidRateInput ? + parseFloat(bidRateInput.value) || 0 : parseFloat(offerRateInput?.value || '0'); if (!rate) return; @@ -826,7 +826,7 @@ function updateBidParams(value_changed) { function validateAmountsAfterChange() { const bidAmountSendInput = document.getElementById('bid_amount_send'); const bidAmountInput = document.getElementById('bid_amount'); - + if (bidAmountSendInput) { const maxSend = parseFloat(bidAmountSendInput.getAttribute('max')); validateMaxAmount(bidAmountSendInput, maxSend); @@ -871,7 +871,7 @@ function updateModalValues() { if (modalAmtReceive) { modalAmtReceive.textContent = bidAmountInput.value; } - + const modalReceiveCurrency = document.getElementById('modal-receive-currency'); if (modalReceiveCurrency) { modalReceiveCurrency.textContent = ' {{ data.tla_from }}'; @@ -883,7 +883,7 @@ function updateModalValues() { if (modalAmtSend) { modalAmtSend.textContent = bidAmountSendInput.value; } - + const modalSendCurrency = document.getElementById('modal-send-currency'); if (modalSendCurrency) { modalSendCurrency.textContent = ' {{ data.tla_to }}'; @@ -921,7 +921,7 @@ function updateModalValues() { function handleBidsPageAddress() { const selectElement = document.querySelector('select[name="addr_from"]'); const STORAGE_KEY = 'lastUsedAddressBids'; - + if (!selectElement) return; function loadInitialAddress() { @@ -1003,7 +1003,7 @@ document.addEventListener('DOMContentLoaded', function() { if (validMinsInput) { validMinsInput.addEventListener('input', updateModalValues); } - + const addrFromSelect = document.querySelector('select[name="addr_from"]'); if (addrFromSelect) { addrFromSelect.addEventListener('change', updateModalValues); diff --git a/basicswap/ui/util.py b/basicswap/ui/util.py index 8c97698..70be243 100644 --- a/basicswap/ui/util.py +++ b/basicswap/ui/util.py @@ -348,8 +348,8 @@ def describeBid( if for_api else format_timestamp(bid.expire_at, with_seconds=True) ), - "was_sent": "True" if bid.was_sent else "False", - "was_received": "True" if bid.was_received else "False", + "was_sent": bid.was_sent, + "was_received": bid.was_received, "initiate_tx": getTxIdHex(bid, TxTypes.ITX, " " + ci_leader.ticker()), "initiate_conf": ( "None" diff --git a/tests/basicswap/selenium/test_swap_direction.py b/tests/basicswap/selenium/test_swap_direction.py index 893eec3..557607a 100644 --- a/tests/basicswap/selenium/test_swap_direction.py +++ b/tests/basicswap/selenium/test_swap_direction.py @@ -239,10 +239,8 @@ def test_swap_dir(driver): assert num_found >= 2 driver.get(f"{node1_url}/bid/{bid_1_id}") - td_sent = driver.find_element( - "xpath", "//td[contains(text(), 'Sent')]/following-sibling::td" - ) - assert "False" in td_sent.get_attribute("innerHTML") + td_dir = driver.find_element(By.ID, "bidtype") + assert "Received" == td_dir.get_attribute("innerHTML") td_ys = driver.find_element( "xpath", "//td[contains(text(), 'You Send')]/following-sibling::td" ) @@ -253,10 +251,8 @@ def test_swap_dir(driver): assert "Monero" in td_yg.get_attribute("innerHTML") driver.get(f"{node2_url}/bid/{bid_1_id}") - td_sent = driver.find_element( - "xpath", "//td[contains(text(), 'Sent')]/following-sibling::td" - ) - assert "True" in td_sent.get_attribute("innerHTML") + td_dir = driver.find_element(By.ID, "bidtype") + assert "Sent" == td_dir.get_attribute("innerHTML") td_ys = driver.find_element( "xpath", "//td[contains(text(), 'You Send')]/following-sibling::td" ) @@ -267,10 +263,8 @@ def test_swap_dir(driver): assert "Particl" in td_yg.get_attribute("innerHTML") driver.get(f"{node1_url}/bid/{bid_3_id}") - td_sent = driver.find_element( - "xpath", "//td[contains(text(), 'Sent')]/following-sibling::td" - ) - assert "True" in td_sent.get_attribute("innerHTML") + td_dir = driver.find_element(By.ID, "bidtype") + assert "Sent (Transposed)" == td_dir.get_attribute("innerHTML") td_ys = driver.find_element( "xpath", "//td[contains(text(), 'You Send')]/following-sibling::td" ) @@ -281,10 +275,8 @@ def test_swap_dir(driver): assert "Monero" in td_yg.get_attribute("innerHTML") driver.get(f"{node2_url}/bid/{bid_3_id}") - td_sent = driver.find_element( - "xpath", "//td[contains(text(), 'Sent')]/following-sibling::td" - ) - assert "False" in td_sent.get_attribute("innerHTML") + td_dir = driver.find_element(By.ID, "bidtype") + assert "Received (Transposed)" == td_dir.get_attribute("innerHTML") td_ys = driver.find_element( "xpath", "//td[contains(text(), 'You Send')]/following-sibling::td" )