@orderly.network/trading-leaderboard 2.4.1 → 2.5.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -237,6 +237,16 @@ type CampaignStatsDetailsResponse = {
237
237
  volume: number;
238
238
  symbol: string;
239
239
  }[];
240
+ type CampaignStatsResponse = {
241
+ sign_up_count: number;
242
+ user_count: number;
243
+ volume: number;
244
+ updated_time: number;
245
+ };
246
+ type UserCampaignsResponse = {
247
+ id: string;
248
+ register_time: number;
249
+ }[];
240
250
 
241
251
  /**
242
252
  * Trading leaderboard provider state
@@ -261,12 +271,28 @@ type TradingLeaderboardState = {
261
271
  updatedTime?: number;
262
272
  /** set snapshot time */
263
273
  setUpdatedTime?: (updatedTime?: number) => void;
274
+ /** custom data, if use this, you can full control the data */
275
+ dataAdapter?: (info: {
276
+ page: number;
277
+ pageSize: number;
278
+ }) => {
279
+ loading: boolean;
280
+ dataSource?: any[];
281
+ dataList?: any[];
282
+ userData?: any;
283
+ updatedTime?: number;
284
+ meta?: {
285
+ total: number;
286
+ current_page: number;
287
+ records_per_page: number;
288
+ };
289
+ };
264
290
  };
265
291
  /**
266
292
  * Trading leaderboard context
267
293
  */
268
294
  declare const TradingLeaderboardContext: react.Context<TradingLeaderboardState>;
269
- type TradingLeaderboardProviderProps = PropsWithChildren<Pick<TradingLeaderboardState, "campaigns" | "href" | "backgroundSrc">> & {
295
+ type TradingLeaderboardProviderProps = PropsWithChildren<Pick<TradingLeaderboardState, "campaigns" | "href" | "backgroundSrc" | "dataAdapter">> & {
270
296
  campaignId?: string | number;
271
297
  onCampaignChange?: (campaignId: string | number) => void;
272
298
  };
@@ -297,11 +323,11 @@ type CampaignRankingScriptOptions = {
297
323
  declare function useCampaignRankingScript(options: CampaignRankingScriptOptions): {
298
324
  pagination: _orderly_network_ui.PaginationMeta;
299
325
  initialSort: TableSort;
300
- dataSource: any[];
301
- isLoading: boolean;
326
+ dataSource: any[] | undefined;
327
+ isLoading: boolean | undefined;
302
328
  isMobile: boolean;
303
329
  sentinelRef: react.MutableRefObject<HTMLDivElement | null>;
304
- dataList: any[];
330
+ dataList: any[] | undefined;
305
331
  address: string | undefined;
306
332
  };
307
333
 
@@ -425,4 +451,4 @@ declare const LeaderboardTitle: (props: {
425
451
  isMobile?: boolean;
426
452
  }) => react_jsx_runtime.JSX.Element;
427
453
 
428
- export { type Campaign, type CampaignConfig, CampaignLeaderboard, type CampaignLeaderboardProps, CampaignLeaderboardWidget, type CampaignLeaderboardWidgetProps, CampaignRankingWidget, type CampaignRankingWidgetProps, type CampaignStatistics, type CampaignStatsDetailsResponse, CampaignTagEnum, Campaigns, type CampaignsProps, CampaignsWidget, GeneralLeaderboard, type GeneralLeaderboardProps, GeneralLeaderboardWidget, type GeneralLeaderboardWidgetProps, GeneralRankingWidget, type GeneralRankingWidgetProps, Leaderboard, LeaderboardPage, type LeaderboardPageProps, type LeaderboardProps, LeaderboardSection, LeaderboardTitle, LeaderboardWidget, type LeaderboardWidgetProps, type PrizePool, type PrizePoolTier, Ranking, type RankingProps, type TicketLinearRule, type TicketRules, type TicketTierRule, TradingLeaderboardContext, TradingLeaderboardProvider, type TradingLeaderboardProviderProps, type TradingLeaderboardState, TradingList, type TradingListProps, TradingListWidget, type TradingListWidgetProps, type UserData, useCampaignLeaderboardScript, useCampaignRankingScript, useCampaignsScript, useGeneralLeaderboardScript, useGeneralRankingScript, useLeaderboardScript, useTradingLeaderboardContext, useTradingListScript };
454
+ export { type Campaign, type CampaignConfig, CampaignLeaderboard, type CampaignLeaderboardProps, CampaignLeaderboardWidget, type CampaignLeaderboardWidgetProps, CampaignRankingWidget, type CampaignRankingWidgetProps, type CampaignStatistics, type CampaignStatsDetailsResponse, type CampaignStatsResponse, CampaignTagEnum, Campaigns, type CampaignsProps, CampaignsWidget, GeneralLeaderboard, type GeneralLeaderboardProps, GeneralLeaderboardWidget, type GeneralLeaderboardWidgetProps, GeneralRankingWidget, type GeneralRankingWidgetProps, Leaderboard, LeaderboardPage, type LeaderboardPageProps, type LeaderboardProps, LeaderboardSection, LeaderboardTitle, LeaderboardWidget, type LeaderboardWidgetProps, type PrizePool, type PrizePoolTier, Ranking, type RankingProps, type TicketLinearRule, type TicketRules, type TicketTierRule, TradingLeaderboardContext, TradingLeaderboardProvider, type TradingLeaderboardProviderProps, type TradingLeaderboardState, TradingList, type TradingListProps, TradingListWidget, type TradingListWidgetProps, type UserCampaignsResponse, type UserData, useCampaignLeaderboardScript, useCampaignRankingScript, useCampaignsScript, useGeneralLeaderboardScript, useGeneralRankingScript, useLeaderboardScript, useTradingLeaderboardContext, useTradingListScript };
package/dist/index.d.ts CHANGED
@@ -237,6 +237,16 @@ type CampaignStatsDetailsResponse = {
237
237
  volume: number;
238
238
  symbol: string;
239
239
  }[];
240
+ type CampaignStatsResponse = {
241
+ sign_up_count: number;
242
+ user_count: number;
243
+ volume: number;
244
+ updated_time: number;
245
+ };
246
+ type UserCampaignsResponse = {
247
+ id: string;
248
+ register_time: number;
249
+ }[];
240
250
 
241
251
  /**
242
252
  * Trading leaderboard provider state
@@ -261,12 +271,28 @@ type TradingLeaderboardState = {
261
271
  updatedTime?: number;
262
272
  /** set snapshot time */
263
273
  setUpdatedTime?: (updatedTime?: number) => void;
274
+ /** custom data, if use this, you can full control the data */
275
+ dataAdapter?: (info: {
276
+ page: number;
277
+ pageSize: number;
278
+ }) => {
279
+ loading: boolean;
280
+ dataSource?: any[];
281
+ dataList?: any[];
282
+ userData?: any;
283
+ updatedTime?: number;
284
+ meta?: {
285
+ total: number;
286
+ current_page: number;
287
+ records_per_page: number;
288
+ };
289
+ };
264
290
  };
265
291
  /**
266
292
  * Trading leaderboard context
267
293
  */
268
294
  declare const TradingLeaderboardContext: react.Context<TradingLeaderboardState>;
269
- type TradingLeaderboardProviderProps = PropsWithChildren<Pick<TradingLeaderboardState, "campaigns" | "href" | "backgroundSrc">> & {
295
+ type TradingLeaderboardProviderProps = PropsWithChildren<Pick<TradingLeaderboardState, "campaigns" | "href" | "backgroundSrc" | "dataAdapter">> & {
270
296
  campaignId?: string | number;
271
297
  onCampaignChange?: (campaignId: string | number) => void;
272
298
  };
@@ -297,11 +323,11 @@ type CampaignRankingScriptOptions = {
297
323
  declare function useCampaignRankingScript(options: CampaignRankingScriptOptions): {
298
324
  pagination: _orderly_network_ui.PaginationMeta;
299
325
  initialSort: TableSort;
300
- dataSource: any[];
301
- isLoading: boolean;
326
+ dataSource: any[] | undefined;
327
+ isLoading: boolean | undefined;
302
328
  isMobile: boolean;
303
329
  sentinelRef: react.MutableRefObject<HTMLDivElement | null>;
304
- dataList: any[];
330
+ dataList: any[] | undefined;
305
331
  address: string | undefined;
306
332
  };
307
333
 
@@ -425,4 +451,4 @@ declare const LeaderboardTitle: (props: {
425
451
  isMobile?: boolean;
426
452
  }) => react_jsx_runtime.JSX.Element;
427
453
 
428
- export { type Campaign, type CampaignConfig, CampaignLeaderboard, type CampaignLeaderboardProps, CampaignLeaderboardWidget, type CampaignLeaderboardWidgetProps, CampaignRankingWidget, type CampaignRankingWidgetProps, type CampaignStatistics, type CampaignStatsDetailsResponse, CampaignTagEnum, Campaigns, type CampaignsProps, CampaignsWidget, GeneralLeaderboard, type GeneralLeaderboardProps, GeneralLeaderboardWidget, type GeneralLeaderboardWidgetProps, GeneralRankingWidget, type GeneralRankingWidgetProps, Leaderboard, LeaderboardPage, type LeaderboardPageProps, type LeaderboardProps, LeaderboardSection, LeaderboardTitle, LeaderboardWidget, type LeaderboardWidgetProps, type PrizePool, type PrizePoolTier, Ranking, type RankingProps, type TicketLinearRule, type TicketRules, type TicketTierRule, TradingLeaderboardContext, TradingLeaderboardProvider, type TradingLeaderboardProviderProps, type TradingLeaderboardState, TradingList, type TradingListProps, TradingListWidget, type TradingListWidgetProps, type UserData, useCampaignLeaderboardScript, useCampaignRankingScript, useCampaignsScript, useGeneralLeaderboardScript, useGeneralRankingScript, useLeaderboardScript, useTradingLeaderboardContext, useTradingListScript };
454
+ export { type Campaign, type CampaignConfig, CampaignLeaderboard, type CampaignLeaderboardProps, CampaignLeaderboardWidget, type CampaignLeaderboardWidgetProps, CampaignRankingWidget, type CampaignRankingWidgetProps, type CampaignStatistics, type CampaignStatsDetailsResponse, type CampaignStatsResponse, CampaignTagEnum, Campaigns, type CampaignsProps, CampaignsWidget, GeneralLeaderboard, type GeneralLeaderboardProps, GeneralLeaderboardWidget, type GeneralLeaderboardWidgetProps, GeneralRankingWidget, type GeneralRankingWidgetProps, Leaderboard, LeaderboardPage, type LeaderboardPageProps, type LeaderboardProps, LeaderboardSection, LeaderboardTitle, LeaderboardWidget, type LeaderboardWidgetProps, type PrizePool, type PrizePoolTier, Ranking, type RankingProps, type TicketLinearRule, type TicketRules, type TicketTierRule, TradingLeaderboardContext, TradingLeaderboardProvider, type TradingLeaderboardProviderProps, type TradingLeaderboardState, TradingList, type TradingListProps, TradingListWidget, type TradingListWidgetProps, type UserCampaignsResponse, type UserData, useCampaignLeaderboardScript, useCampaignRankingScript, useCampaignsScript, useGeneralLeaderboardScript, useGeneralRankingScript, useLeaderboardScript, useTradingLeaderboardContext, useTradingListScript };