diff --git a/frontend/components/swap-transfer-tracker/index.tsx b/frontend/components/swap-transfer-tracker/index.tsx index a01b0ec..5e3ab0a 100644 --- a/frontend/components/swap-transfer-tracker/index.tsx +++ b/frontend/components/swap-transfer-tracker/index.tsx @@ -1,6 +1,7 @@ 'use client' -import { ArrowLeftRight, Send } from 'lucide-react' +import { ArrowLeftRight, Info, Pause, Play, Send } from 'lucide-react' +import { useState } from 'react' import { LiveBadge } from '@/components/common/live-badge' import { SectionHeader } from '@/components/ui/section-header' import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' @@ -26,13 +27,32 @@ export default function SwapTransferTracker() { isConnected: isTransferConnected, cumulativeTransferred, } = useTransferEvents() + const [isFollowingData, setIsFollowingData] = useState(true) return (
{isLoading ? 'Waiting for events...' : 'No swaps yet'}
{isLoading ? 'Waiting for events...' : 'No transfers yet'}
{label}
diff --git a/frontend/hooks/use-transfer-events.ts b/frontend/hooks/use-transfer-events.ts
index c54110a..bced138 100644
--- a/frontend/hooks/use-transfer-events.ts
+++ b/frontend/hooks/use-transfer-events.ts
@@ -12,7 +12,7 @@ import { parseTopicsString } from '@/lib/abi-decode'
import type { SerializableEventData } from '@/types/events'
import type { TransferData } from '@/types/transfer'
-const MAX_TRANSFERS = 50
+const MAX_TRANSFERS = Infinity
/**
* Parse native transfer event (TxnCallFrame with non-zero value)
diff --git a/frontend/hooks/use-virtualized-list.ts b/frontend/hooks/use-virtualized-list.ts
new file mode 100644
index 0000000..f82ca7d
--- /dev/null
+++ b/frontend/hooks/use-virtualized-list.ts
@@ -0,0 +1,95 @@
+'use client'
+
+import { useEffect, useRef, useState } from 'react'
+import type { ListImperativeAPI } from 'react-window'
+
+interface UseVirtualizedListOptions