xmr-btc-swap/docs/components/SwapProviderTable.tsx
b-enedict 430a22fbf6
refactor(gui): Update MUI to v7 (#383)
* task(gui): update to mui v5

* task(gui): use sx prop instead of system props

* task(gui): update to mui v6 and replace makeStyles with sx prop

* task(gui): update to mui v7

* task(gui): update react

* fix(gui): fix import

* task(gui): adjust theme and few components to fix migration introduced styling errors

* fix(gui): animation issues with text field animations

* fix(gui): remove 'darker' theme and make 'dark' theme the default

- with the new update 'dark' theme is already quite dark and therefore a 'darker' theme not necessary
- the default theme is set to 'dark' now in settings initialization

* feat(tooling): Upgrade dprint to 0.50.0, eslint config, prettier, justfile commands

- Upgrade dprint to 0.50.0
- Use sane default eslint config (fairly permissive)
- `dprint fmt` now runs prettier for the `src-gui` folder
- Added `check_gui_eslint`, `check_gui_tsc` and `check_gui` commands

* refactor: fix a few eslint errors

* dprint fmt

* fix tsc complains

* nitpick: small spacing issue

---------

Co-authored-by: Binarybaron <binarybaron@protonmail.com>
Co-authored-by: Mohan <86064887+binarybaron@users.noreply.github.com>
2025-06-06 22:31:33 +02:00

55 lines
1.3 KiB
TypeScript

import { useState, useEffect } from "react";
import { Table, Td, Th, Tr } from "nextra/components";
export default function SwapMakerTable() {
function satsToBtc(sats) {
return sats / 100000000;
}
async function getMakers() {
const response = await fetch("https://api.unstoppableswap.net/api/list");
const data = await response.json();
return data;
}
const [makers, setMakers] = useState([]);
useEffect(() => {
getMakers().then((data) => {
setMakers(data);
});
}, []);
return (
<div
style={{
overflowX: "scroll",
}}
>
<Table>
<thead>
<Tr>
<Th>Network</Th>
<Th>Multiaddress</Th>
<Th>Peer ID</Th>
<Th>Minimum Amount</Th>
<Th>Maximum Amount</Th>
<Th>Exchange Rate</Th>
</Tr>
</thead>
<tbody>
{makers.map((maker) => (
<Tr key={maker.peerId}>
<Td>{maker.testnet ? "Testnet" : "Mainnet"}</Td>
<Td>{maker.multiAddr}</Td>
<Td>{maker.peerId}</Td>
<Td>{satsToBtc(maker.minSwapAmount)} BTC</Td>
<Td>{satsToBtc(maker.maxSwapAmount)} BTC</Td>
<Td>{satsToBtc(maker.price)} XMR/BTC</Td>
</Tr>
))}
</tbody>
</Table>
</div>
);
}