diff --git a/src-gui/src/renderer/components/alert/SwapStatusAlert.tsx b/src-gui/src/renderer/components/alert/SwapStatusAlert.tsx
index 8453331e..1fa17491 100644
--- a/src-gui/src/renderer/components/alert/SwapStatusAlert.tsx
+++ b/src-gui/src/renderer/components/alert/SwapStatusAlert.tsx
@@ -11,6 +11,7 @@ import {
import { ReactNode } from "react";
import { exhaustiveGuard } from "utils/typescriptUtils";
import HumanizedBitcoinBlockDuration from "../other/HumanizedBitcoinBlockDuration";
+import TruncatedText from "../other/TruncatedText";
import {
SwapCancelRefundButton,
SwapResumeButton,
@@ -219,7 +220,7 @@ export default function SwapStatusAlert({
variant="filled"
>
- Swap {swap.swap_id.substring(0, 5)}... is unfinished
+ Swap {swap.swap_id} is unfinished
diff --git a/src-gui/src/renderer/components/modal/DialogHeader.tsx b/src-gui/src/renderer/components/modal/DialogHeader.tsx
index 043bef49..4cdb482b 100644
--- a/src-gui/src/renderer/components/modal/DialogHeader.tsx
+++ b/src-gui/src/renderer/components/modal/DialogHeader.tsx
@@ -1,4 +1,5 @@
import { DialogTitle, makeStyles, Typography } from "@material-ui/core";
+import { ReactNode } from "react";
const useStyles = makeStyles({
root: {
@@ -8,7 +9,7 @@ const useStyles = makeStyles({
});
type DialogTitleProps = {
- title: string;
+ title: ReactNode;
};
export default function DialogHeader({ title }: DialogTitleProps) {
diff --git a/src-gui/src/renderer/components/modal/feedback/FeedbackDialog.tsx b/src-gui/src/renderer/components/modal/feedback/FeedbackDialog.tsx
index 093b0384..6b42c2ec 100644
--- a/src-gui/src/renderer/components/modal/feedback/FeedbackDialog.tsx
+++ b/src-gui/src/renderer/components/modal/feedback/FeedbackDialog.tsx
@@ -13,6 +13,7 @@ import {
import { CliLog } from "models/cliModel";
import { useSnackbar } from "notistack";
import { useState } from "react";
+import TruncatedText from "renderer/components/other/TruncatedText";
import { store } from "renderer/store/storeRenderer";
import { useActiveSwapInfo, useAppSelector } from "store/hooks";
import { parseDateString } from "utils/parseUtils";
@@ -68,7 +69,7 @@ function SwapSelectDropDown({
{swaps.map((swap) => (
diff --git a/src-gui/src/renderer/components/modal/listSellers/ListSellersDialog.tsx b/src-gui/src/renderer/components/modal/listSellers/ListSellersDialog.tsx
index e62e89ab..5a74e76f 100644
--- a/src-gui/src/renderer/components/modal/listSellers/ListSellersDialog.tsx
+++ b/src-gui/src/renderer/components/modal/listSellers/ListSellersDialog.tsx
@@ -14,6 +14,7 @@ import {
import { Multiaddr } from "multiaddr";
import { useSnackbar } from "notistack";
import { ChangeEvent, useState } from "react";
+import TruncatedText from "renderer/components/other/TruncatedText";
import PromiseInvokeButton from "renderer/components/PromiseInvokeButton";
const PRESET_RENDEZVOUS_POINTS = [
@@ -108,10 +109,7 @@ export default function ListSellersDialog({
{rAddress}}
onClick={() => setRendezvousAddress(rAddress)}
/>
))}
diff --git a/src-gui/src/renderer/components/modal/provider/ProviderInfo.tsx b/src-gui/src/renderer/components/modal/provider/ProviderInfo.tsx
index 77be7dc5..6b5c7e28 100644
--- a/src-gui/src/renderer/components/modal/provider/ProviderInfo.tsx
+++ b/src-gui/src/renderer/components/modal/provider/ProviderInfo.tsx
@@ -1,6 +1,7 @@
import { Box, Chip, makeStyles, Tooltip, Typography } from "@material-ui/core";
import { VerifiedUser } from "@material-ui/icons";
import { ExtendedProviderStatus } from "models/apiModel";
+import TruncatedText from "renderer/components/other/TruncatedText";
import {
MoneroBitcoinExchangeRate,
SatsAmount,
@@ -38,7 +39,7 @@ export default function ProviderInfo({
{provider.multiAddr}
- {provider.peerId.substring(0, 8)}...{provider.peerId.slice(-8)}
+ {provider.peerId}
Exchange rate:{" "}
diff --git a/src-gui/src/renderer/components/other/TruncatedText.tsx b/src-gui/src/renderer/components/other/TruncatedText.tsx
new file mode 100644
index 00000000..a5e3d585
--- /dev/null
+++ b/src-gui/src/renderer/components/other/TruncatedText.tsx
@@ -0,0 +1,14 @@
+export default function TruncatedText({
+ children,
+ limit = 6,
+ ellipsis = "...",
+}: {
+ children: string;
+ limit?: number;
+ ellipsis?: string;
+}) {
+ const truncatedText =
+ children.length > limit ? children.slice(0, limit) + ellipsis : children;
+
+ return truncatedText;
+}
diff --git a/src-gui/src/renderer/components/pages/history/table/HistoryRow.tsx b/src-gui/src/renderer/components/pages/history/table/HistoryRow.tsx
index d325c93a..4f1748ca 100644
--- a/src-gui/src/renderer/components/pages/history/table/HistoryRow.tsx
+++ b/src-gui/src/renderer/components/pages/history/table/HistoryRow.tsx
@@ -11,6 +11,7 @@ import KeyboardArrowDownIcon from "@material-ui/icons/KeyboardArrowDown";
import KeyboardArrowUpIcon from "@material-ui/icons/KeyboardArrowUp";
import { GetSwapInfoResponse } from "models/tauriModel";
import { useState } from "react";
+import TruncatedText from "renderer/components/other/TruncatedText";
import { PiconeroAmount, SatsAmount } from "../../../other/Units";
import HistoryRowActions from "./HistoryRowActions";
import HistoryRowExpanded from "./HistoryRowExpanded";
@@ -52,7 +53,9 @@ export default function HistoryRow(swap: GetSwapInfoResponse) {
{expanded ? : }
- {swap.swap_id}
+
+ {swap.swap_id}
+
+ Recovery Keys for swap {swap_id}
+ >
/>