Skip to content

Commit

Permalink
web: fetch product
Browse files Browse the repository at this point in the history
  • Loading branch information
0x0ece committed Apr 1, 2024
1 parent 4ef2cc5 commit f0863b4
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 31 deletions.
44 changes: 23 additions & 21 deletions web/src/app/products/product-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@ import {
Tile,
} from '@carbon/react';
import { formatNumber, formatPercent } from '../utils/format-number';
import { useLocation, useNavigate, useNavigation } from 'react-router-dom';
import { useParams, useNavigate, useNavigation } from 'react-router-dom';

import { SideActionBar } from './SideActionBar';
import { getTokenMetadata } from '@solana/spl-token';
import { gray70Hover } from '@carbon/colors';
import { useQuery } from '@tanstack/react-query';

import { useGlamProgramAccount } from '../glam/glam-data-access';

export default function ProductPage() {
const grayStyle = {
color: gray70Hover,
Expand All @@ -28,20 +30,18 @@ export default function ProductPage() {
};

// retrieve the publicKey from the URL
const location = useLocation();
const path = location.pathname.split('/'); // ['', 'products', 'id (publicKey)']
let { id } = useParams();

const { data, isLoading, error } = useQuery({
queryKey: ['share-class', path],
queryFn: async () => {
const connection = new Connection(clusterApiUrl('devnet'));
const tokenMetadata = await getTokenMetadata(
connection,
new PublicKey(path[2])
);
return tokenMetadata;
},
});
// fetch the fund, for now we default to 2ex...
const defaultFund = "2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt";
let glam = new PublicKey(defaultFund);
try {
glam = new PublicKey(id || defaultFund);
} catch(_e) {
// pass
}
const { account } = useGlamProgramAccount({ glam });
const data = account.data;

const shareClass = {
id: data?.symbol,
Expand All @@ -58,21 +58,23 @@ export default function ProductPage() {
// will optimize looping later once we have all the necessary data
fees: {
management: +(
data?.additionalMetadata?.find((x) => x[0] === 'fee_management')?.[1] ??
// data?.additionalMetadata?.find((x) => x[0] === 'fee_management')?.[1] ??
0
),
performance: +(
data?.additionalMetadata?.find(
(x) => x[0] === 'fee_performance'
)?.[1] ?? 0
// data?.additionalMetadata?.find(
// (x) => x[0] === 'fee_performance'
// )?.[1] ??
0
),
subscription: 0.0,
redemption: 0.0,
},
facts: {
launchDate: data?.additionalMetadata?.find(
(x) => x[0] === 'launch_date'
)?.[1],
launchDate: "",
// launchDate: data?.additionalMetadata?.find(
// (x) => x[0] === 'launch_date'
// )?.[1],
shareClassAsset: 'USDC',
},
terms: {
Expand Down
20 changes: 10 additions & 10 deletions web/src/app/products/products-overview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { useNavigate } from 'react-router-dom';
export default function ProductsOverview() {
const rows = [
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -29,7 +29,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -40,7 +40,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -51,7 +51,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -62,7 +62,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -73,7 +73,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -84,7 +84,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -95,7 +95,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -106,7 +106,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand All @@ -117,7 +117,7 @@ export default function ProductsOverview() {
status: 'Disabled',
},
{
id: 'GXwshLimDZur9PkBL5xhoraE2vMAQdWxMxEYvPqSvx1z',
id: '2exrMpmVboCb57t94KHZWKEv7nrcoa5rQSawE19atsrt',
symbol: 'GLAM-A-USDC',
nav: 100,
aum: 100,
Expand Down

0 comments on commit f0863b4

Please sign in to comment.