@@ -11,6 +11,7 @@ import {
1111 fetchMarketStats ,
1212 fetchTreasuryTokens ,
1313 fetchTokenPrice ,
14+ fetchHolders ,
1415} from "@/queries/daoQueries" ;
1516
1617export const runtime = "edge" ;
@@ -50,6 +51,14 @@ export default function DAOPage() {
5051 enabled : ! ! dex ,
5152 } ) ;
5253
54+ // Fetch holders data directly from Hiro API
55+ const { data : holdersData , isLoading : isLoadingHolders } = useQuery ( {
56+ queryKey : [ "holders" , token ?. contract_principal , token ?. symbol ] ,
57+ queryFn : ( ) => fetchHolders ( token ! . contract_principal , token ! . symbol ) ,
58+ enabled : ! ! token ?. contract_principal && ! ! token ?. symbol ,
59+ staleTime : 600000 , // 10 minutes
60+ } ) ;
61+
5362 const { data : marketStats , isLoading : isLoadingMarketStats } = useQuery ( {
5463 queryKey : [
5564 "marketStats" ,
@@ -83,7 +92,8 @@ export default function DAOPage() {
8392 isLoadingExtensions ||
8493 isLoadingTokenPrice ||
8594 isLoadingMarketStats ||
86- isLoadingTreasuryTokens ;
95+ isLoadingTreasuryTokens ||
96+ isLoadingHolders ;
8797
8898 if ( isLoading ) {
8999 return (
@@ -120,12 +130,28 @@ export default function DAOPage() {
120130 ) ;
121131 }
122132
133+ // Create an enhanced marketStats object that uses the holders count from Hiro API
134+ const enhancedMarketStats = marketStats
135+ ? {
136+ ...marketStats ,
137+ // Prioritize holders count from Hiro API, fall back to marketStats
138+ holderCount : holdersData ?. holderCount || marketStats . holderCount ,
139+ }
140+ : {
141+ price : tokenPrice ?. price || 0 ,
142+ marketCap : tokenPrice ?. marketCap || 0 ,
143+ treasuryBalance : token ?. max_supply
144+ ? token . max_supply * 0.8 * ( tokenPrice ?. price || 0 )
145+ : 0 ,
146+ holderCount : holdersData ?. holderCount || 0 ,
147+ } ;
148+
123149 return (
124150 < div className = "max-w-[1400px] mx-auto space-y-6 h-full" >
125151 < DAOOverview
126152 dao = { dao }
127153 token = { token }
128- marketStats = { marketStats }
154+ marketStats = { enhancedMarketStats }
129155 treasuryTokens = { treasuryTokens }
130156 />
131157 </ div >
0 commit comments