Skip to content

Commit 420772f

Browse files
authored
chore: enhance the graph
- Fix the logic for app call graph where an app can send/receive transactions on behalf of accounts - Refactor the graph code into a feature
1 parent 962ec5f commit 420772f

31 files changed

+1575
-1078
lines changed

src/features/assets/components/asset-link.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { PropsWithChildren, useCallback } from 'react'
55
import { AssetSummary } from '../models'
66
import { AsyncMaybeAtom } from '@/features/common/data/types'
77
import { RenderInlineAsyncAtom } from '@/features/common/components/render-inline-async-atom'
8-
import { CopyButton } from '@/features/common/components/copy-button.tsx'
8+
import { CopyButton } from '@/features/common/components/copy-button'
99
import { toast } from 'react-toastify'
1010

1111
type CommonProps = {

src/features/common/components/copy-button.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { CopyIcon } from 'lucide-react'
22
import { Button } from './button'
3-
import { cn } from '@/features/common/utils.ts'
3+
import { cn } from '@/features/common/utils'
44

55
type Props = {
66
onClick: () => void

src/features/explore/pages/explore-page.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { executeComponentTest } from '@/tests/test-component'
22
import { getAllByRole, getByRole, queryAllByRole, render, waitFor } from '@/tests/testing-library'
33
import { Atom, createStore } from 'jotai'
44
import { describe, expect, it } from 'vitest'
5-
import { ExplorePage } from './explore-page.tsx'
5+
import { ExplorePage } from './explore-page'
66
import { latestBlocksTitle } from '@/features/blocks/components/latest-blocks'
77
import { latestTransactionsTitle } from '@/features/transactions/components/latest-transactions'
88
import { blockResultsAtom, syncedRoundAtom } from '@/features/blocks/data'

src/features/groups/components/group-details.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ export function GroupDetails({ group }: Props) {
5959
<Card className={cn('p-4')}>
6060
<CardContent className={cn('text-sm space-y-2')}>
6161
<h1 className={cn('text-2xl text-primary font-bold')}>{transactionsLabel}</h1>
62+
<GroupTransactionsViewTabs group={group} />
6263
</CardContent>
63-
<GroupTransactionsViewTabs group={group} />
6464
</Card>
6565
</div>
6666
)

src/features/groups/components/group-transactions-view-tabs.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import { cn } from '@/features/common/utils'
22
import { OverflowAutoTabsContent, Tabs, TabsList, TabsTrigger } from '@/features/common/components/tabs'
33
import { Group } from '../models'
4-
import { TransactionsGraph } from '@/features/transactions/components/transactions-graph'
4+
import { TransactionsGraph } from '@/features/transactions-graph'
55
import { TransactionsTable } from '@/features/transactions/components/transactions-table'
66
import { transactionsTableColumnsWithoutRound } from '@/features/transactions/components/transactions-table-columns'
7+
import { useMemo } from 'react'
8+
import { asTransactionsGraphData } from '@/features/transactions-graph/mappers'
79

810
type Props = {
911
group: Group
@@ -16,6 +18,8 @@ export const groupVisualGraphLabel = 'Graph'
1618
export const groupVisualTableLabel = 'Table'
1719

1820
export function GroupTransactionsViewTabs({ group }: Props) {
21+
const transactionsGraph = useMemo(() => asTransactionsGraphData(group.transactions), [group.transactions])
22+
1923
return (
2024
<Tabs defaultValue={graphTabId}>
2125
<TabsList aria-label={groupVisual}>
@@ -27,7 +31,7 @@ export function GroupTransactionsViewTabs({ group }: Props) {
2731
</TabsTrigger>
2832
</TabsList>
2933
<OverflowAutoTabsContent value={graphTabId}>
30-
<TransactionsGraph transactions={group.transactions} />
34+
<TransactionsGraph transactionsGraphData={transactionsGraph} />
3135
</OverflowAutoTabsContent>
3236
<OverflowAutoTabsContent value={tableTabId}>
3337
<TransactionsTable transactions={group.transactions} columns={transactionsTableColumnsWithoutRound} subRowsExpanded={false} />

src/features/search/components/search.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { useSearch } from '../data'
1515
import { Loader } from 'lucide-react'
1616
import { Badge } from '@/features/common/components/badge'
1717
import { useLocationChange } from '@/features/common/hooks/use-location-change'
18-
import { isMacOs } from '@/utils/is-mac-platform.ts'
18+
import { isMacOs } from '@/utils/is-mac-platform'
1919

2020
export const searchPlaceholderLabel = `Search by ID or Address ${isMacOs ? '(⌘K)' : '(Ctrl+K)'}`
2121
export const noSearchResultsMessage = 'No results.'

0 commit comments

Comments
 (0)