From 31036ca50dd80d1d61147911dd35b8d2bc6b7b31 Mon Sep 17 00:00:00 2001
From: Jason Guo <33064781+Xaroz@users.noreply.github.com>
Date: Mon, 27 Jan 2025 17:06:44 -0600
Subject: [PATCH] feat: refresh list (#168)
Add refresh button to message listing page, this will trigger a refetch
for the graphQL query
![image](https://github.com/user-attachments/assets/70a3c85e-394b-4ede-8391-6333b8aa810c)
fixes #157
---
package.json | 2 +-
src/features/messages/MessageSearch.tsx | 34 +++++++++++++------
.../messages/cards/ContentDetailsCard.tsx | 1 -
.../messages/cards/GasDetailsCard.tsx | 1 -
.../messages/cards/TransactionCard.tsx | 6 +---
.../messages/queries/useMessageQuery.ts | 1 +
yarn.lock | 6 ++--
7 files changed, 29 insertions(+), 22 deletions(-)
diff --git a/package.json b/package.json
index 5f54276..629593d 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
"prettier-plugin-tailwindcss": "^0.6.8",
"tailwindcss": "^3.4.16",
"ts-node": "^10.9.2",
- "typescript": "^5.7.2"
+ "typescript": "5.7.2"
},
"homepage": "https://www.hyperlane.xyz",
"license": "Apache-2.0",
diff --git a/src/features/messages/MessageSearch.tsx b/src/features/messages/MessageSearch.tsx
index 2ff4ec0..2c87238 100644
--- a/src/features/messages/MessageSearch.tsx
+++ b/src/features/messages/MessageSearch.tsx
@@ -1,6 +1,6 @@
import { useState } from 'react';
-import { Fade, useDebounce } from '@hyperlane-xyz/widgets';
+import { Fade, IconButton, RefreshIcon, useDebounce } from '@hyperlane-xyz/widgets';
import { Card } from '../../components/layout/Card';
import { SearchBar } from '../../components/search/SearchBar';
@@ -78,6 +78,7 @@ export function MessageSearch() {
hasRun,
messageList,
isMessagesFound,
+ refetch,
} = useMessageSearchQuery(
sanitizedInput,
originChainFilter,
@@ -138,16 +139,19 @@ export function MessageSearch() {
{!hasInput ? 'Latest Messages' : 'Search Results'}
-
+
+
+
+
@@ -168,3 +172,11 @@ export function MessageSearch() {
>
);
}
+
+function RefreshButton({ loading, onClick }: { loading: boolean; onClick: () => void }) {
+ return (
+
+
+
+ );
+}
diff --git a/src/features/messages/cards/ContentDetailsCard.tsx b/src/features/messages/cards/ContentDetailsCard.tsx
index 3025363..eeae51f 100644
--- a/src/features/messages/cards/ContentDetailsCard.tsx
+++ b/src/features/messages/cards/ContentDetailsCard.tsx
@@ -75,7 +75,6 @@ export function ContentDetailsCard({
diff --git a/src/features/messages/cards/GasDetailsCard.tsx b/src/features/messages/cards/GasDetailsCard.tsx
index 616cd09..54b5691 100644
--- a/src/features/messages/cards/GasDetailsCard.tsx
+++ b/src/features/messages/cards/GasDetailsCard.tsx
@@ -82,7 +82,6 @@ export function GasDetailsCard({ message, blur, igpPayments = {} }: Props) {
diff --git a/src/features/messages/cards/TransactionCard.tsx b/src/features/messages/cards/TransactionCard.tsx
index 8353b79..628f62f 100644
--- a/src/features/messages/cards/TransactionCard.tsx
+++ b/src/features/messages/cards/TransactionCard.tsx
@@ -182,11 +182,7 @@ function TransactionCard({
{title}
-
+
{children}
diff --git a/src/features/messages/queries/useMessageQuery.ts b/src/features/messages/queries/useMessageQuery.ts
index e0d4431..f028ac7 100644
--- a/src/features/messages/queries/useMessageQuery.ts
+++ b/src/features/messages/queries/useMessageQuery.ts
@@ -103,6 +103,7 @@ export function useMessageSearchQuery(
messageList,
isValidOrigin,
isValidDestination,
+ refetch: reExecutor,
};
}
diff --git a/yarn.lock b/yarn.lock
index faf47f1..c1df87d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2424,7 +2424,7 @@ __metadata:
react-tooltip: "npm:^5.26.3"
tailwindcss: "npm:^3.4.16"
ts-node: "npm:^10.9.2"
- typescript: "npm:^5.7.2"
+ typescript: "npm:5.7.2"
urql: "npm:^3.0.3"
yaml: "npm:^2.4.5"
zod: "npm:^3.21.2"
@@ -18973,7 +18973,7 @@ __metadata:
languageName: node
linkType: hard
-"typescript@npm:^5.7.2":
+"typescript@npm:5.7.2":
version: 5.7.2
resolution: "typescript@npm:5.7.2"
bin:
@@ -18983,7 +18983,7 @@ __metadata:
languageName: node
linkType: hard
-"typescript@patch:typescript@npm%3A^5.7.2#optional!builtin":
+"typescript@patch:typescript@npm%3A5.7.2#optional!builtin":
version: 5.7.2
resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=8c6c40"
bin: