* chore: cleanup lib types * chore: migrate withdrawals * fix: withdrawals query and types * fix: types * fix: orders build * fix: withdraws build * fix: format * fix: more build stuff in withdrawal lib * fix: format * fix: more withdrawal builds * fix: format * fix: orders build again * fix: remaining build errors * fix: format * fix: withdrawal tests * fix: trick git to pick up file rename? * fix: rename back to orders * fix: rename generated file
40 lines
944 B
TypeScript
40 lines
944 B
TypeScript
import { makeDataProvider, useDataProvider } from '@vegaprotocol/react-helpers';
|
|
import { useMemo } from 'react';
|
|
|
|
import type { AssetQuery, AssetFieldsFragment } from './__generated__/Asset';
|
|
import { AssetDocument } from './__generated__/Asset';
|
|
|
|
export type Asset = AssetFieldsFragment;
|
|
|
|
const getData = (responseData: AssetQuery) => {
|
|
const foundAssets = responseData.assetsConnection?.edges
|
|
?.filter((e) => Boolean(e?.node))
|
|
.map((e) => e?.node as Asset);
|
|
if (foundAssets && foundAssets?.length > 0) return foundAssets[0];
|
|
return null;
|
|
};
|
|
|
|
export const assetProvider = makeDataProvider<
|
|
AssetQuery,
|
|
Asset | null,
|
|
never,
|
|
never
|
|
>({
|
|
query: AssetDocument,
|
|
getData,
|
|
});
|
|
|
|
export const useAssetDataProvider = (assetId: string) => {
|
|
const variables = useMemo(
|
|
() => ({
|
|
assetId,
|
|
}),
|
|
[assetId]
|
|
);
|
|
return useDataProvider({
|
|
dataProvider: assetProvider,
|
|
variables,
|
|
skip: !assetId,
|
|
});
|
|
};
|