Skip to content

Commit d3640f2

Browse files
[Dashboard] Add transaction filtering by Queue ID
1 parent 90c1e57 commit d3640f2

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

apps/dashboard/src/@/hooks/useEngine.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,12 +379,27 @@ export function useEngineTransactions(params: {
379379
page?: number;
380380
status?: EngineStatus;
381381
};
382+
id?: string;
382383
}) {
383-
const { instanceUrl, autoUpdate, authToken } = params;
384+
const { instanceUrl, autoUpdate, authToken, id } = params;
384385

385386
return useQuery({
386387
placeholderData: keepPreviousData,
387388
queryFn: async () => {
389+
if (id) {
390+
const res = await fetch(`${instanceUrl}transaction/${id}`, {
391+
headers: getEngineRequestHeaders(authToken),
392+
method: "GET",
393+
});
394+
395+
const json = await res.json();
396+
const transaction = (json.result as Transaction) || {};
397+
return {
398+
transactions: [transaction],
399+
totalCount: 1,
400+
};
401+
}
402+
388403
const url = new URL(`${instanceUrl}transaction/get-all`);
389404
if (params.queryParams) {
390405
for (const key in params.queryParams) {

apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/(instance)/[engineId]/overview/components/transactions-table.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Input } from "@workspace/ui/components/input";
12
import { format, formatDistanceToNowStrict } from "date-fns";
23
import {
34
ArrowLeftIcon,
@@ -110,6 +111,7 @@ export function TransactionsTable(props: {
110111
const [autoUpdate, setAutoUpdate] = useState(true);
111112
const [page, setPage] = useState(1);
112113
const [status, setStatus] = useState<EngineStatus | undefined>(undefined);
114+
const [filterId, setFilterId] = useState<string | undefined>(undefined);
113115
const autoUpdateId = useId();
114116
const pageSize = 10;
115117
const transactionsQuery = useEngineTransactions({
@@ -121,6 +123,7 @@ export function TransactionsTable(props: {
121123
page: page,
122124
status,
123125
},
126+
id: filterId,
124127
});
125128

126129
const transactions = transactionsQuery.data?.transactions ?? [];
@@ -160,6 +163,16 @@ export function TransactionsTable(props: {
160163
onCheckedChange={(v) => setAutoUpdate(!!v)}
161164
/>
162165
</div>
166+
<Input
167+
className="max-w-[250px]"
168+
onChange={(e) => {
169+
const value = e.target.value.trim();
170+
setFilterId(value || undefined);
171+
setPage(1);
172+
}}
173+
placeholder="Filter by Queue ID"
174+
value={filterId || ""}
175+
/>
163176
<StatusSelector
164177
setStatus={(v) => {
165178
setStatus(v);

0 commit comments

Comments
 (0)