|
1 |
| -import { useQuery } from '@tanstack/react-query' |
2 | 1 | import React, { ReactNode } from 'react'
|
3 | 2 | import styled from 'styled-components'
|
4 |
| -import { getIndexerClient } from '~/getters/getGraphClient' |
5 |
| -import { |
6 |
| - GetStreamsDocument, |
7 |
| - GetStreamsQuery, |
8 |
| - GetStreamsQueryVariables, |
9 |
| -} from '../generated/gql/indexer' |
| 3 | +import { defaultStreamStats } from '~/getters/getStreamStats' |
| 4 | +import { useStreamStatsQuery } from '~/hooks/useStreamStats' |
10 | 5 |
|
11 | 6 | type StatProps = {
|
12 | 7 | id: string
|
@@ -88,53 +83,10 @@ const ButtonGrid = styled.div`
|
88 | 83 | }
|
89 | 84 | `
|
90 | 85 |
|
91 |
| -function useStreamStatsQuery(streamId: string) { |
92 |
| - return useQuery({ |
93 |
| - queryKey: ['useStreamStatsQuery', streamId], |
94 |
| - queryFn: async () => { |
95 |
| - const client = getIndexerClient(137) |
96 |
| - |
97 |
| - if (!client) { |
98 |
| - return defaultStreamStats |
99 |
| - } |
100 |
| - |
101 |
| - const { |
102 |
| - data: { streams }, |
103 |
| - } = await client.query<GetStreamsQuery, GetStreamsQueryVariables>({ |
104 |
| - query: GetStreamsDocument, |
105 |
| - variables: { |
106 |
| - streamIds: [streamId], |
107 |
| - first: 1, |
108 |
| - }, |
109 |
| - }) |
110 |
| - |
111 |
| - const [stream = undefined] = streams.items |
112 |
| - |
113 |
| - if (!stream) { |
114 |
| - return null |
115 |
| - } |
116 |
| - |
117 |
| - const { messagesPerSecond, peerCount } = stream |
118 |
| - |
119 |
| - return { |
120 |
| - latency: undefined as undefined | number, |
121 |
| - messagesPerSecond, |
122 |
| - peerCount, |
123 |
| - } |
124 |
| - }, |
125 |
| - }) |
126 |
| -} |
127 |
| - |
128 | 86 | interface StreamStatsProps {
|
129 | 87 | streamId: string
|
130 | 88 | }
|
131 | 89 |
|
132 |
| -const defaultStreamStats = { |
133 |
| - latency: undefined, |
134 |
| - messagesPerSecond: undefined, |
135 |
| - peerCount: undefined, |
136 |
| -} |
137 |
| - |
138 | 90 | export function StreamStats({ streamId }: StreamStatsProps) {
|
139 | 91 | const { data: stats } = useStreamStatsQuery(streamId)
|
140 | 92 |
|
|
0 commit comments