mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-12-20 19:06:43 -05:00
Merge changes from legacy GUI, allow daemon logs to be attached to feedback (#115)
This PR applies all remaining changes from https://github.com/UnstoppableSwap/unstoppableswap-gui/pull/210 - Added checkbox option to attach daemon logs when submitting feedback - Added "Outdated" chip with warning icon for providers running outdated asb versions - Updated `BitcoinPunishedPage` to display different messages for BtcPunished and CooperativeRedeemRejected states (including reason for failed cooperative redeem) - Added "Attempt recovery" button for swaps in BtcPunished state - Modified `getBitcoinTxExplorerUrl` to use mempool.space instead of blockchair.com - Added `useResumeableSwapsCountExcludingPunished` hook to count resumable swaps excluding punished ones, use it for the badge and alert - Updated `sortProviderList` function to filter out incompatible providers before sorting - Added `TauriSwapProgressEventExt` type to extract specific event types from TauriSwapProgressEvent
This commit is contained in:
parent
639f540876
commit
2bffe40a37
12 changed files with 116 additions and 50 deletions
|
|
@ -1,19 +1,23 @@
|
|||
import { ExtendedProviderStatus } from "models/apiModel";
|
||||
import { isProviderCompatible } from "./multiAddrUtils";
|
||||
|
||||
export function sortProviderList(list: ExtendedProviderStatus[]) {
|
||||
return list.concat().sort((firstEl, secondEl) => {
|
||||
// If neither of them have a relevancy score, sort by max swap amount
|
||||
if (firstEl.relevancy === undefined && secondEl.relevancy === undefined) {
|
||||
if (firstEl.maxSwapAmount > secondEl.maxSwapAmount) {
|
||||
return list
|
||||
.filter(isProviderCompatible)
|
||||
.concat()
|
||||
.sort((firstEl, secondEl) => {
|
||||
// If neither of them have a relevancy score, sort by max swap amount
|
||||
if (firstEl.relevancy === undefined && secondEl.relevancy === undefined) {
|
||||
if (firstEl.maxSwapAmount > secondEl.maxSwapAmount) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
// If only on of the two don't have a relevancy score, prioritize the one that does
|
||||
if (firstEl.relevancy === undefined) return 1;
|
||||
if (secondEl.relevancy === undefined) return -1;
|
||||
if (firstEl.relevancy > secondEl.relevancy) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
// If only on of the two don't have a relevancy score, prioritize the one that does
|
||||
if (firstEl.relevancy === undefined) return 1;
|
||||
if (secondEl.relevancy === undefined) return -1;
|
||||
if (firstEl.relevancy > secondEl.relevancy) {
|
||||
return -1;
|
||||
}
|
||||
return 1;
|
||||
});
|
||||
}
|
||||
return 1;
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue