@agg-market/ui 5.0.0 → 6.0.0
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/README.md +26 -26
- package/dist/auth.d.mts +1 -0
- package/dist/auth.d.ts +1 -0
- package/dist/{connect-button.js → auth.js} +6 -4
- package/dist/auth.mjs +8 -0
- package/dist/chunk-2ICOSP7N.mjs +1211 -0
- package/dist/chunk-5ZKPBMRK.mjs +2411 -0
- package/dist/{chunk-5K7VXAYM.mjs → chunk-ADGL6RFX.mjs} +2 -4
- package/dist/chunk-BXW3VIKV.mjs +90 -0
- package/dist/{chart.js → chunk-CN7GI2RJ.mjs} +250 -103
- package/dist/chunk-G6YKGVQR.mjs +769 -0
- package/dist/{chunk-PZTHM6WG.mjs → chunk-HI4EEDN5.mjs} +897 -357
- package/dist/{chunk-5ADMXO3Y.mjs → chunk-INRG3D4M.mjs} +5 -11
- package/dist/{chunk-QDMHLRDY.mjs → chunk-JE3Z52FD.mjs} +90 -38
- package/dist/chunk-KZOQW6NT.mjs +0 -0
- package/dist/chunk-LMOJKJOY.mjs +2616 -0
- package/dist/{chunk-YJA5VQW6.mjs → chunk-MHCHR65A.mjs} +2 -4
- package/dist/{chunk-IGPNIM2B.mjs → chunk-PASXFYKQ.mjs} +2 -4
- package/dist/chunk-UBBOLLOS.mjs +999 -0
- package/dist/events.d.mts +1 -0
- package/dist/events.d.ts +1 -0
- package/dist/{event-market-page.js → events.js} +4579 -4935
- package/dist/events.mjs +17 -0
- package/dist/index.d.mts +1 -79
- package/dist/index.d.ts +1 -79
- package/dist/index.js +6839 -6839
- package/dist/index.mjs +66 -170
- package/dist/modals.d.mts +1 -0
- package/dist/modals.d.ts +1 -0
- package/dist/{deposit-modal.js → modals.js} +1771 -6
- package/dist/modals.mjs +25 -0
- package/dist/pages.d.mts +1 -0
- package/dist/pages.d.ts +1 -0
- package/dist/{home-page.js → pages.js} +3868 -6
- package/dist/pages.mjs +16 -0
- package/dist/primitives.d.mts +1 -0
- package/dist/primitives.d.ts +1 -0
- package/dist/{market-details.js → primitives.js} +3302 -3729
- package/dist/{icon.mjs → primitives.mjs} +56 -9
- package/dist/trading.d.mts +1 -0
- package/dist/trading.d.ts +1 -0
- package/dist/{event-list.js → trading.js} +1426 -1467
- package/dist/trading.mjs +65 -0
- package/dist/types/auth/connect-button/connect-button.constants.d.mts +10 -0
- package/dist/types/auth/connect-button/connect-button.constants.d.ts +10 -0
- package/dist/{connect-button.d.mts → types/auth/connect-button/connect-button.types.d.mts} +5 -12
- package/dist/{connect-button.d.ts → types/auth/connect-button/connect-button.types.d.ts} +5 -12
- package/dist/types/auth/connect-button/index.d.mts +7 -0
- package/dist/types/auth/connect-button/index.d.ts +7 -0
- package/dist/types/auth/index.d.mts +1 -0
- package/dist/types/auth/index.d.ts +1 -0
- package/dist/types/constants.d.mts +1 -0
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/deposit/deposit-modal.constants.d.mts +9 -0
- package/dist/types/deposit/deposit-modal.constants.d.ts +9 -0
- package/dist/{deposit-modal.d.mts → types/deposit/deposit-modal.types.d.mts} +3 -10
- package/dist/{deposit-modal.d.ts → types/deposit/deposit-modal.types.d.ts} +3 -10
- package/dist/types/deposit/index.d.mts +6 -0
- package/dist/types/deposit/index.d.ts +6 -0
- package/dist/types/deposit/steps/card-deposit.d.mts +7 -0
- package/dist/types/deposit/steps/card-deposit.d.ts +7 -0
- package/dist/types/deposit/steps/crypto-transfer.d.mts +7 -0
- package/dist/types/deposit/steps/crypto-transfer.d.ts +7 -0
- package/dist/types/deposit/steps/deposit-method.d.mts +7 -0
- package/dist/types/deposit/steps/deposit-method.d.ts +7 -0
- package/dist/types/deposit/steps/kalshi-deposit.d.mts +5 -0
- package/dist/types/deposit/steps/kalshi-deposit.d.ts +5 -0
- package/dist/types/deposit/steps/venue-selection.d.mts +7 -0
- package/dist/types/deposit/steps/venue-selection.d.ts +7 -0
- package/dist/types/events/index.d.mts +4 -0
- package/dist/types/events/index.d.ts +4 -0
- package/dist/types/events/item/event-list-item.constants.d.mts +1 -0
- package/dist/types/events/item/event-list-item.constants.d.ts +1 -0
- package/dist/types/events/item/event-list-item.types.d.mts +46 -0
- package/dist/types/events/item/event-list-item.types.d.ts +46 -0
- package/dist/types/events/item/event-list-item.utils.d.mts +23 -0
- package/dist/types/events/item/event-list-item.utils.d.ts +23 -0
- package/dist/types/events/item/index.d.mts +6 -0
- package/dist/types/events/item/index.d.ts +6 -0
- package/dist/types/events/item-details/event-list-item-details.constants.d.mts +10 -0
- package/dist/types/events/item-details/event-list-item-details.constants.d.ts +10 -0
- package/dist/types/events/item-details/event-list-item-details.types.d.mts +53 -0
- package/dist/types/events/item-details/event-list-item-details.types.d.ts +53 -0
- package/dist/types/events/item-details/event-list-item-details.utils.d.mts +26 -0
- package/dist/types/events/item-details/event-list-item-details.utils.d.ts +26 -0
- package/dist/types/events/item-details/index.d.mts +6 -0
- package/dist/types/events/item-details/index.d.ts +6 -0
- package/dist/types/events/list/event-list.constants.d.mts +3 -0
- package/dist/types/events/list/event-list.constants.d.ts +3 -0
- package/dist/types/events/list/event-list.types.d.mts +21 -0
- package/dist/types/events/list/event-list.types.d.ts +21 -0
- package/dist/types/events/list/event-list.utils.d.mts +6 -0
- package/dist/types/events/list/event-list.utils.d.ts +6 -0
- package/dist/types/events/list/index.d.mts +6 -0
- package/dist/types/events/list/index.d.ts +6 -0
- package/dist/types/events/market-details/index.d.mts +6 -0
- package/dist/types/events/market-details/index.d.ts +6 -0
- package/dist/types/events/market-details/market-details.constants.d.mts +9 -0
- package/dist/types/events/market-details/market-details.constants.d.ts +9 -0
- package/dist/types/events/market-details/market-details.types.d.mts +63 -0
- package/dist/types/events/market-details/market-details.types.d.ts +63 -0
- package/dist/types/events/market-details/market-details.utils.d.mts +46 -0
- package/dist/types/events/market-details/market-details.utils.d.ts +46 -0
- package/dist/types/index.d.mts +9 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/modals/index.d.mts +4 -0
- package/dist/types/modals/index.d.ts +4 -0
- package/dist/types/onboarding/index.d.mts +11 -0
- package/dist/types/onboarding/index.d.ts +11 -0
- package/dist/types/onboarding/onboarding-modal.constants.d.mts +10 -0
- package/dist/types/onboarding/onboarding-modal.constants.d.ts +10 -0
- package/dist/types/onboarding/onboarding-modal.types.d.mts +55 -0
- package/dist/types/onboarding/onboarding-modal.types.d.ts +55 -0
- package/dist/types/onboarding/steps/connect-accounts.d.mts +5 -0
- package/dist/types/onboarding/steps/connect-accounts.d.ts +5 -0
- package/dist/types/onboarding/steps/connect-kalshi-modal.d.mts +5 -0
- package/dist/types/onboarding/steps/connect-kalshi-modal.d.ts +5 -0
- package/dist/types/onboarding/steps/connect-onchain-modal.d.mts +5 -0
- package/dist/types/onboarding/steps/connect-onchain-modal.d.ts +5 -0
- package/dist/types/onboarding/steps/how-it-works.d.mts +5 -0
- package/dist/types/onboarding/steps/how-it-works.d.ts +5 -0
- package/dist/types/onboarding/steps/profile-setup.d.mts +5 -0
- package/dist/types/onboarding/steps/profile-setup.d.ts +5 -0
- package/dist/types/pages/event-market/event-market.types.d.mts +42 -0
- package/dist/types/pages/event-market/event-market.types.d.ts +42 -0
- package/dist/types/pages/event-market/index.d.mts +6 -0
- package/dist/types/pages/event-market/index.d.ts +6 -0
- package/dist/types/pages/home/home.constants.d.mts +8 -0
- package/dist/types/pages/home/home.constants.d.ts +8 -0
- package/dist/{home-page.d.ts → types/pages/home/home.types.d.mts} +8 -18
- package/dist/{home-page.d.mts → types/pages/home/home.types.d.ts} +8 -18
- package/dist/types/pages/home/home.utils.d.mts +3 -0
- package/dist/types/pages/home/home.utils.d.ts +3 -0
- package/dist/types/pages/home/index.d.mts +6 -0
- package/dist/types/pages/home/index.d.ts +6 -0
- package/dist/types/pages/index.d.mts +3 -0
- package/dist/types/pages/index.d.ts +3 -0
- package/dist/types/pages/user-profile/components/activity-row.d.mts +10 -0
- package/dist/types/pages/user-profile/components/activity-row.d.ts +10 -0
- package/dist/types/pages/user-profile/components/balance-display.d.mts +12 -0
- package/dist/types/pages/user-profile/components/balance-display.d.ts +12 -0
- package/dist/types/pages/user-profile/components/balances-card.d.mts +12 -0
- package/dist/types/pages/user-profile/components/balances-card.d.ts +12 -0
- package/dist/types/pages/user-profile/components/default-avatar.d.mts +8 -0
- package/dist/types/pages/user-profile/components/default-avatar.d.ts +8 -0
- package/dist/types/pages/user-profile/components/empty-state.d.mts +10 -0
- package/dist/types/pages/user-profile/components/empty-state.d.ts +10 -0
- package/dist/types/pages/user-profile/components/position-row.d.mts +10 -0
- package/dist/types/pages/user-profile/components/position-row.d.ts +10 -0
- package/dist/types/pages/user-profile/components/positions-activity.d.mts +14 -0
- package/dist/types/pages/user-profile/components/positions-activity.d.ts +14 -0
- package/dist/types/pages/user-profile/components/user-info-card.d.mts +11 -0
- package/dist/types/pages/user-profile/components/user-info-card.d.ts +11 -0
- package/dist/types/pages/user-profile/index.d.mts +6 -0
- package/dist/types/pages/user-profile/index.d.ts +6 -0
- package/dist/types/pages/user-profile/user-profile.constants.d.mts +9 -0
- package/dist/types/pages/user-profile/user-profile.constants.d.ts +9 -0
- package/dist/{user-profile-page.d.ts → types/pages/user-profile/user-profile.types.d.mts} +12 -22
- package/dist/{user-profile-page.d.mts → types/pages/user-profile/user-profile.types.d.ts} +12 -22
- package/dist/types/primitives/badge/badge.constants.d.mts +4 -0
- package/dist/types/primitives/badge/badge.constants.d.ts +4 -0
- package/dist/types/primitives/badge/badge.types.d.mts +18 -0
- package/dist/types/primitives/badge/badge.types.d.ts +18 -0
- package/dist/types/primitives/badge/index.d.mts +7 -0
- package/dist/types/primitives/badge/index.d.ts +7 -0
- package/dist/types/primitives/button/button.constants.d.mts +6 -0
- package/dist/types/primitives/button/button.constants.d.ts +6 -0
- package/dist/types/primitives/button/button.types.d.mts +12 -0
- package/dist/types/primitives/button/button.types.d.ts +12 -0
- package/dist/types/primitives/button/index.d.mts +6 -0
- package/dist/types/primitives/button/index.d.ts +6 -0
- package/dist/types/primitives/card/card.types.d.mts +3 -0
- package/dist/types/primitives/card/card.types.d.ts +3 -0
- package/dist/types/primitives/card/index.d.mts +6 -0
- package/dist/types/primitives/card/index.d.ts +6 -0
- package/dist/{chart.d.mts → types/primitives/chart/index.d.mts} +7 -10
- package/dist/{chart.d.ts → types/primitives/chart/index.d.ts} +7 -10
- package/dist/types/primitives/hello-world.d.mts +4 -0
- package/dist/types/primitives/hello-world.d.ts +4 -0
- package/dist/types/primitives/icon/icon.constants.d.mts +2 -0
- package/dist/types/primitives/icon/icon.constants.d.ts +2 -0
- package/dist/types/primitives/icon/icon.types.d.mts +9 -0
- package/dist/types/primitives/icon/icon.types.d.ts +9 -0
- package/dist/types/primitives/icon/icon.utils.d.mts +2 -0
- package/dist/types/primitives/icon/icon.utils.d.ts +2 -0
- package/dist/types/primitives/icon/index.d.mts +46 -0
- package/dist/types/primitives/icon/index.d.ts +46 -0
- package/dist/types/primitives/icon/registry.d.mts +166 -0
- package/dist/types/primitives/icon/registry.d.ts +166 -0
- package/dist/types/primitives/icon/svg/arrow-trend-up.d.mts +5 -0
- package/dist/types/primitives/icon/svg/arrow-trend-up.d.ts +5 -0
- package/dist/types/primitives/icon/svg/arrows-to-dot.d.mts +5 -0
- package/dist/types/primitives/icon/svg/arrows-to-dot.d.ts +5 -0
- package/dist/types/primitives/icon/svg/bank.d.mts +5 -0
- package/dist/types/primitives/icon/svg/bank.d.ts +5 -0
- package/dist/types/primitives/icon/svg/best-prices.d.mts +5 -0
- package/dist/types/primitives/icon/svg/best-prices.d.ts +5 -0
- package/dist/types/primitives/icon/svg/bolt.d.mts +5 -0
- package/dist/types/primitives/icon/svg/bolt.d.ts +5 -0
- package/dist/types/primitives/icon/svg/check-badge.d.mts +5 -0
- package/dist/types/primitives/icon/svg/check-badge.d.ts +5 -0
- package/dist/types/primitives/icon/svg/check-circle.d.mts +5 -0
- package/dist/types/primitives/icon/svg/check-circle.d.ts +5 -0
- package/dist/types/primitives/icon/svg/chevron-down.d.mts +5 -0
- package/dist/types/primitives/icon/svg/chevron-down.d.ts +5 -0
- package/dist/types/primitives/icon/svg/chevron-left.d.mts +5 -0
- package/dist/types/primitives/icon/svg/chevron-left.d.ts +5 -0
- package/dist/types/primitives/icon/svg/chevron-right.d.mts +5 -0
- package/dist/types/primitives/icon/svg/chevron-right.d.ts +5 -0
- package/dist/types/primitives/icon/svg/chevron-up.d.mts +5 -0
- package/dist/types/primitives/icon/svg/chevron-up.d.ts +5 -0
- package/dist/types/primitives/icon/svg/close.d.mts +5 -0
- package/dist/types/primitives/icon/svg/close.d.ts +5 -0
- package/dist/types/primitives/icon/svg/copy.d.mts +5 -0
- package/dist/types/primitives/icon/svg/copy.d.ts +5 -0
- package/dist/types/primitives/icon/svg/create-account.d.mts +5 -0
- package/dist/types/primitives/icon/svg/create-account.d.ts +5 -0
- package/dist/types/primitives/icon/svg/credit-card.d.mts +5 -0
- package/dist/types/primitives/icon/svg/credit-card.d.ts +5 -0
- package/dist/types/primitives/icon/svg/disconnect.d.mts +5 -0
- package/dist/types/primitives/icon/svg/disconnect.d.ts +5 -0
- package/dist/types/primitives/icon/svg/discord.d.mts +5 -0
- package/dist/types/primitives/icon/svg/discord.d.ts +5 -0
- package/dist/types/primitives/icon/svg/document.d.mts +5 -0
- package/dist/types/primitives/icon/svg/document.d.ts +5 -0
- package/dist/types/primitives/icon/svg/dots-horizontal.d.mts +5 -0
- package/dist/types/primitives/icon/svg/dots-horizontal.d.ts +5 -0
- package/dist/types/primitives/icon/svg/download.d.mts +5 -0
- package/dist/types/primitives/icon/svg/download.d.ts +5 -0
- package/dist/types/primitives/icon/svg/email.d.mts +5 -0
- package/dist/types/primitives/icon/svg/email.d.ts +5 -0
- package/dist/types/primitives/icon/svg/external-link.d.mts +5 -0
- package/dist/types/primitives/icon/svg/external-link.d.ts +5 -0
- package/dist/types/primitives/icon/svg/info.d.mts +5 -0
- package/dist/types/primitives/icon/svg/info.d.ts +5 -0
- package/dist/types/primitives/icon/svg/link-accounts.d.mts +5 -0
- package/dist/types/primitives/icon/svg/link-accounts.d.ts +5 -0
- package/dist/types/primitives/icon/svg/pencil.d.mts +5 -0
- package/dist/types/primitives/icon/svg/pencil.d.ts +5 -0
- package/dist/types/primitives/icon/svg/play-square.d.mts +5 -0
- package/dist/types/primitives/icon/svg/play-square.d.ts +5 -0
- package/dist/types/primitives/icon/svg/profile.d.mts +5 -0
- package/dist/types/primitives/icon/svg/profile.d.ts +5 -0
- package/dist/types/primitives/icon/svg/revenue-alt.d.mts +5 -0
- package/dist/types/primitives/icon/svg/revenue-alt.d.ts +5 -0
- package/dist/types/primitives/icon/svg/search.d.mts +5 -0
- package/dist/types/primitives/icon/svg/search.d.ts +5 -0
- package/dist/types/primitives/icon/svg/shield-trust.d.mts +5 -0
- package/dist/types/primitives/icon/svg/shield-trust.d.ts +5 -0
- package/dist/types/primitives/icon/svg/stay-in-control.d.mts +5 -0
- package/dist/types/primitives/icon/svg/stay-in-control.d.ts +5 -0
- package/dist/types/primitives/icon/svg/telegram.d.mts +5 -0
- package/dist/types/primitives/icon/svg/telegram.d.ts +5 -0
- package/dist/types/primitives/icon/svg/triangle-down.d.mts +5 -0
- package/dist/types/primitives/icon/svg/triangle-down.d.ts +5 -0
- package/dist/types/primitives/icon/svg/triangle-up-filled.d.mts +5 -0
- package/dist/types/primitives/icon/svg/triangle-up-filled.d.ts +5 -0
- package/dist/types/primitives/icon/svg/triangle-up.d.mts +5 -0
- package/dist/types/primitives/icon/svg/triangle-up.d.ts +5 -0
- package/dist/types/primitives/icon/svg/twitter.d.mts +5 -0
- package/dist/types/primitives/icon/svg/twitter.d.ts +5 -0
- package/dist/types/primitives/icon/svg/upload.d.mts +5 -0
- package/dist/types/primitives/icon/svg/upload.d.ts +5 -0
- package/dist/types/primitives/icon/svg/wallet-avatar.d.mts +5 -0
- package/dist/types/primitives/icon/svg/wallet-avatar.d.ts +5 -0
- package/dist/types/primitives/icon/svg/wallet.d.mts +5 -0
- package/dist/types/primitives/icon/svg/wallet.d.ts +5 -0
- package/dist/types/primitives/icon/svg/warning-filled.d.mts +5 -0
- package/dist/types/primitives/icon/svg/warning-filled.d.ts +5 -0
- package/dist/types/primitives/icon/svg/warning.d.mts +5 -0
- package/dist/types/primitives/icon/svg/warning.d.ts +5 -0
- package/dist/types/primitives/icon/types.d.mts +5 -0
- package/dist/types/primitives/icon/types.d.ts +5 -0
- package/dist/types/primitives/index.d.mts +17 -0
- package/dist/types/primitives/index.d.ts +17 -0
- package/dist/types/primitives/loading-icon/index.d.mts +11 -0
- package/dist/types/primitives/loading-icon/index.d.ts +11 -0
- package/dist/types/primitives/modal/index.d.mts +10 -0
- package/dist/types/primitives/modal/index.d.ts +10 -0
- package/dist/types/primitives/modal/modal.types.d.mts +54 -0
- package/dist/types/primitives/modal/modal.types.d.ts +54 -0
- package/dist/{number-value.d.mts → types/primitives/number-value.d.mts} +3 -5
- package/dist/{number-value.d.ts → types/primitives/number-value.d.ts} +3 -5
- package/dist/types/primitives/search/index.d.mts +6 -0
- package/dist/types/primitives/search/index.d.ts +6 -0
- package/dist/types/primitives/search/search-empty-icon.d.mts +5 -0
- package/dist/types/primitives/search/search-empty-icon.d.ts +5 -0
- package/dist/types/primitives/search/search.types.d.mts +96 -0
- package/dist/types/primitives/search/search.types.d.ts +96 -0
- package/dist/{select.d.mts → types/primitives/select/index.d.mts} +3 -5
- package/dist/{select.d.ts → types/primitives/select/index.d.ts} +3 -5
- package/dist/types/primitives/skeleton/index.d.mts +7 -0
- package/dist/types/primitives/skeleton/index.d.ts +7 -0
- package/dist/types/primitives/skeleton/skeleton-block.d.mts +8 -0
- package/dist/types/primitives/skeleton/skeleton-block.d.ts +8 -0
- package/dist/{skeleton.d.mts → types/primitives/skeleton/skeleton.types.d.mts} +6 -9
- package/dist/{skeleton.d.ts → types/primitives/skeleton/skeleton.types.d.ts} +6 -9
- package/dist/types/primitives/skeleton/views/event-list-item-details-skeleton-view.d.mts +5 -0
- package/dist/types/primitives/skeleton/views/event-list-item-details-skeleton-view.d.ts +5 -0
- package/dist/types/primitives/skeleton/views/event-list-item-skeleton-view.d.mts +9 -0
- package/dist/types/primitives/skeleton/views/event-list-item-skeleton-view.d.ts +9 -0
- package/dist/types/primitives/skeleton/views/event-list-skeleton-view.d.mts +5 -0
- package/dist/types/primitives/skeleton/views/event-list-skeleton-view.d.ts +5 -0
- package/dist/types/primitives/skeleton/views/market-details-skeleton-view.d.mts +12 -0
- package/dist/types/primitives/skeleton/views/market-details-skeleton-view.d.ts +12 -0
- package/dist/types/primitives/skeleton/views/place-order-skeleton-view.d.mts +5 -0
- package/dist/types/primitives/skeleton/views/place-order-skeleton-view.d.ts +5 -0
- package/dist/types/primitives/skeleton/views/settlement-skeleton-view.d.mts +5 -0
- package/dist/types/primitives/skeleton/views/settlement-skeleton-view.d.ts +5 -0
- package/dist/{state-message.d.mts → types/primitives/state-message/index.d.mts} +2 -3
- package/dist/{state-message.d.ts → types/primitives/state-message/index.d.ts} +2 -3
- package/dist/{switch-button.d.mts → types/primitives/switch-button/index.d.mts} +4 -7
- package/dist/{switch-button.d.ts → types/primitives/switch-button/index.d.ts} +4 -7
- package/dist/types/primitives/tabs/index.d.mts +6 -0
- package/dist/types/primitives/tabs/index.d.ts +6 -0
- package/dist/types/primitives/tabs/tabs.types.d.mts +24 -0
- package/dist/types/primitives/tabs/tabs.types.d.ts +24 -0
- package/dist/types/primitives/tabs/tabs.utils.d.mts +14 -0
- package/dist/types/primitives/tabs/tabs.utils.d.ts +14 -0
- package/dist/types/primitives/typography/index.d.mts +7 -0
- package/dist/types/primitives/typography/index.d.ts +7 -0
- package/dist/types/primitives/typography/typography.constants.d.mts +3 -0
- package/dist/types/primitives/typography/typography.constants.d.ts +3 -0
- package/dist/types/primitives/typography/typography.types.d.mts +8 -0
- package/dist/types/primitives/typography/typography.types.d.ts +8 -0
- package/dist/types/primitives/venue-logo/index.d.mts +8 -0
- package/dist/types/primitives/venue-logo/index.d.ts +8 -0
- package/dist/types/primitives/venue-logo/logo-props.d.mts +10 -0
- package/dist/types/primitives/venue-logo/logo-props.d.ts +10 -0
- package/dist/types/primitives/venue-logo/svg/logo-kalshi.d.mts +5 -0
- package/dist/types/primitives/venue-logo/svg/logo-kalshi.d.ts +5 -0
- package/dist/types/primitives/venue-logo/svg/logo-opinion.d.mts +5 -0
- package/dist/types/primitives/venue-logo/svg/logo-opinion.d.ts +5 -0
- package/dist/types/primitives/venue-logo/svg/logo-polymarket.d.mts +5 -0
- package/dist/types/primitives/venue-logo/svg/logo-polymarket.d.ts +5 -0
- package/dist/types/primitives/venue-logo/svg/logo-probable.d.mts +5 -0
- package/dist/types/primitives/venue-logo/svg/logo-probable.d.ts +5 -0
- package/dist/types/primitives/venue-logo/venue-logo.constants.d.mts +9 -0
- package/dist/types/primitives/venue-logo/venue-logo.constants.d.ts +9 -0
- package/dist/types/primitives/venue-logo/venue-logo.types.d.mts +17 -0
- package/dist/types/primitives/venue-logo/venue-logo.types.d.ts +17 -0
- package/dist/types/profile/index.d.mts +6 -0
- package/dist/types/profile/index.d.ts +6 -0
- package/dist/types/profile/profile-modal.constants.d.mts +17 -0
- package/dist/types/profile/profile-modal.constants.d.ts +17 -0
- package/dist/{profile-modal.d.mts → types/profile/profile-modal.types.d.mts} +4 -11
- package/dist/{profile-modal.d.ts → types/profile/profile-modal.types.d.ts} +4 -11
- package/dist/types/profile/tabs/about-tab.d.mts +16 -0
- package/dist/types/profile/tabs/about-tab.d.ts +16 -0
- package/dist/types/profile/tabs/accounts-wallets-tab.d.mts +18 -0
- package/dist/types/profile/tabs/accounts-wallets-tab.d.ts +18 -0
- package/dist/types/shared/constants.d.mts +23 -0
- package/dist/types/shared/constants.d.ts +23 -0
- package/dist/types/shared/query-error.d.mts +2 -0
- package/dist/types/shared/query-error.d.ts +2 -0
- package/dist/types/shared/types.d.mts +1 -0
- package/dist/types/shared/types.d.ts +1 -0
- package/dist/types/shared/utils.d.mts +15 -0
- package/dist/types/shared/utils.d.ts +15 -0
- package/dist/types/trading/index.d.mts +4 -0
- package/dist/types/trading/index.d.ts +4 -0
- package/dist/{place-order.d.ts → types/trading/place-order/index.d.mts} +3 -7
- package/dist/{place-order.d.mts → types/trading/place-order/index.d.ts} +3 -7
- package/dist/{settlement.d.ts → types/trading/settlement/index.d.mts} +3 -7
- package/dist/{settlement.d.mts → types/trading/settlement/index.d.ts} +3 -7
- package/dist/{types-BImwqY4o.d.ts → types/trading/types.d.mts} +35 -38
- package/dist/{types-BImwqY4o.d.mts → types/trading/types.d.ts} +35 -38
- package/dist/types/trading/utils.d.mts +16 -0
- package/dist/types/trading/utils.d.ts +16 -0
- package/dist/types/withdraw/index.d.mts +6 -0
- package/dist/types/withdraw/index.d.ts +6 -0
- package/dist/types/withdraw/steps/kalshi-withdraw.d.mts +5 -0
- package/dist/types/withdraw/steps/kalshi-withdraw.d.ts +5 -0
- package/dist/types/withdraw/steps/venue-selection.d.mts +6 -0
- package/dist/types/withdraw/steps/venue-selection.d.ts +6 -0
- package/dist/types/withdraw/steps/withdraw-amount.d.mts +8 -0
- package/dist/types/withdraw/steps/withdraw-amount.d.ts +8 -0
- package/dist/types/withdraw/steps/withdraw-method.d.mts +7 -0
- package/dist/types/withdraw/steps/withdraw-method.d.ts +7 -0
- package/dist/types/withdraw/withdraw-modal.constants.d.mts +9 -0
- package/dist/types/withdraw/withdraw-modal.constants.d.ts +9 -0
- package/dist/{withdraw-modal.d.mts → types/withdraw/withdraw-modal.types.d.mts} +3 -10
- package/dist/{withdraw-modal.d.ts → types/withdraw/withdraw-modal.types.d.ts} +3 -10
- package/package.json +33 -283
- package/dist/badge.d.mts +0 -28
- package/dist/badge.d.ts +0 -28
- package/dist/badge.js +0 -110
- package/dist/badge.mjs +0 -9
- package/dist/button.d.mts +0 -20
- package/dist/button.d.ts +0 -20
- package/dist/button.js +0 -183
- package/dist/button.mjs +0 -8
- package/dist/card.d.mts +0 -10
- package/dist/card.d.ts +0 -10
- package/dist/card.js +0 -88
- package/dist/card.mjs +0 -7
- package/dist/chart.mjs +0 -8
- package/dist/chunk-34IRJYSU.mjs +0 -146
- package/dist/chunk-3QLOUBDJ.mjs +0 -483
- package/dist/chunk-3W7NBJLU.mjs +0 -371
- package/dist/chunk-4343LYSH.mjs +0 -45
- package/dist/chunk-4S3I6X7F.mjs +0 -855
- package/dist/chunk-4VUDTWH7.mjs +0 -42
- package/dist/chunk-6JG6I5AY.mjs +0 -654
- package/dist/chunk-BNDFQPHF.mjs +0 -9
- package/dist/chunk-CTYJVVHJ.mjs +0 -334
- package/dist/chunk-DHBHKIJR.mjs +0 -1049
- package/dist/chunk-ERGNR6UQ.mjs +0 -67
- package/dist/chunk-FO263M3V.mjs +0 -10
- package/dist/chunk-FO2QCB4Z.mjs +0 -35
- package/dist/chunk-GFBF2J3Y.mjs +0 -328
- package/dist/chunk-GJ4U5NCE.mjs +0 -134
- package/dist/chunk-K6IJ4WBM.mjs +0 -67
- package/dist/chunk-KAGYJ4XT.mjs +0 -126
- package/dist/chunk-KIYMVWL4.mjs +0 -280
- package/dist/chunk-LCZKSITC.mjs +0 -162
- package/dist/chunk-M4RJHRFT.mjs +0 -445
- package/dist/chunk-MJHKBCXQ.mjs +0 -379
- package/dist/chunk-MKVGQ7AS.mjs +0 -168
- package/dist/chunk-NDG43KGL.mjs +0 -44
- package/dist/chunk-NH2G3POM.mjs +0 -470
- package/dist/chunk-OBCHURW5.mjs +0 -64
- package/dist/chunk-OJVTGNIF.mjs +0 -230
- package/dist/chunk-PORVP72S.mjs +0 -277
- package/dist/chunk-Q6DGDBPV.mjs +0 -774
- package/dist/chunk-QLMVKLNJ.mjs +0 -669
- package/dist/chunk-S3H63TQ5.mjs +0 -537
- package/dist/chunk-T7TATHPD.mjs +0 -313
- package/dist/chunk-XUCS575S.mjs +0 -65
- package/dist/chunk-ZFMCCBP6.mjs +0 -25
- package/dist/connect-button.mjs +0 -14
- package/dist/deposit-modal.mjs +0 -15
- package/dist/event-list-item-details.d.mts +0 -11
- package/dist/event-list-item-details.d.ts +0 -11
- package/dist/event-list-item-details.js +0 -3711
- package/dist/event-list-item-details.mjs +0 -23
- package/dist/event-list-item-details.types-CMbXOrT-.d.ts +0 -53
- package/dist/event-list-item-details.types-DekJKeMD.d.mts +0 -53
- package/dist/event-list-item.d.mts +0 -10
- package/dist/event-list-item.d.ts +0 -10
- package/dist/event-list-item.js +0 -2821
- package/dist/event-list-item.mjs +0 -20
- package/dist/event-list-item.types-Y6IeJ4e4.d.mts +0 -46
- package/dist/event-list-item.types-Y6IeJ4e4.d.ts +0 -46
- package/dist/event-list.d.mts +0 -9
- package/dist/event-list.d.ts +0 -9
- package/dist/event-list.mjs +0 -23
- package/dist/event-list.types-CkAAUqwW.d.mts +0 -13
- package/dist/event-list.types-CkAAUqwW.d.ts +0 -13
- package/dist/event-market-page.d.mts +0 -52
- package/dist/event-market-page.d.ts +0 -52
- package/dist/event-market-page.mjs +0 -30
- package/dist/hello-world.d.mts +0 -8
- package/dist/hello-world.d.ts +0 -8
- package/dist/hello-world.js +0 -92
- package/dist/hello-world.mjs +0 -8
- package/dist/home-page.mjs +0 -24
- package/dist/icon.d.mts +0 -193
- package/dist/icon.d.ts +0 -193
- package/dist/icon.js +0 -1465
- package/dist/loading-icon.d.mts +0 -14
- package/dist/loading-icon.d.ts +0 -14
- package/dist/loading-icon.js +0 -112
- package/dist/loading-icon.mjs +0 -8
- package/dist/market-details.d.mts +0 -73
- package/dist/market-details.d.ts +0 -73
- package/dist/market-details.mjs +0 -24
- package/dist/modal.d.mts +0 -66
- package/dist/modal.d.ts +0 -66
- package/dist/modal.js +0 -321
- package/dist/modal.mjs +0 -9
- package/dist/number-value.js +0 -67
- package/dist/number-value.mjs +0 -7
- package/dist/onboarding-modal.d.mts +0 -88
- package/dist/onboarding-modal.d.ts +0 -88
- package/dist/onboarding-modal.js +0 -2836
- package/dist/onboarding-modal.mjs +0 -24
- package/dist/place-order.js +0 -3248
- package/dist/place-order.mjs +0 -18
- package/dist/profile-modal.js +0 -2447
- package/dist/profile-modal.mjs +0 -14
- package/dist/registry-DfSCFAdC.d.mts +0 -178
- package/dist/registry-DfSCFAdC.d.ts +0 -178
- package/dist/search.d.mts +0 -51
- package/dist/search.d.ts +0 -51
- package/dist/search.js +0 -1957
- package/dist/search.mjs +0 -13
- package/dist/select.js +0 -1552
- package/dist/select.mjs +0 -11
- package/dist/settlement.js +0 -2445
- package/dist/settlement.mjs +0 -15
- package/dist/skeleton.js +0 -490
- package/dist/skeleton.mjs +0 -10
- package/dist/state-message.js +0 -1629
- package/dist/state-message.mjs +0 -14
- package/dist/switch-button.js +0 -191
- package/dist/switch-button.mjs +0 -7
- package/dist/tabs.d.mts +0 -31
- package/dist/tabs.d.ts +0 -31
- package/dist/tabs.js +0 -2078
- package/dist/tabs.mjs +0 -12
- package/dist/types-BVj9ky9P.d.mts +0 -3
- package/dist/types-BVj9ky9P.d.ts +0 -3
- package/dist/typography.d.mts +0 -18
- package/dist/typography.d.ts +0 -18
- package/dist/typography.js +0 -93
- package/dist/typography.mjs +0 -9
- package/dist/user-profile-page.js +0 -3081
- package/dist/user-profile-page.mjs +0 -15
- package/dist/venue-logo.d.mts +0 -13
- package/dist/venue-logo.d.ts +0 -13
- package/dist/venue-logo.js +0 -323
- package/dist/venue-logo.mjs +0 -10
- package/dist/venue-logo.types-CGUc22ly.d.mts +0 -19
- package/dist/venue-logo.types-Dqr39S1-.d.ts +0 -19
- package/dist/withdraw-modal.js +0 -2449
- package/dist/withdraw-modal.mjs +0 -14
|
@@ -0,0 +1,1211 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EventList,
|
|
3
|
+
EventListItemDetails,
|
|
4
|
+
MarketDetails,
|
|
5
|
+
isErrorWithStatus
|
|
6
|
+
} from "./chunk-LMOJKJOY.mjs";
|
|
7
|
+
import {
|
|
8
|
+
StateMessage,
|
|
9
|
+
Typography
|
|
10
|
+
} from "./chunk-CN7GI2RJ.mjs";
|
|
11
|
+
import {
|
|
12
|
+
PlaceOrder,
|
|
13
|
+
Settlement
|
|
14
|
+
} from "./chunk-G6YKGVQR.mjs";
|
|
15
|
+
import {
|
|
16
|
+
Card,
|
|
17
|
+
Tabs
|
|
18
|
+
} from "./chunk-UBBOLLOS.mjs";
|
|
19
|
+
import {
|
|
20
|
+
Button,
|
|
21
|
+
Icon,
|
|
22
|
+
VenueLogo,
|
|
23
|
+
__spreadProps,
|
|
24
|
+
__spreadValues,
|
|
25
|
+
cn
|
|
26
|
+
} from "./chunk-HI4EEDN5.mjs";
|
|
27
|
+
|
|
28
|
+
// src/pages/home/index.tsx
|
|
29
|
+
import { useEffect, useMemo, useState } from "react";
|
|
30
|
+
import { useCategories, useLabels } from "@agg-market/hooks";
|
|
31
|
+
|
|
32
|
+
// src/pages/home/home.constants.ts
|
|
33
|
+
var ALL_CATEGORIES_TAB_VALUE = "trending";
|
|
34
|
+
var DEFAULT_CATEGORIES_LIMIT = 100;
|
|
35
|
+
var DEFAULT_ALL_CATEGORY_TAB_LABEL = "Trending";
|
|
36
|
+
var CATEGORY_TAB_NAME_ORDER = [
|
|
37
|
+
"crypto",
|
|
38
|
+
"economy",
|
|
39
|
+
"entertainment",
|
|
40
|
+
"finance",
|
|
41
|
+
"geopolitics",
|
|
42
|
+
"health",
|
|
43
|
+
"mentions",
|
|
44
|
+
"politics",
|
|
45
|
+
"science",
|
|
46
|
+
"sports",
|
|
47
|
+
"technology",
|
|
48
|
+
"weather",
|
|
49
|
+
"world"
|
|
50
|
+
];
|
|
51
|
+
var getDefaultHomePageTabs = (allCategoryTabLabel) => {
|
|
52
|
+
return [
|
|
53
|
+
{
|
|
54
|
+
value: ALL_CATEGORIES_TAB_VALUE,
|
|
55
|
+
label: allCategoryTabLabel,
|
|
56
|
+
iconName: "arrow-trend-up"
|
|
57
|
+
},
|
|
58
|
+
{ value: "crypto", label: "crypto", categoryIds: ["crypto"] },
|
|
59
|
+
{ value: "economy", label: "economy", categoryIds: ["economy"] },
|
|
60
|
+
{
|
|
61
|
+
value: "entertainment",
|
|
62
|
+
label: "entertainment",
|
|
63
|
+
categoryIds: ["entertainment"]
|
|
64
|
+
},
|
|
65
|
+
{ value: "finance", label: "finance", categoryIds: ["finance"] },
|
|
66
|
+
{
|
|
67
|
+
value: "geopolitics",
|
|
68
|
+
label: "geopolitics",
|
|
69
|
+
categoryIds: ["geopolitics"]
|
|
70
|
+
},
|
|
71
|
+
{ value: "health", label: "health", categoryIds: ["health"] },
|
|
72
|
+
{ value: "mentions", label: "mentions", categoryIds: ["mentions"] },
|
|
73
|
+
{ value: "politics", label: "politics", categoryIds: ["politics"] },
|
|
74
|
+
{ value: "science", label: "science", categoryIds: ["science"] },
|
|
75
|
+
{ value: "sports", label: "sports", categoryIds: ["sports"] },
|
|
76
|
+
{ value: "technology", label: "technology", categoryIds: ["technology"] },
|
|
77
|
+
{ value: "weather", label: "weather", categoryIds: ["weather"] },
|
|
78
|
+
{ value: "world", label: "world", categoryIds: ["world"] }
|
|
79
|
+
];
|
|
80
|
+
};
|
|
81
|
+
var getDefaultEventSectionItems = (labels) => {
|
|
82
|
+
return [
|
|
83
|
+
{
|
|
84
|
+
id: "top-markets",
|
|
85
|
+
title: labels.home.topMarkets,
|
|
86
|
+
maxItemsPerRow: 3,
|
|
87
|
+
limit: 3,
|
|
88
|
+
maxVisibleItems: 3
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: "new-markets",
|
|
92
|
+
title: labels.home.newMarkets,
|
|
93
|
+
maxItemsPerRow: 3,
|
|
94
|
+
limit: 3,
|
|
95
|
+
maxVisibleItems: 3
|
|
96
|
+
}
|
|
97
|
+
];
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// src/pages/home/home.utils.ts
|
|
101
|
+
var categoryOrderMap = CATEGORY_TAB_NAME_ORDER.reduce(
|
|
102
|
+
(accumulator, name, index) => {
|
|
103
|
+
accumulator.set(name, index);
|
|
104
|
+
return accumulator;
|
|
105
|
+
},
|
|
106
|
+
/* @__PURE__ */ new Map()
|
|
107
|
+
);
|
|
108
|
+
var normalizeCategoryName = (name) => {
|
|
109
|
+
return name.trim().toLowerCase();
|
|
110
|
+
};
|
|
111
|
+
var resolveCategoryTabs = (categories, allCategoryTabLabel) => {
|
|
112
|
+
const sortedCategories = [...categories].sort((left, right) => {
|
|
113
|
+
const leftName = normalizeCategoryName(left.name);
|
|
114
|
+
const rightName = normalizeCategoryName(right.name);
|
|
115
|
+
const leftOrder = categoryOrderMap.get(leftName);
|
|
116
|
+
const rightOrder = categoryOrderMap.get(rightName);
|
|
117
|
+
if (leftOrder != null && rightOrder != null) {
|
|
118
|
+
return leftOrder - rightOrder;
|
|
119
|
+
}
|
|
120
|
+
if (leftOrder != null)
|
|
121
|
+
return -1;
|
|
122
|
+
if (rightOrder != null)
|
|
123
|
+
return 1;
|
|
124
|
+
return leftName.localeCompare(rightName);
|
|
125
|
+
});
|
|
126
|
+
const seenCategoryIds = /* @__PURE__ */ new Set();
|
|
127
|
+
const tabs = [
|
|
128
|
+
{
|
|
129
|
+
value: ALL_CATEGORIES_TAB_VALUE,
|
|
130
|
+
label: allCategoryTabLabel,
|
|
131
|
+
iconName: "arrow-trend-up"
|
|
132
|
+
}
|
|
133
|
+
];
|
|
134
|
+
for (const category of sortedCategories) {
|
|
135
|
+
if (seenCategoryIds.has(category.id))
|
|
136
|
+
continue;
|
|
137
|
+
seenCategoryIds.add(category.id);
|
|
138
|
+
tabs.push({
|
|
139
|
+
value: category.id,
|
|
140
|
+
label: normalizeCategoryName(category.name),
|
|
141
|
+
categoryIds: [category.id]
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
return tabs;
|
|
145
|
+
};
|
|
146
|
+
var resolveInitialTabValue = (tabs, defaultActiveTab) => {
|
|
147
|
+
var _a, _b;
|
|
148
|
+
if (defaultActiveTab) {
|
|
149
|
+
const hasDefaultTab = tabs.some((tab) => tab.value === defaultActiveTab);
|
|
150
|
+
if (hasDefaultTab)
|
|
151
|
+
return defaultActiveTab;
|
|
152
|
+
}
|
|
153
|
+
return (_b = (_a = tabs[0]) == null ? void 0 : _a.value) != null ? _b : "trending";
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
// src/pages/home/index.tsx
|
|
157
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
158
|
+
var HomePage = ({
|
|
159
|
+
tabs,
|
|
160
|
+
defaultActiveTab,
|
|
161
|
+
onTabChange,
|
|
162
|
+
eventSectionItems,
|
|
163
|
+
classNames,
|
|
164
|
+
useCategoriesTabs = true,
|
|
165
|
+
categoriesLimit = DEFAULT_CATEGORIES_LIMIT,
|
|
166
|
+
allCategoryTabLabel = DEFAULT_ALL_CATEGORY_TAB_LABEL
|
|
167
|
+
}) => {
|
|
168
|
+
const labels = useLabels();
|
|
169
|
+
const hasCustomTabs = !!tabs && tabs.length > 0;
|
|
170
|
+
const shouldUseCategoriesTabs = !hasCustomTabs && useCategoriesTabs;
|
|
171
|
+
const resolvedAllCategoryTabLabel = allCategoryTabLabel === DEFAULT_ALL_CATEGORY_TAB_LABEL ? labels.home.trending : allCategoryTabLabel;
|
|
172
|
+
const { categories } = useCategories({
|
|
173
|
+
limit: categoriesLimit,
|
|
174
|
+
enabled: shouldUseCategoriesTabs
|
|
175
|
+
});
|
|
176
|
+
const categoryTabs = useMemo(() => {
|
|
177
|
+
return resolveCategoryTabs(categories, resolvedAllCategoryTabLabel);
|
|
178
|
+
}, [categories, resolvedAllCategoryTabLabel]);
|
|
179
|
+
const resolvedTabs = useMemo(() => {
|
|
180
|
+
if (hasCustomTabs && tabs)
|
|
181
|
+
return tabs;
|
|
182
|
+
if (shouldUseCategoriesTabs)
|
|
183
|
+
return categoryTabs;
|
|
184
|
+
return getDefaultHomePageTabs(resolvedAllCategoryTabLabel);
|
|
185
|
+
}, [categoryTabs, hasCustomTabs, resolvedAllCategoryTabLabel, shouldUseCategoriesTabs, tabs]);
|
|
186
|
+
const resolvedEventSectionItems = eventSectionItems && eventSectionItems.length > 0 ? eventSectionItems : getDefaultEventSectionItems(labels);
|
|
187
|
+
const [activeTabValue, setActiveTabValue] = useState(() => {
|
|
188
|
+
return resolveInitialTabValue(resolvedTabs, defaultActiveTab);
|
|
189
|
+
});
|
|
190
|
+
useEffect(() => {
|
|
191
|
+
setActiveTabValue((currentValue) => {
|
|
192
|
+
const hasCurrentValue = resolvedTabs.some((tab) => tab.value === currentValue);
|
|
193
|
+
if (hasCurrentValue)
|
|
194
|
+
return currentValue;
|
|
195
|
+
return resolveInitialTabValue(resolvedTabs, defaultActiveTab);
|
|
196
|
+
});
|
|
197
|
+
}, [defaultActiveTab, resolvedTabs]);
|
|
198
|
+
const tabsItems = useMemo(() => {
|
|
199
|
+
return resolvedTabs.map((tab) => {
|
|
200
|
+
const isActive = tab.value === activeTabValue;
|
|
201
|
+
return {
|
|
202
|
+
value: tab.value,
|
|
203
|
+
label: tab.label,
|
|
204
|
+
icon: tab.iconName ? /* @__PURE__ */ jsx(
|
|
205
|
+
Icon,
|
|
206
|
+
{
|
|
207
|
+
name: tab.iconName,
|
|
208
|
+
size: "medium",
|
|
209
|
+
color: isActive ? "var(--agg-color-primary)" : "var(--agg-color-foreground)"
|
|
210
|
+
}
|
|
211
|
+
) : void 0,
|
|
212
|
+
disabled: tab.disabled
|
|
213
|
+
};
|
|
214
|
+
});
|
|
215
|
+
}, [activeTabValue, resolvedTabs]);
|
|
216
|
+
const activeTab = useMemo(() => {
|
|
217
|
+
return resolvedTabs.find((tab) => tab.value === activeTabValue);
|
|
218
|
+
}, [activeTabValue, resolvedTabs]);
|
|
219
|
+
const resolvedSectionItems = useMemo(() => {
|
|
220
|
+
var _a, _b, _c, _d, _e;
|
|
221
|
+
if (activeTabValue === ALL_CATEGORIES_TAB_VALUE) {
|
|
222
|
+
return resolvedEventSectionItems;
|
|
223
|
+
}
|
|
224
|
+
const maxItemsPerRow = (_b = (_a = resolvedEventSectionItems[0]) == null ? void 0 : _a.maxItemsPerRow) != null ? _b : 3;
|
|
225
|
+
const showVenueLogo = (_c = resolvedEventSectionItems[0]) == null ? void 0 : _c.showVenueLogo;
|
|
226
|
+
const firstSectionLimit = (_d = resolvedEventSectionItems[0]) == null ? void 0 : _d.limit;
|
|
227
|
+
const limit = firstSectionLimit && Number.isFinite(firstSectionLimit) ? Math.max(9, Math.floor(firstSectionLimit)) : 9;
|
|
228
|
+
return [
|
|
229
|
+
{
|
|
230
|
+
id: `${activeTabValue}-markets`,
|
|
231
|
+
title: (_e = activeTab == null ? void 0 : activeTab.label) != null ? _e : activeTabValue,
|
|
232
|
+
maxItemsPerRow,
|
|
233
|
+
limit,
|
|
234
|
+
maxVisibleItems: void 0,
|
|
235
|
+
showVenueLogo,
|
|
236
|
+
search: activeTab == null ? void 0 : activeTab.search,
|
|
237
|
+
categoryIds: activeTab == null ? void 0 : activeTab.categoryIds
|
|
238
|
+
}
|
|
239
|
+
];
|
|
240
|
+
}, [activeTab, activeTabValue, resolvedEventSectionItems]);
|
|
241
|
+
const handleTabChange = (value) => {
|
|
242
|
+
setActiveTabValue(value);
|
|
243
|
+
onTabChange == null ? void 0 : onTabChange(value);
|
|
244
|
+
};
|
|
245
|
+
return /* @__PURE__ */ jsxs("section", { className: cn("flex w-full flex-col", classNames == null ? void 0 : classNames.root), children: [
|
|
246
|
+
/* @__PURE__ */ jsx(
|
|
247
|
+
"header",
|
|
248
|
+
{
|
|
249
|
+
className: cn("w-full bg-agg-secondary border-b border-agg-separator", classNames == null ? void 0 : classNames.header),
|
|
250
|
+
children: /* @__PURE__ */ jsx(
|
|
251
|
+
Tabs,
|
|
252
|
+
{
|
|
253
|
+
ariaLabel: labels.home.categoryTabsAria,
|
|
254
|
+
variant: "underline",
|
|
255
|
+
className: cn("w-full px-4 md:px-10", classNames == null ? void 0 : classNames.tabs),
|
|
256
|
+
items: tabsItems,
|
|
257
|
+
value: activeTabValue,
|
|
258
|
+
onChange: handleTabChange
|
|
259
|
+
}
|
|
260
|
+
)
|
|
261
|
+
}
|
|
262
|
+
),
|
|
263
|
+
/* @__PURE__ */ jsx(
|
|
264
|
+
"main",
|
|
265
|
+
{
|
|
266
|
+
className: cn(
|
|
267
|
+
"flex w-full flex-col gap-4 md:gap-10 px-4 md:px-10 py-4 md:py-8",
|
|
268
|
+
classNames == null ? void 0 : classNames.sections
|
|
269
|
+
),
|
|
270
|
+
children: resolvedSectionItems.map((eventSectionItem) => {
|
|
271
|
+
var _a, _b, _c;
|
|
272
|
+
return /* @__PURE__ */ jsx(
|
|
273
|
+
EventList,
|
|
274
|
+
{
|
|
275
|
+
title: eventSectionItem.title,
|
|
276
|
+
maxItemsPerRow: eventSectionItem.maxItemsPerRow,
|
|
277
|
+
limit: eventSectionItem.limit,
|
|
278
|
+
maxVisibleItems: eventSectionItem.maxVisibleItems,
|
|
279
|
+
showVenueLogo: eventSectionItem.showVenueLogo,
|
|
280
|
+
search: (_b = eventSectionItem.search) != null ? _b : activeTab == null ? void 0 : activeTab.search,
|
|
281
|
+
categoryIds: (_c = eventSectionItem.categoryIds) != null ? _c : activeTab == null ? void 0 : activeTab.categoryIds
|
|
282
|
+
},
|
|
283
|
+
(_a = eventSectionItem.id) != null ? _a : eventSectionItem.title
|
|
284
|
+
);
|
|
285
|
+
})
|
|
286
|
+
}
|
|
287
|
+
)
|
|
288
|
+
] });
|
|
289
|
+
};
|
|
290
|
+
HomePage.displayName = "HomePage";
|
|
291
|
+
|
|
292
|
+
// src/pages/event-market/index.tsx
|
|
293
|
+
import { useEffect as useEffect2, useMemo as useMemo2, useState as useState2 } from "react";
|
|
294
|
+
import { useEvent, useLabels as useLabels2 } from "@agg-market/hooks";
|
|
295
|
+
import dayjs from "dayjs";
|
|
296
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
297
|
+
var getMarketDateValue = (market, fallbackIndex) => {
|
|
298
|
+
var _a, _b, _c;
|
|
299
|
+
const candidateDate = (_c = (_b = (_a = market.endDate) != null ? _a : market.startDate) != null ? _b : market.creationDate) != null ? _c : null;
|
|
300
|
+
if (!candidateDate)
|
|
301
|
+
return Number.MAX_SAFE_INTEGER - 1 + fallbackIndex;
|
|
302
|
+
const parsedDate = dayjs(candidateDate);
|
|
303
|
+
if (!parsedDate.isValid()) {
|
|
304
|
+
return Number.MAX_SAFE_INTEGER - 1 + fallbackIndex;
|
|
305
|
+
}
|
|
306
|
+
return parsedDate.valueOf();
|
|
307
|
+
};
|
|
308
|
+
var resolveHeroMarketId = (event, heroMarketId) => {
|
|
309
|
+
var _a, _b;
|
|
310
|
+
if (!((_a = event == null ? void 0 : event.markets) == null ? void 0 : _a.length))
|
|
311
|
+
return void 0;
|
|
312
|
+
if (heroMarketId) {
|
|
313
|
+
const matchingHeroMarket = event.markets.find(
|
|
314
|
+
(market) => market.id === heroMarketId
|
|
315
|
+
);
|
|
316
|
+
if (matchingHeroMarket)
|
|
317
|
+
return matchingHeroMarket.id;
|
|
318
|
+
}
|
|
319
|
+
return (_b = event.markets[0]) == null ? void 0 : _b.id;
|
|
320
|
+
};
|
|
321
|
+
var buildHeroEvent = (event, heroMarketId) => {
|
|
322
|
+
if (!heroMarketId)
|
|
323
|
+
return void 0;
|
|
324
|
+
const heroMarket = event.markets.find((market) => market.id === heroMarketId);
|
|
325
|
+
if (!heroMarket)
|
|
326
|
+
return void 0;
|
|
327
|
+
return __spreadProps(__spreadValues({}, event), {
|
|
328
|
+
markets: [heroMarket]
|
|
329
|
+
});
|
|
330
|
+
};
|
|
331
|
+
var resolveDetailedMarkets = (event, heroMarketId) => {
|
|
332
|
+
return event.markets.filter((market) => market.id !== heroMarketId).map((market, index) => ({
|
|
333
|
+
market,
|
|
334
|
+
index
|
|
335
|
+
})).sort(
|
|
336
|
+
(leftItem, rightItem) => {
|
|
337
|
+
return getMarketDateValue(leftItem.market, leftItem.index) - getMarketDateValue(rightItem.market, rightItem.index);
|
|
338
|
+
}
|
|
339
|
+
).map((item) => item.market);
|
|
340
|
+
};
|
|
341
|
+
var resolveInitialExpandedMarketId = (detailedMarkets, defaultExpandedMarketId) => {
|
|
342
|
+
var _a, _b;
|
|
343
|
+
if (!detailedMarkets.length)
|
|
344
|
+
return null;
|
|
345
|
+
if (defaultExpandedMarketId) {
|
|
346
|
+
const matchingMarket = detailedMarkets.find((market) => market.id === defaultExpandedMarketId);
|
|
347
|
+
if (matchingMarket)
|
|
348
|
+
return matchingMarket.id;
|
|
349
|
+
}
|
|
350
|
+
return (_b = (_a = detailedMarkets[0]) == null ? void 0 : _a.id) != null ? _b : null;
|
|
351
|
+
};
|
|
352
|
+
var EventMarketPageUnavailableState = ({
|
|
353
|
+
ariaLabel
|
|
354
|
+
}) => {
|
|
355
|
+
const labels = useLabels2();
|
|
356
|
+
return /* @__PURE__ */ jsx2(
|
|
357
|
+
Card,
|
|
358
|
+
{
|
|
359
|
+
className: "rounded-agg-xl border border-agg-separator bg-agg-secondary p-6 shadow-none hover:shadow-none",
|
|
360
|
+
role: "status",
|
|
361
|
+
"aria-label": ariaLabel != null ? ariaLabel : labels.eventMarketPage.unavailableAria,
|
|
362
|
+
children: /* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-1", children: [
|
|
363
|
+
/* @__PURE__ */ jsx2(Typography, { variant: "body-large-strong", children: labels.eventMarketPage.unavailableTitle }),
|
|
364
|
+
/* @__PURE__ */ jsx2(Typography, { variant: "label", className: "text-agg-muted-foreground", children: labels.eventMarketPage.unavailableDescription })
|
|
365
|
+
] })
|
|
366
|
+
}
|
|
367
|
+
);
|
|
368
|
+
};
|
|
369
|
+
var EventMarketPageNotFoundState = ({
|
|
370
|
+
ariaLabel
|
|
371
|
+
}) => {
|
|
372
|
+
const labels = useLabels2();
|
|
373
|
+
return /* @__PURE__ */ jsx2(Card, { className: "overflow-hidden rounded-agg-xl border border-agg-separator bg-agg-secondary p-0 shadow-none hover:shadow-none", children: /* @__PURE__ */ jsx2(
|
|
374
|
+
StateMessage,
|
|
375
|
+
{
|
|
376
|
+
ariaLabel: ariaLabel != null ? ariaLabel : labels.eventItemDetails.notFoundAria,
|
|
377
|
+
title: labels.eventItemDetails.notFoundTitle,
|
|
378
|
+
description: labels.eventItemDetails.notFoundDescription,
|
|
379
|
+
className: "min-h-[320px] md:min-h-[360px]"
|
|
380
|
+
}
|
|
381
|
+
) });
|
|
382
|
+
};
|
|
383
|
+
var EventMarketPageLoadingState = ({
|
|
384
|
+
placeOrder,
|
|
385
|
+
settlement,
|
|
386
|
+
classNames
|
|
387
|
+
}) => {
|
|
388
|
+
const labels = useLabels2();
|
|
389
|
+
const fallbackSettlement = settlement != null ? settlement : {
|
|
390
|
+
sectionLabel: labels.trading.settlementSection,
|
|
391
|
+
question: labels.eventMarketPage.loadingSettlementQuestion,
|
|
392
|
+
differencesTitle: labels.eventMarketPage.loadingSettlementDifferencesTitle,
|
|
393
|
+
differences: [labels.eventMarketPage.loadingSettlementPlaceholder],
|
|
394
|
+
venues: [
|
|
395
|
+
{
|
|
396
|
+
venue: "polymarket",
|
|
397
|
+
description: labels.eventMarketPage.loadingSettlementPlaceholder
|
|
398
|
+
}
|
|
399
|
+
]
|
|
400
|
+
};
|
|
401
|
+
return /* @__PURE__ */ jsx2("section", { className: cn("w-full", classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsxs2(
|
|
402
|
+
"div",
|
|
403
|
+
{
|
|
404
|
+
className: cn(
|
|
405
|
+
"mx-auto flex w-full max-w-[1200px] flex-col gap-6 px-3 py-3 md:px-6 md:py-6 lg:flex-row lg:items-start lg:gap-8",
|
|
406
|
+
classNames == null ? void 0 : classNames.content
|
|
407
|
+
),
|
|
408
|
+
children: [
|
|
409
|
+
/* @__PURE__ */ jsxs2("div", { className: cn("flex min-w-0 flex-1 flex-col gap-6", classNames == null ? void 0 : classNames.main), children: [
|
|
410
|
+
/* @__PURE__ */ jsx2(
|
|
411
|
+
EventListItemDetails,
|
|
412
|
+
{
|
|
413
|
+
isLoading: true,
|
|
414
|
+
classNames: {
|
|
415
|
+
root: classNames == null ? void 0 : classNames.hero
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
),
|
|
419
|
+
/* @__PURE__ */ jsxs2("div", { className: cn("flex flex-col gap-3", classNames == null ? void 0 : classNames.markets), children: [
|
|
420
|
+
/* @__PURE__ */ jsx2(MarketDetails, { isLoading: true, isOpened: true, classNames: { root: "w-full" } }),
|
|
421
|
+
/* @__PURE__ */ jsx2(MarketDetails, { isLoading: true, isOpened: false, classNames: { root: "w-full" } }),
|
|
422
|
+
/* @__PURE__ */ jsx2(MarketDetails, { isLoading: true, isOpened: false, classNames: { root: "w-full" } })
|
|
423
|
+
] }),
|
|
424
|
+
/* @__PURE__ */ jsx2("div", { className: "md:hidden", children: /* @__PURE__ */ jsx2(Settlement, __spreadProps(__spreadValues({}, fallbackSettlement), { isLoading: true, className: classNames == null ? void 0 : classNames.settlement })) }),
|
|
425
|
+
/* @__PURE__ */ jsx2("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx2(Settlement, __spreadProps(__spreadValues({}, fallbackSettlement), { isLoading: true, className: classNames == null ? void 0 : classNames.settlement })) }),
|
|
426
|
+
placeOrder ? /* @__PURE__ */ jsx2("div", { className: "md:hidden", children: /* @__PURE__ */ jsx2(PlaceOrder, __spreadProps(__spreadValues({}, placeOrder), { isLoading: true, className: classNames == null ? void 0 : classNames.mobileTrade })) }) : null
|
|
427
|
+
] }),
|
|
428
|
+
placeOrder ? /* @__PURE__ */ jsx2(
|
|
429
|
+
"aside",
|
|
430
|
+
{
|
|
431
|
+
className: cn(
|
|
432
|
+
"hidden w-full shrink-0 lg:sticky lg:top-6 lg:block lg:w-[343px]",
|
|
433
|
+
classNames == null ? void 0 : classNames.sidebar
|
|
434
|
+
),
|
|
435
|
+
children: /* @__PURE__ */ jsx2(PlaceOrder, __spreadProps(__spreadValues({}, placeOrder), { isLoading: true, className: classNames == null ? void 0 : classNames.trade }))
|
|
436
|
+
}
|
|
437
|
+
) : null
|
|
438
|
+
]
|
|
439
|
+
}
|
|
440
|
+
) });
|
|
441
|
+
};
|
|
442
|
+
var EventMarketPageContent = ({
|
|
443
|
+
event,
|
|
444
|
+
heroMarketId,
|
|
445
|
+
defaultExpandedMarketId,
|
|
446
|
+
expandedMarketId,
|
|
447
|
+
onExpandedMarketChange,
|
|
448
|
+
heroDefaultTimeRange,
|
|
449
|
+
placeOrder,
|
|
450
|
+
settlement,
|
|
451
|
+
classNames,
|
|
452
|
+
ariaLabel
|
|
453
|
+
}) => {
|
|
454
|
+
const labels = useLabels2();
|
|
455
|
+
const resolvedHeroMarketId = useMemo2(() => {
|
|
456
|
+
return resolveHeroMarketId(event, heroMarketId);
|
|
457
|
+
}, [event, heroMarketId]);
|
|
458
|
+
const heroEvent = useMemo2(() => {
|
|
459
|
+
return buildHeroEvent(event, resolvedHeroMarketId);
|
|
460
|
+
}, [event, resolvedHeroMarketId]);
|
|
461
|
+
const detailedMarkets = useMemo2(() => {
|
|
462
|
+
return resolveDetailedMarkets(event, resolvedHeroMarketId);
|
|
463
|
+
}, [event, resolvedHeroMarketId]);
|
|
464
|
+
const [internalExpandedMarketId, setInternalExpandedMarketId] = useState2(() => {
|
|
465
|
+
return resolveInitialExpandedMarketId(detailedMarkets, defaultExpandedMarketId);
|
|
466
|
+
});
|
|
467
|
+
useEffect2(() => {
|
|
468
|
+
if (typeof expandedMarketId === "undefined")
|
|
469
|
+
return;
|
|
470
|
+
setInternalExpandedMarketId(expandedMarketId);
|
|
471
|
+
}, [expandedMarketId]);
|
|
472
|
+
useEffect2(() => {
|
|
473
|
+
if (typeof expandedMarketId !== "undefined")
|
|
474
|
+
return;
|
|
475
|
+
setInternalExpandedMarketId((currentExpandedMarketId) => {
|
|
476
|
+
if (currentExpandedMarketId && detailedMarkets.some((market) => market.id === currentExpandedMarketId)) {
|
|
477
|
+
return currentExpandedMarketId;
|
|
478
|
+
}
|
|
479
|
+
return resolveInitialExpandedMarketId(detailedMarkets, defaultExpandedMarketId);
|
|
480
|
+
});
|
|
481
|
+
}, [defaultExpandedMarketId, detailedMarkets, expandedMarketId]);
|
|
482
|
+
const resolvedExpandedMarketId = typeof expandedMarketId === "undefined" ? internalExpandedMarketId : expandedMarketId;
|
|
483
|
+
const handleExpandedMarketChange = (marketId, isOpened) => {
|
|
484
|
+
const nextExpandedMarketId = isOpened ? marketId : null;
|
|
485
|
+
if (typeof expandedMarketId === "undefined") {
|
|
486
|
+
setInternalExpandedMarketId(nextExpandedMarketId);
|
|
487
|
+
}
|
|
488
|
+
onExpandedMarketChange == null ? void 0 : onExpandedMarketChange(nextExpandedMarketId);
|
|
489
|
+
};
|
|
490
|
+
if (!heroEvent || !event.markets.length) {
|
|
491
|
+
return /* @__PURE__ */ jsx2(EventMarketPageUnavailableState, { ariaLabel });
|
|
492
|
+
}
|
|
493
|
+
return /* @__PURE__ */ jsx2("section", { className: cn("w-full", classNames == null ? void 0 : classNames.root), "aria-label": ariaLabel != null ? ariaLabel : event.title, children: /* @__PURE__ */ jsxs2(
|
|
494
|
+
"div",
|
|
495
|
+
{
|
|
496
|
+
className: cn(
|
|
497
|
+
"mx-auto flex w-full max-w-[1200px] flex-row gap-6 px-3 py-3 md:px-6 md:py-6 lg:flex-row lg:items-start lg:gap-8",
|
|
498
|
+
classNames == null ? void 0 : classNames.content
|
|
499
|
+
),
|
|
500
|
+
children: [
|
|
501
|
+
/* @__PURE__ */ jsxs2("div", { className: cn("flex min-w-0 flex-1 flex-col gap-6", classNames == null ? void 0 : classNames.main), children: [
|
|
502
|
+
/* @__PURE__ */ jsx2(
|
|
503
|
+
EventListItemDetails,
|
|
504
|
+
{
|
|
505
|
+
event: heroEvent,
|
|
506
|
+
defaultTimeRange: heroDefaultTimeRange,
|
|
507
|
+
classNames: {
|
|
508
|
+
root: classNames == null ? void 0 : classNames.hero
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
),
|
|
512
|
+
detailedMarkets.length > 0 ? /* @__PURE__ */ jsx2("div", { className: cn("flex flex-col gap-3", classNames == null ? void 0 : classNames.markets), children: detailedMarkets.map((market) => {
|
|
513
|
+
const isOpened = resolvedExpandedMarketId === market.id;
|
|
514
|
+
return /* @__PURE__ */ jsx2(
|
|
515
|
+
MarketDetails,
|
|
516
|
+
{
|
|
517
|
+
event,
|
|
518
|
+
marketId: market.id,
|
|
519
|
+
isOpened,
|
|
520
|
+
defaultTab: "order-book",
|
|
521
|
+
ariaLabel: market.endDate && dayjs(market.endDate).isValid() ? labels.eventMarketPage.marketDetailsAriaByDate(
|
|
522
|
+
dayjs(market.endDate).format("MMM D, YYYY")
|
|
523
|
+
) : labels.eventMarketPage.marketDetailsAriaByQuestion(market.question),
|
|
524
|
+
onOpenChange: (nextIsOpened) => handleExpandedMarketChange(market.id, nextIsOpened)
|
|
525
|
+
},
|
|
526
|
+
market.id
|
|
527
|
+
);
|
|
528
|
+
}) }) : null,
|
|
529
|
+
settlement ? /* @__PURE__ */ jsx2("div", { className: "md:hidden", children: /* @__PURE__ */ jsx2(Settlement, __spreadProps(__spreadValues({}, settlement), { className: classNames == null ? void 0 : classNames.settlement })) }) : null,
|
|
530
|
+
settlement ? /* @__PURE__ */ jsx2("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx2(Settlement, __spreadProps(__spreadValues({}, settlement), { className: classNames == null ? void 0 : classNames.settlement })) }) : null
|
|
531
|
+
] }),
|
|
532
|
+
placeOrder ? /* @__PURE__ */ jsx2("aside", { className: cn("w-full lg:block lg:max-w-[360px]", classNames == null ? void 0 : classNames.sidebar), children: /* @__PURE__ */ jsx2(PlaceOrder, __spreadProps(__spreadValues({}, placeOrder), { className: classNames == null ? void 0 : classNames.trade })) }) : null
|
|
533
|
+
]
|
|
534
|
+
}
|
|
535
|
+
) });
|
|
536
|
+
};
|
|
537
|
+
var EventMarketPage = (props) => {
|
|
538
|
+
const hasEventProp = "event" in props && !!props.event;
|
|
539
|
+
const {
|
|
540
|
+
event: fetchedEvent,
|
|
541
|
+
error: eventError,
|
|
542
|
+
isLoading: isFetchingEvent
|
|
543
|
+
} = useEvent(hasEventProp ? void 0 : props.eventId, {
|
|
544
|
+
enabled: !props.isLoading && !hasEventProp && !!props.eventId
|
|
545
|
+
});
|
|
546
|
+
if (props.isLoading) {
|
|
547
|
+
return /* @__PURE__ */ jsx2(EventMarketPageLoadingState, { placeOrder: props.placeOrder, settlement: props.settlement });
|
|
548
|
+
}
|
|
549
|
+
if ("event" in props && props.event) {
|
|
550
|
+
return /* @__PURE__ */ jsx2(EventMarketPageContent, __spreadProps(__spreadValues({}, props), { event: props.event }));
|
|
551
|
+
}
|
|
552
|
+
if (isFetchingEvent) {
|
|
553
|
+
return /* @__PURE__ */ jsx2(
|
|
554
|
+
EventMarketPageLoadingState,
|
|
555
|
+
{
|
|
556
|
+
placeOrder: props.placeOrder,
|
|
557
|
+
settlement: props.settlement,
|
|
558
|
+
classNames: props.classNames
|
|
559
|
+
}
|
|
560
|
+
);
|
|
561
|
+
}
|
|
562
|
+
if (!fetchedEvent) {
|
|
563
|
+
if (isErrorWithStatus(eventError, 404)) {
|
|
564
|
+
return /* @__PURE__ */ jsx2(EventMarketPageNotFoundState, { ariaLabel: props.ariaLabel });
|
|
565
|
+
}
|
|
566
|
+
return /* @__PURE__ */ jsx2(EventMarketPageUnavailableState, { ariaLabel: props.ariaLabel });
|
|
567
|
+
}
|
|
568
|
+
return /* @__PURE__ */ jsx2(EventMarketPageContent, __spreadProps(__spreadValues({}, props), { event: fetchedEvent }));
|
|
569
|
+
};
|
|
570
|
+
EventMarketPage.displayName = "EventMarketPage";
|
|
571
|
+
|
|
572
|
+
// src/pages/user-profile/components/balance-display.tsx
|
|
573
|
+
import { useState as useState3 } from "react";
|
|
574
|
+
|
|
575
|
+
// src/pages/user-profile/user-profile.constants.ts
|
|
576
|
+
var USER_PROFILE_TAB_POSITIONS = "positions";
|
|
577
|
+
var USER_PROFILE_TAB_ACTIVITY = "activity";
|
|
578
|
+
var USER_PROFILE_TIME_RANGES = ["1D", "1W", "1M", "All"];
|
|
579
|
+
var USER_PROFILE_POSITION_FILTERS = [
|
|
580
|
+
{ value: "active", label: "Active" },
|
|
581
|
+
{ value: "closed", label: "Closed" }
|
|
582
|
+
];
|
|
583
|
+
|
|
584
|
+
// src/pages/user-profile/components/balance-display.tsx
|
|
585
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
586
|
+
var BalanceDisplay = ({
|
|
587
|
+
balance,
|
|
588
|
+
defaultTimeRange = "All",
|
|
589
|
+
onTimeRangeChange,
|
|
590
|
+
className
|
|
591
|
+
}) => {
|
|
592
|
+
var _a, _b;
|
|
593
|
+
const [activeRange, setActiveRange] = useState3(defaultTimeRange);
|
|
594
|
+
const currentBalance = balance == null ? void 0 : balance[activeRange];
|
|
595
|
+
const handleRangeChange = (range) => {
|
|
596
|
+
setActiveRange(range);
|
|
597
|
+
onTimeRangeChange == null ? void 0 : onTimeRangeChange(range);
|
|
598
|
+
};
|
|
599
|
+
return /* @__PURE__ */ jsxs3(
|
|
600
|
+
"div",
|
|
601
|
+
{
|
|
602
|
+
className: cn(
|
|
603
|
+
"flex items-end justify-between overflow-clip rounded-agg-md border border-agg-separator bg-agg-secondary p-5",
|
|
604
|
+
className
|
|
605
|
+
),
|
|
606
|
+
children: [
|
|
607
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex items-end gap-3", children: [
|
|
608
|
+
/* @__PURE__ */ jsx3("span", { className: "agg-type-display text-agg-foreground", children: (_a = currentBalance == null ? void 0 : currentBalance.totalLabel) != null ? _a : "$0.00" }),
|
|
609
|
+
/* @__PURE__ */ jsx3("span", { className: "font-agg-sans text-agg-base leading-6 font-agg-normal text-agg-muted-foreground", children: "Profit/Loss" }),
|
|
610
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-1", children: [
|
|
611
|
+
/* @__PURE__ */ jsx3(
|
|
612
|
+
"span",
|
|
613
|
+
{
|
|
614
|
+
className: cn(
|
|
615
|
+
"font-agg-sans text-agg-base leading-6 font-agg-bold",
|
|
616
|
+
(currentBalance == null ? void 0 : currentBalance.isPositive) ? "text-agg-success" : "text-agg-error"
|
|
617
|
+
),
|
|
618
|
+
children: (_b = currentBalance == null ? void 0 : currentBalance.changePercentLabel) != null ? _b : "0%"
|
|
619
|
+
}
|
|
620
|
+
),
|
|
621
|
+
/* @__PURE__ */ jsx3(
|
|
622
|
+
Icon,
|
|
623
|
+
{
|
|
624
|
+
name: "triangle-up-filled",
|
|
625
|
+
size: "small",
|
|
626
|
+
className: cn(
|
|
627
|
+
(currentBalance == null ? void 0 : currentBalance.isPositive) ? "text-agg-success" : "rotate-180 text-agg-error"
|
|
628
|
+
)
|
|
629
|
+
}
|
|
630
|
+
)
|
|
631
|
+
] })
|
|
632
|
+
] }),
|
|
633
|
+
/* @__PURE__ */ jsx3("div", { className: "flex w-[100px] items-center justify-between", children: USER_PROFILE_TIME_RANGES.map((range) => {
|
|
634
|
+
const isActive = range === activeRange;
|
|
635
|
+
return /* @__PURE__ */ jsx3(
|
|
636
|
+
"button",
|
|
637
|
+
{
|
|
638
|
+
type: "button",
|
|
639
|
+
onClick: () => handleRangeChange(range),
|
|
640
|
+
className: cn(
|
|
641
|
+
"cursor-pointer bg-transparent font-agg-sans text-agg-sm leading-agg-5",
|
|
642
|
+
isActive ? "font-agg-bold text-agg-foreground" : "font-agg-normal text-agg-muted-foreground hover:text-agg-foreground"
|
|
643
|
+
),
|
|
644
|
+
children: range
|
|
645
|
+
},
|
|
646
|
+
range
|
|
647
|
+
);
|
|
648
|
+
}) })
|
|
649
|
+
]
|
|
650
|
+
}
|
|
651
|
+
);
|
|
652
|
+
};
|
|
653
|
+
BalanceDisplay.displayName = "BalanceDisplay";
|
|
654
|
+
|
|
655
|
+
// src/pages/user-profile/components/balances-card.tsx
|
|
656
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
657
|
+
var BalancesCard = ({
|
|
658
|
+
venueBalances = [],
|
|
659
|
+
onDeposit,
|
|
660
|
+
onWithdraw,
|
|
661
|
+
className
|
|
662
|
+
}) => {
|
|
663
|
+
return /* @__PURE__ */ jsxs4(
|
|
664
|
+
"div",
|
|
665
|
+
{
|
|
666
|
+
className: cn(
|
|
667
|
+
"flex flex-col gap-4 rounded-agg-md border border-agg-separator bg-agg-secondary p-5",
|
|
668
|
+
className
|
|
669
|
+
),
|
|
670
|
+
children: [
|
|
671
|
+
/* @__PURE__ */ jsx4("h3", { className: "agg-type-body-large-strong text-agg-foreground", children: "Balances" }),
|
|
672
|
+
/* @__PURE__ */ jsxs4("div", { className: "relative min-h-0 flex-1 overflow-clip", children: [
|
|
673
|
+
/* @__PURE__ */ jsx4("div", { className: "flex max-h-full flex-col gap-3 overflow-y-auto pr-1", children: venueBalances.map((balance, idx) => /* @__PURE__ */ jsxs4("div", { className: "flex items-center justify-between", children: [
|
|
674
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-1.5", children: [
|
|
675
|
+
/* @__PURE__ */ jsx4(VenueLogo, { venue: balance.venue, size: "small" }),
|
|
676
|
+
/* @__PURE__ */ jsx4("span", { className: "font-agg-sans text-agg-base leading-6 font-agg-normal text-agg-foreground capitalize", children: balance.venue })
|
|
677
|
+
] }),
|
|
678
|
+
/* @__PURE__ */ jsx4("span", { className: "font-agg-sans text-agg-base leading-6 font-agg-bold text-agg-foreground", children: balance.balanceLabel })
|
|
679
|
+
] }, `${balance.venue}-${idx}`)) }),
|
|
680
|
+
/* @__PURE__ */ jsx4(
|
|
681
|
+
"div",
|
|
682
|
+
{
|
|
683
|
+
"aria-hidden": true,
|
|
684
|
+
className: "pointer-events-none absolute bottom-0 left-0 h-10 w-full bg-gradient-to-b from-transparent to-white"
|
|
685
|
+
}
|
|
686
|
+
)
|
|
687
|
+
] }),
|
|
688
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-3", children: [
|
|
689
|
+
onDeposit ? /* @__PURE__ */ jsx4(Button, { variant: "primary", size: "small", onClick: onDeposit, className: "flex-1", children: "Deposit" }) : null,
|
|
690
|
+
onWithdraw ? /* @__PURE__ */ jsx4(Button, { variant: "secondary", size: "small", onClick: onWithdraw, className: "flex-1", children: "Withdraw" }) : null
|
|
691
|
+
] })
|
|
692
|
+
]
|
|
693
|
+
}
|
|
694
|
+
);
|
|
695
|
+
};
|
|
696
|
+
BalancesCard.displayName = "BalancesCard";
|
|
697
|
+
|
|
698
|
+
// src/pages/user-profile/components/positions-activity.tsx
|
|
699
|
+
import { useMemo as useMemo3, useState as useState4 } from "react";
|
|
700
|
+
|
|
701
|
+
// src/pages/user-profile/components/activity-row.tsx
|
|
702
|
+
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
703
|
+
var ActivityRow = ({ activity, onClick }) => {
|
|
704
|
+
const handleClick = () => {
|
|
705
|
+
onClick == null ? void 0 : onClick(activity);
|
|
706
|
+
};
|
|
707
|
+
return /* @__PURE__ */ jsxs5(
|
|
708
|
+
"button",
|
|
709
|
+
{
|
|
710
|
+
type: "button",
|
|
711
|
+
className: cn(
|
|
712
|
+
"flex w-full items-center gap-6 rounded-agg-sm p-0 text-left",
|
|
713
|
+
"hover:bg-agg-secondary-hover focus-visible:outline-none focus-visible:bg-agg-secondary-hover",
|
|
714
|
+
"cursor-pointer"
|
|
715
|
+
),
|
|
716
|
+
onClick: handleClick,
|
|
717
|
+
children: [
|
|
718
|
+
/* @__PURE__ */ jsx5("p", { className: "w-[60px] shrink-0 font-agg-sans text-agg-base leading-agg-6 font-agg-normal text-agg-foreground", children: activity.type }),
|
|
719
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex min-w-0 flex-1 items-center gap-4", children: [
|
|
720
|
+
/* @__PURE__ */ jsx5(VenueLogo, { venue: activity.venue, size: "small", className: "shrink-0" }),
|
|
721
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex min-w-0 flex-1 items-center gap-4", children: [
|
|
722
|
+
/* @__PURE__ */ jsx5(
|
|
723
|
+
"img",
|
|
724
|
+
{
|
|
725
|
+
src: activity.thumbnailSrc,
|
|
726
|
+
alt: "",
|
|
727
|
+
className: "h-[60px] w-[60px] shrink-0 rounded-agg-sm object-cover"
|
|
728
|
+
}
|
|
729
|
+
),
|
|
730
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex min-w-0 flex-1 flex-col gap-2 justify-center", children: [
|
|
731
|
+
/* @__PURE__ */ jsx5("p", { className: "min-w-full overflow-hidden text-ellipsis whitespace-nowrap font-agg-sans text-agg-base leading-agg-6 font-agg-bold text-agg-foreground", children: activity.title }),
|
|
732
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-3", children: [
|
|
733
|
+
/* @__PURE__ */ jsx5("span", { className: "inline-flex items-center justify-center gap-1.5 rounded-full bg-agg-secondary-hover px-4 py-1.5", children: /* @__PURE__ */ jsx5("span", { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-foreground whitespace-nowrap", children: activity.outcomeLabel }) }),
|
|
734
|
+
/* @__PURE__ */ jsx5("span", { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-black whitespace-nowrap", children: activity.sharesLabel })
|
|
735
|
+
] })
|
|
736
|
+
] })
|
|
737
|
+
] })
|
|
738
|
+
] }),
|
|
739
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex w-[120px] shrink-0 flex-col items-end justify-center gap-1 text-agg-base leading-agg-6 whitespace-nowrap", children: [
|
|
740
|
+
/* @__PURE__ */ jsx5("p", { className: "font-agg-sans font-agg-bold text-black", children: activity.amountLabel }),
|
|
741
|
+
/* @__PURE__ */ jsx5("p", { className: "font-agg-sans font-agg-normal text-agg-muted-foreground", children: activity.timeLabel })
|
|
742
|
+
] })
|
|
743
|
+
]
|
|
744
|
+
}
|
|
745
|
+
);
|
|
746
|
+
};
|
|
747
|
+
ActivityRow.displayName = "ActivityRow";
|
|
748
|
+
|
|
749
|
+
// src/pages/user-profile/components/empty-state.tsx
|
|
750
|
+
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
751
|
+
var EmptyIcon = () => /* @__PURE__ */ jsxs6(
|
|
752
|
+
"svg",
|
|
753
|
+
{
|
|
754
|
+
width: "40",
|
|
755
|
+
height: "40",
|
|
756
|
+
viewBox: "0 0 40 40",
|
|
757
|
+
fill: "none",
|
|
758
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
759
|
+
className: "text-agg-muted-foreground",
|
|
760
|
+
"aria-hidden": true,
|
|
761
|
+
children: [
|
|
762
|
+
/* @__PURE__ */ jsx6(
|
|
763
|
+
"path",
|
|
764
|
+
{
|
|
765
|
+
d: "M33.3333 5H6.66667C5.74619 5 5 5.74619 5 6.66667V33.3333C5 34.2538 5.74619 35 6.66667 35H33.3333C34.2538 35 35 34.2538 35 33.3333V6.66667C35 5.74619 34.2538 5 33.3333 5Z",
|
|
766
|
+
stroke: "currentColor",
|
|
767
|
+
strokeWidth: "1.5",
|
|
768
|
+
strokeLinecap: "round",
|
|
769
|
+
strokeLinejoin: "round"
|
|
770
|
+
}
|
|
771
|
+
),
|
|
772
|
+
/* @__PURE__ */ jsx6(
|
|
773
|
+
"path",
|
|
774
|
+
{
|
|
775
|
+
d: "M14.1667 16.6667C15.5474 16.6667 16.6667 15.5474 16.6667 14.1667C16.6667 12.786 15.5474 11.6667 14.1667 11.6667C12.786 11.6667 11.6667 12.786 11.6667 14.1667C11.6667 15.5474 12.786 16.6667 14.1667 16.6667Z",
|
|
776
|
+
stroke: "currentColor",
|
|
777
|
+
strokeWidth: "1.5",
|
|
778
|
+
strokeLinecap: "round",
|
|
779
|
+
strokeLinejoin: "round"
|
|
780
|
+
}
|
|
781
|
+
),
|
|
782
|
+
/* @__PURE__ */ jsx6(
|
|
783
|
+
"path",
|
|
784
|
+
{
|
|
785
|
+
d: "M35 25L26.6667 16.6667L6.66667 36.6667",
|
|
786
|
+
stroke: "currentColor",
|
|
787
|
+
strokeWidth: "1.5",
|
|
788
|
+
strokeLinecap: "round",
|
|
789
|
+
strokeLinejoin: "round"
|
|
790
|
+
}
|
|
791
|
+
)
|
|
792
|
+
]
|
|
793
|
+
}
|
|
794
|
+
);
|
|
795
|
+
var EmptyState = ({ title, description, className }) => {
|
|
796
|
+
return /* @__PURE__ */ jsx6(
|
|
797
|
+
"div",
|
|
798
|
+
{
|
|
799
|
+
className: cn("flex flex-col items-center justify-center gap-8 p-10", className),
|
|
800
|
+
role: "status",
|
|
801
|
+
"aria-live": "polite",
|
|
802
|
+
children: /* @__PURE__ */ jsxs6("div", { className: "flex flex-col items-center gap-5", children: [
|
|
803
|
+
/* @__PURE__ */ jsx6(EmptyIcon, {}),
|
|
804
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex flex-col items-center gap-1 text-center text-agg-foreground", children: [
|
|
805
|
+
/* @__PURE__ */ jsx6("p", { className: "font-agg-sans text-agg-base leading-agg-6 font-agg-bold", children: title }),
|
|
806
|
+
description ? /* @__PURE__ */ jsx6("p", { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-normal", children: description }) : null
|
|
807
|
+
] })
|
|
808
|
+
] })
|
|
809
|
+
}
|
|
810
|
+
);
|
|
811
|
+
};
|
|
812
|
+
EmptyState.displayName = "EmptyState";
|
|
813
|
+
|
|
814
|
+
// src/pages/user-profile/components/position-row.tsx
|
|
815
|
+
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
816
|
+
var PositionRow = ({ position, onClick }) => {
|
|
817
|
+
const handleClick = () => {
|
|
818
|
+
onClick == null ? void 0 : onClick(position);
|
|
819
|
+
};
|
|
820
|
+
return /* @__PURE__ */ jsxs7(
|
|
821
|
+
"button",
|
|
822
|
+
{
|
|
823
|
+
type: "button",
|
|
824
|
+
className: cn(
|
|
825
|
+
"flex w-full items-center gap-6 rounded-agg-sm p-0 text-left",
|
|
826
|
+
"hover:bg-agg-secondary-hover focus-visible:outline-none focus-visible:bg-agg-secondary-hover",
|
|
827
|
+
"cursor-pointer"
|
|
828
|
+
),
|
|
829
|
+
onClick: handleClick,
|
|
830
|
+
children: [
|
|
831
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex min-w-0 flex-1 items-center gap-4", children: [
|
|
832
|
+
/* @__PURE__ */ jsx7(VenueLogo, { venue: position.venue, size: "small", className: "shrink-0" }),
|
|
833
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex min-w-0 flex-1 items-center gap-4", children: [
|
|
834
|
+
/* @__PURE__ */ jsx7(
|
|
835
|
+
"img",
|
|
836
|
+
{
|
|
837
|
+
src: position.thumbnailSrc,
|
|
838
|
+
alt: "",
|
|
839
|
+
className: "h-[60px] w-[60px] shrink-0 rounded-agg-sm object-cover"
|
|
840
|
+
}
|
|
841
|
+
),
|
|
842
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex min-w-0 flex-1 flex-col gap-2 justify-center", children: [
|
|
843
|
+
/* @__PURE__ */ jsx7("p", { className: "min-w-full overflow-hidden text-ellipsis whitespace-nowrap font-agg-sans text-agg-base leading-agg-6 font-agg-bold text-agg-foreground", children: position.title }),
|
|
844
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-3", children: [
|
|
845
|
+
/* @__PURE__ */ jsx7("span", { className: "inline-flex items-center justify-center gap-1.5 rounded-full bg-agg-secondary-hover px-4 py-1.5", children: /* @__PURE__ */ jsx7("span", { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-foreground whitespace-nowrap", children: position.outcomeLabel }) }),
|
|
846
|
+
/* @__PURE__ */ jsx7("span", { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-black whitespace-nowrap", children: position.sharesLabel })
|
|
847
|
+
] })
|
|
848
|
+
] })
|
|
849
|
+
] })
|
|
850
|
+
] }),
|
|
851
|
+
/* @__PURE__ */ jsx7("p", { className: "w-[120px] shrink-0 agg-type-title text-agg-foreground", children: position.averageLabel }),
|
|
852
|
+
/* @__PURE__ */ jsx7("p", { className: "w-[120px] shrink-0 agg-type-title text-agg-foreground", children: position.currentLabel }),
|
|
853
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-6 shrink-0", children: [
|
|
854
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex w-[140px] flex-col items-end justify-center gap-1 text-agg-base leading-agg-6 whitespace-nowrap", children: [
|
|
855
|
+
/* @__PURE__ */ jsx7("p", { className: "font-agg-sans font-agg-bold text-black", children: position.valueLabel }),
|
|
856
|
+
/* @__PURE__ */ jsx7(
|
|
857
|
+
"p",
|
|
858
|
+
{
|
|
859
|
+
className: cn(
|
|
860
|
+
"font-agg-sans font-agg-normal",
|
|
861
|
+
position.isPnlPositive ? "text-[#00c853]" : "text-[#e5455f]"
|
|
862
|
+
),
|
|
863
|
+
children: position.pnlLabel
|
|
864
|
+
}
|
|
865
|
+
)
|
|
866
|
+
] }),
|
|
867
|
+
/* @__PURE__ */ jsx7(Icon, { name: "chevron-right", size: "small", className: "shrink-0 text-agg-muted-foreground" })
|
|
868
|
+
] })
|
|
869
|
+
]
|
|
870
|
+
}
|
|
871
|
+
);
|
|
872
|
+
};
|
|
873
|
+
PositionRow.displayName = "PositionRow";
|
|
874
|
+
|
|
875
|
+
// src/pages/user-profile/components/positions-activity.tsx
|
|
876
|
+
import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
877
|
+
var tabItems = [
|
|
878
|
+
{ value: USER_PROFILE_TAB_POSITIONS, label: "Positions" },
|
|
879
|
+
{ value: USER_PROFILE_TAB_ACTIVITY, label: "Activity" }
|
|
880
|
+
];
|
|
881
|
+
var PositionsActivity = ({
|
|
882
|
+
activePositions = [],
|
|
883
|
+
closedPositions = [],
|
|
884
|
+
activities = [],
|
|
885
|
+
onPositionClick,
|
|
886
|
+
onActivityClick,
|
|
887
|
+
className
|
|
888
|
+
}) => {
|
|
889
|
+
const [activeTab, setActiveTab] = useState4(USER_PROFILE_TAB_POSITIONS);
|
|
890
|
+
const [positionFilter, setPositionFilter] = useState4("active");
|
|
891
|
+
const [searchValue, setSearchValue] = useState4("");
|
|
892
|
+
const isPositionsTab = activeTab === USER_PROFILE_TAB_POSITIONS;
|
|
893
|
+
const filteredPositions = useMemo3(() => {
|
|
894
|
+
const positions = positionFilter === "active" ? activePositions : closedPositions;
|
|
895
|
+
if (!searchValue.trim())
|
|
896
|
+
return positions;
|
|
897
|
+
const query = searchValue.toLowerCase();
|
|
898
|
+
return positions.filter((p) => p.title.toLowerCase().includes(query));
|
|
899
|
+
}, [activePositions, closedPositions, positionFilter, searchValue]);
|
|
900
|
+
const filteredActivities = useMemo3(() => {
|
|
901
|
+
if (!searchValue.trim())
|
|
902
|
+
return activities;
|
|
903
|
+
const query = searchValue.toLowerCase();
|
|
904
|
+
return activities.filter((a) => a.title.toLowerCase().includes(query));
|
|
905
|
+
}, [activities, searchValue]);
|
|
906
|
+
const handleSearchChange = (event) => {
|
|
907
|
+
setSearchValue(event.target.value);
|
|
908
|
+
};
|
|
909
|
+
return /* @__PURE__ */ jsxs8(
|
|
910
|
+
"div",
|
|
911
|
+
{
|
|
912
|
+
className: cn(
|
|
913
|
+
"flex flex-col items-start overflow-clip rounded-agg-md border border-agg-separator bg-agg-secondary",
|
|
914
|
+
className
|
|
915
|
+
),
|
|
916
|
+
children: [
|
|
917
|
+
/* @__PURE__ */ jsx8(
|
|
918
|
+
Tabs,
|
|
919
|
+
{
|
|
920
|
+
items: tabItems,
|
|
921
|
+
value: activeTab,
|
|
922
|
+
onChange: setActiveTab,
|
|
923
|
+
variant: "underline",
|
|
924
|
+
className: "w-full [&>div]:w-full"
|
|
925
|
+
}
|
|
926
|
+
),
|
|
927
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex w-full flex-col gap-6 p-6", children: [
|
|
928
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex items-start gap-5", children: [
|
|
929
|
+
isPositionsTab ? /* @__PURE__ */ jsx8("div", { className: "flex h-10 w-[270px] shrink-0 items-stretch overflow-clip rounded-agg-sm border border-agg-separator", children: USER_PROFILE_POSITION_FILTERS.map((filter, idx) => {
|
|
930
|
+
const isActive = filter.value === positionFilter;
|
|
931
|
+
return /* @__PURE__ */ jsxs8("div", { className: "flex flex-1 items-stretch", children: [
|
|
932
|
+
idx > 0 ? /* @__PURE__ */ jsx8("div", { className: "w-px bg-agg-separator", "aria-hidden": true }) : null,
|
|
933
|
+
/* @__PURE__ */ jsx8(
|
|
934
|
+
"button",
|
|
935
|
+
{
|
|
936
|
+
type: "button",
|
|
937
|
+
onClick: () => setPositionFilter(filter.value),
|
|
938
|
+
className: cn(
|
|
939
|
+
"flex flex-1 items-center justify-center px-4 py-3 font-agg-sans text-agg-base leading-agg-6 cursor-pointer",
|
|
940
|
+
isActive ? "bg-agg-secondary-hover font-agg-bold text-agg-primary" : "bg-agg-secondary font-agg-normal text-agg-foreground hover:bg-agg-secondary-hover"
|
|
941
|
+
),
|
|
942
|
+
children: filter.label
|
|
943
|
+
}
|
|
944
|
+
)
|
|
945
|
+
] }, filter.value);
|
|
946
|
+
}) }) : null,
|
|
947
|
+
/* @__PURE__ */ jsx8("label", { className: "flex min-w-0 flex-1", children: /* @__PURE__ */ jsxs8("div", { className: "flex h-10 w-full items-center gap-3 rounded-agg-sm border border-agg-separator bg-agg-secondary px-3 py-2.5 focus-within:border-2 focus-within:border-agg-primary", children: [
|
|
948
|
+
/* @__PURE__ */ jsx8(Icon, { name: "search", size: "small", className: "shrink-0 text-agg-muted-foreground" }),
|
|
949
|
+
/* @__PURE__ */ jsx8(
|
|
950
|
+
"input",
|
|
951
|
+
{
|
|
952
|
+
value: searchValue,
|
|
953
|
+
onChange: handleSearchChange,
|
|
954
|
+
placeholder: "Search...",
|
|
955
|
+
className: cn(
|
|
956
|
+
"h-6 w-full min-w-0 border-0 bg-transparent p-0",
|
|
957
|
+
"font-agg-sans text-agg-base leading-agg-6 font-agg-normal text-agg-foreground",
|
|
958
|
+
"placeholder:text-agg-muted-foreground",
|
|
959
|
+
"outline-none focus:outline-none"
|
|
960
|
+
)
|
|
961
|
+
}
|
|
962
|
+
)
|
|
963
|
+
] }) })
|
|
964
|
+
] }),
|
|
965
|
+
isPositionsTab && filteredPositions.length > 0 ? /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-6 px-0", children: [
|
|
966
|
+
/* @__PURE__ */ jsx8("p", { className: "min-w-0 flex-1 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-muted-foreground", children: "Market" }),
|
|
967
|
+
/* @__PURE__ */ jsx8("p", { className: "w-[120px] shrink-0 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-muted-foreground", children: "Average" }),
|
|
968
|
+
/* @__PURE__ */ jsx8("p", { className: "w-[120px] shrink-0 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-muted-foreground", children: "Current" }),
|
|
969
|
+
/* @__PURE__ */ jsx8("p", { className: "w-[184px] shrink-0 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-muted-foreground text-right", children: "Value" })
|
|
970
|
+
] }) : null,
|
|
971
|
+
!isPositionsTab && filteredActivities.length > 0 ? /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-6 px-0", children: [
|
|
972
|
+
/* @__PURE__ */ jsx8("p", { className: "w-[60px] shrink-0 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-muted-foreground", children: "Type" }),
|
|
973
|
+
/* @__PURE__ */ jsx8("p", { className: "min-w-0 flex-1 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-muted-foreground", children: "Market" }),
|
|
974
|
+
/* @__PURE__ */ jsx8("p", { className: "w-[120px] shrink-0 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-muted-foreground text-right", children: "Amount" })
|
|
975
|
+
] }) : null,
|
|
976
|
+
isPositionsTab ? filteredPositions.length > 0 ? /* @__PURE__ */ jsx8("div", { className: "flex flex-col gap-4", children: filteredPositions.map((position) => /* @__PURE__ */ jsx8(PositionRow, { position, onClick: onPositionClick }, position.id)) }) : /* @__PURE__ */ jsx8(
|
|
977
|
+
EmptyState,
|
|
978
|
+
{
|
|
979
|
+
title: "No positions yet",
|
|
980
|
+
description: "Your open trades will appear here once you place an order."
|
|
981
|
+
}
|
|
982
|
+
) : filteredActivities.length > 0 ? /* @__PURE__ */ jsx8("div", { className: "flex flex-col gap-4", children: filteredActivities.map((activity) => /* @__PURE__ */ jsx8(ActivityRow, { activity, onClick: onActivityClick }, activity.id)) }) : /* @__PURE__ */ jsx8(
|
|
983
|
+
EmptyState,
|
|
984
|
+
{
|
|
985
|
+
title: "No activity yet",
|
|
986
|
+
description: "Your trading activity will appear here."
|
|
987
|
+
}
|
|
988
|
+
)
|
|
989
|
+
] })
|
|
990
|
+
]
|
|
991
|
+
}
|
|
992
|
+
);
|
|
993
|
+
};
|
|
994
|
+
PositionsActivity.displayName = "PositionsActivity";
|
|
995
|
+
|
|
996
|
+
// src/pages/user-profile/components/default-avatar.tsx
|
|
997
|
+
import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
998
|
+
var DefaultAvatar = ({ className }) => {
|
|
999
|
+
return /* @__PURE__ */ jsxs9(
|
|
1000
|
+
"svg",
|
|
1001
|
+
{
|
|
1002
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1003
|
+
width: "120",
|
|
1004
|
+
height: "120",
|
|
1005
|
+
viewBox: "0 0 120 120",
|
|
1006
|
+
fill: "none",
|
|
1007
|
+
className: cn("shrink-0", className),
|
|
1008
|
+
"aria-hidden": true,
|
|
1009
|
+
children: [
|
|
1010
|
+
/* @__PURE__ */ jsxs9("g", { clipPath: "url(#clip0_default_avatar)", children: [
|
|
1011
|
+
/* @__PURE__ */ jsx9(
|
|
1012
|
+
"path",
|
|
1013
|
+
{
|
|
1014
|
+
d: "M60 120C93.1371 120 120 93.1371 120 60C120 26.8629 93.1371 0 60 0C26.8629 0 0 26.8629 0 60C0 93.1371 26.8629 120 60 120Z",
|
|
1015
|
+
fill: "white"
|
|
1016
|
+
}
|
|
1017
|
+
),
|
|
1018
|
+
/* @__PURE__ */ jsx9(
|
|
1019
|
+
"path",
|
|
1020
|
+
{
|
|
1021
|
+
d: "M60 120C93.1371 120 120 93.1371 120 60C120 26.8629 93.1371 0 60 0C26.8629 0 0 26.8629 0 60C0 93.1371 26.8629 120 60 120Z",
|
|
1022
|
+
fill: "black",
|
|
1023
|
+
fillOpacity: "0.1"
|
|
1024
|
+
}
|
|
1025
|
+
),
|
|
1026
|
+
/* @__PURE__ */ jsx9(
|
|
1027
|
+
"path",
|
|
1028
|
+
{
|
|
1029
|
+
d: "M73.7338 64.1259C80.4187 59.6756 84.8276 52.0804 84.8276 43.4487C84.8276 29.7376 73.7111 18.6211 60 18.6211C46.2890 18.6211 35.1724 29.7376 35.1724 43.4487C35.1724 52.0804 39.5814 59.6756 46.2662 64.1259C46.2662 64.1259 46.2683 64.1280 46.2704 64.1280C46.2683 64.1280 46.2683 64.1259 46.2683 64.1259C30.2669 68.9487 17.8076 81.9356 13.7959 98.2742L13.7980 98.2763C14.4518 99.0645 15.1304 99.8342 15.8235 100.589C15.9911 100.774 16.1669 100.949 16.3387 101.129C16.8724 101.696 17.4124 102.255 17.9669 102.801C18.1966 103.027 18.4304 103.244 18.6642 103.465C19.1773 103.954 19.6966 104.436 20.2262 104.905C20.4890 105.137 20.7559 105.367 21.0207 105.594C21.5400 106.039 22.0656 106.476 22.6014 106.902C22.8828 107.127 23.1662 107.349 23.4497 107.570C23.9918 107.988 24.5421 108.394 25.0987 108.791C25.3862 108.996 25.6697 109.205 25.9614 109.405C26.5490 109.811 27.1469 110.200 27.7490 110.585C28.0200 110.756 28.2849 110.934 28.5580 111.104C29.2531 111.532 29.9607 111.942 30.6745 112.343C30.8628 112.449 31.0469 112.562 31.2373 112.666C32.1600 113.171 33.0973 113.655 34.0490 114.112C34.0718 114.122 34.0966 114.133 34.1193 114.143C35.0276 114.578 35.9504 114.989 36.8835 115.378C37.1731 115.500 37.4690 115.608 37.7607 115.724C38.4352 115.993 39.1097 116.258 39.7966 116.502C40.1607 116.632 40.5290 116.750 40.8952 116.874C41.5200 117.085 42.1490 117.290 42.7821 117.478C43.1835 117.598 43.5869 117.710 43.9924 117.822C44.6049 117.991 45.2214 118.153 45.8442 118.304C46.2642 118.405 46.6862 118.502 47.1104 118.596C47.7331 118.732 48.3580 118.856 48.9869 118.972C49.4131 119.051 49.8373 119.131 50.2676 119.200C50.9173 119.305 51.5711 119.394 52.2269 119.479C52.6407 119.533 53.0524 119.593 53.4683 119.636C54.1924 119.715 54.9228 119.771 55.6531 119.822C56.0069 119.847 56.3566 119.885 56.7104 119.903C57.8007 119.965 58.8952 120 60 120C61.1049 120 62.1993 119.965 63.2897 119.907C63.6435 119.889 63.9952 119.851 64.3469 119.827C65.0793 119.775 65.8097 119.719 66.5318 119.640C66.9476 119.595 67.3593 119.537 67.7731 119.483C68.4290 119.398 69.0828 119.309 69.7324 119.204C70.1607 119.134 70.5869 119.055 71.0131 118.976C71.6421 118.860 72.2690 118.736 72.8897 118.600C73.3138 118.507 73.7359 118.409 74.1559 118.308C74.7766 118.157 75.3931 117.996 76.0076 117.826C76.4111 117.714 76.8166 117.602 77.2180 117.482C77.8531 117.292 78.4800 117.087 79.1049 116.878C79.4711 116.754 79.8414 116.636 80.2035 116.506C80.8883 116.260 81.5649 115.997 82.2393 115.728C82.5311 115.612 82.8269 115.502 83.1166 115.382C84.0456 114.994 84.9642 114.586 85.8683 114.151C85.8952 114.139 85.9242 114.127 85.9511 114.114C86.9028 113.657 87.8400 113.173 88.7628 112.668C88.9531 112.565 89.1373 112.451 89.3256 112.345C90.0393 111.944 90.7469 111.534 91.4421 111.106C91.7152 110.938 91.9821 110.760 92.2511 110.587C92.8531 110.202 93.4511 109.811 94.0387 109.407C94.3283 109.207 94.6138 109.000 94.9014 108.793C95.4580 108.394 96.0083 107.988 96.5504 107.572C96.8359 107.353 97.1173 107.129 97.3987 106.904C97.9324 106.478 98.4600 106.041 98.9793 105.596C99.2462 105.369 99.5131 105.139 99.7738 104.907C100.303 104.438 100.823 103.956 101.336 103.467C101.568 103.246 101.803 103.027 102.033 102.803C102.588 102.257 103.130 101.698 103.661 101.131C103.831 100.949 104.007 100.774 104.177 100.591C104.870 99.8363 105.548 99.0666 106.202 98.2783L106.204 98.2763C102.195 81.9356 89.7352 68.9487 73.7338 64.1259Z",
|
|
1030
|
+
fill: "black",
|
|
1031
|
+
fillOpacity: "0.1"
|
|
1032
|
+
}
|
|
1033
|
+
)
|
|
1034
|
+
] }),
|
|
1035
|
+
/* @__PURE__ */ jsx9("defs", { children: /* @__PURE__ */ jsx9("clipPath", { id: "clip0_default_avatar", children: /* @__PURE__ */ jsx9("rect", { width: "120", height: "120", fill: "white" }) }) })
|
|
1036
|
+
]
|
|
1037
|
+
}
|
|
1038
|
+
);
|
|
1039
|
+
};
|
|
1040
|
+
DefaultAvatar.displayName = "DefaultAvatar";
|
|
1041
|
+
|
|
1042
|
+
// src/pages/user-profile/components/user-info-card.tsx
|
|
1043
|
+
import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1044
|
+
var UserInfoCard = ({
|
|
1045
|
+
user,
|
|
1046
|
+
onEditProfile,
|
|
1047
|
+
className
|
|
1048
|
+
}) => {
|
|
1049
|
+
var _a, _b, _c;
|
|
1050
|
+
const evmExchanges = ((_a = user.connectedExchanges) != null ? _a : []).filter((ex) => ex.venue !== "kalshi");
|
|
1051
|
+
const totalExchangeCount = (_c = (_b = user.connectedExchanges) == null ? void 0 : _b.length) != null ? _c : 0;
|
|
1052
|
+
const hasEvmExchanges = evmExchanges.length > 0;
|
|
1053
|
+
return /* @__PURE__ */ jsx10(
|
|
1054
|
+
"div",
|
|
1055
|
+
{
|
|
1056
|
+
className: cn(
|
|
1057
|
+
"flex flex-col items-start rounded-agg-md border border-agg-separator bg-agg-secondary p-5",
|
|
1058
|
+
className
|
|
1059
|
+
),
|
|
1060
|
+
children: /* @__PURE__ */ jsxs10("div", { className: "flex w-full items-start gap-5", children: [
|
|
1061
|
+
/* @__PURE__ */ jsx10("div", { className: "shrink-0", children: user.avatarUrl ? /* @__PURE__ */ jsx10(
|
|
1062
|
+
"img",
|
|
1063
|
+
{
|
|
1064
|
+
src: user.avatarUrl,
|
|
1065
|
+
alt: user.username,
|
|
1066
|
+
className: "h-[120px] w-[120px] rounded-full object-cover"
|
|
1067
|
+
}
|
|
1068
|
+
) : /* @__PURE__ */ jsx10(DefaultAvatar, { className: "h-[120px] w-[120px]" }) }),
|
|
1069
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex min-w-0 flex-1 flex-col gap-4", children: [
|
|
1070
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1071
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
|
|
1072
|
+
/* @__PURE__ */ jsx10("h2", { className: "agg-type-heading text-agg-foreground", children: user.username }),
|
|
1073
|
+
user.socialLinks && user.socialLinks.length > 0 ? /* @__PURE__ */ jsx10("div", { className: "flex items-center gap-2", children: user.socialLinks.map((social) => {
|
|
1074
|
+
const iconName = social.platform === "twitter" ? "twitter" : social.platform === "discord" ? "discord" : "telegram";
|
|
1075
|
+
return /* @__PURE__ */ jsx10(
|
|
1076
|
+
"span",
|
|
1077
|
+
{
|
|
1078
|
+
className: "flex size-8 shrink-0 items-center justify-center rounded-full border border-agg-separator bg-agg-secondary",
|
|
1079
|
+
children: /* @__PURE__ */ jsx10(Icon, { name: iconName, size: "small", className: "text-agg-foreground" })
|
|
1080
|
+
},
|
|
1081
|
+
social.platform
|
|
1082
|
+
);
|
|
1083
|
+
}) }) : null
|
|
1084
|
+
] }),
|
|
1085
|
+
onEditProfile ? /* @__PURE__ */ jsxs10(
|
|
1086
|
+
"button",
|
|
1087
|
+
{
|
|
1088
|
+
type: "button",
|
|
1089
|
+
onClick: onEditProfile,
|
|
1090
|
+
className: "flex shrink-0 cursor-pointer items-center gap-1.5 bg-transparent text-agg-primary hover:opacity-80",
|
|
1091
|
+
children: [
|
|
1092
|
+
/* @__PURE__ */ jsx10(Icon, { name: "pencil", size: "small", className: "text-agg-primary" }),
|
|
1093
|
+
/* @__PURE__ */ jsx10("span", { className: "text-agg-base font-agg-bold leading-6", children: "Edit" })
|
|
1094
|
+
]
|
|
1095
|
+
}
|
|
1096
|
+
) : null
|
|
1097
|
+
] }),
|
|
1098
|
+
totalExchangeCount > 0 || user.socialHandle ? /* @__PURE__ */ jsxs10("div", { className: "flex flex-col gap-3", children: [
|
|
1099
|
+
hasEvmExchanges ? /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-3", children: [
|
|
1100
|
+
/* @__PURE__ */ jsx10("div", { className: "flex items-center", children: evmExchanges.map((exchange, idx) => /* @__PURE__ */ jsx10(
|
|
1101
|
+
"div",
|
|
1102
|
+
{
|
|
1103
|
+
className: cn(
|
|
1104
|
+
"relative flex h-5 w-5 shrink-0 items-center justify-center overflow-hidden rounded-[4px]",
|
|
1105
|
+
idx > 0 && "-ml-2"
|
|
1106
|
+
),
|
|
1107
|
+
style: { zIndex: evmExchanges.length - idx },
|
|
1108
|
+
children: /* @__PURE__ */ jsx10(VenueLogo, { venue: exchange.venue, size: "small", className: "h-5 w-5" })
|
|
1109
|
+
},
|
|
1110
|
+
`${exchange.venue}-${idx}`
|
|
1111
|
+
)) }),
|
|
1112
|
+
user.displayAddress ? /* @__PURE__ */ jsx10("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground", children: user.displayAddress }) : null,
|
|
1113
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1", children: [
|
|
1114
|
+
/* @__PURE__ */ jsxs10("span", { className: "text-agg-sm font-agg-normal leading-5 text-agg-muted-foreground", children: [
|
|
1115
|
+
totalExchangeCount,
|
|
1116
|
+
" exchange",
|
|
1117
|
+
totalExchangeCount !== 1 ? "s" : ""
|
|
1118
|
+
] }),
|
|
1119
|
+
/* @__PURE__ */ jsx10(Icon, { name: "info", size: "small", className: "text-agg-muted-foreground" })
|
|
1120
|
+
] })
|
|
1121
|
+
] }) : null,
|
|
1122
|
+
user.socialHandle ? /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-3", children: [
|
|
1123
|
+
user.socialHandleVenue ? /* @__PURE__ */ jsx10("div", { className: "flex h-5 w-5 shrink-0 items-center justify-center overflow-hidden rounded-[4px]", children: /* @__PURE__ */ jsx10(VenueLogo, { venue: user.socialHandleVenue, size: "small", className: "h-5 w-5" }) }) : null,
|
|
1124
|
+
/* @__PURE__ */ jsx10("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground", children: user.socialHandle })
|
|
1125
|
+
] }) : null
|
|
1126
|
+
] }) : null
|
|
1127
|
+
] })
|
|
1128
|
+
] })
|
|
1129
|
+
}
|
|
1130
|
+
);
|
|
1131
|
+
};
|
|
1132
|
+
UserInfoCard.displayName = "UserInfoCard";
|
|
1133
|
+
|
|
1134
|
+
// src/pages/user-profile/index.tsx
|
|
1135
|
+
import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1136
|
+
var UserProfilePage = ({
|
|
1137
|
+
user,
|
|
1138
|
+
venueBalances,
|
|
1139
|
+
balance,
|
|
1140
|
+
defaultTimeRange,
|
|
1141
|
+
onTimeRangeChange,
|
|
1142
|
+
activePositions,
|
|
1143
|
+
closedPositions,
|
|
1144
|
+
activities,
|
|
1145
|
+
onEditProfile,
|
|
1146
|
+
onDeposit,
|
|
1147
|
+
onWithdraw,
|
|
1148
|
+
onPositionClick,
|
|
1149
|
+
onActivityClick,
|
|
1150
|
+
classNames
|
|
1151
|
+
}) => {
|
|
1152
|
+
return /* @__PURE__ */ jsx11("div", { className: "box-border w-full overflow-x-hidden p-10", children: /* @__PURE__ */ jsxs11(
|
|
1153
|
+
"section",
|
|
1154
|
+
{
|
|
1155
|
+
className: cn(
|
|
1156
|
+
"flex w-full flex-col gap-10 rounded-agg-xl border border-agg-separator bg-agg-secondary p-10 overflow-clip",
|
|
1157
|
+
classNames == null ? void 0 : classNames.root
|
|
1158
|
+
),
|
|
1159
|
+
children: [
|
|
1160
|
+
/* @__PURE__ */ jsxs11("div", { className: cn("flex items-stretch gap-6", classNames == null ? void 0 : classNames.topRow), children: [
|
|
1161
|
+
/* @__PURE__ */ jsxs11("div", { className: cn("flex min-w-0 flex-1 flex-col gap-6", classNames == null ? void 0 : classNames.leftColumn), children: [
|
|
1162
|
+
/* @__PURE__ */ jsx11(
|
|
1163
|
+
UserInfoCard,
|
|
1164
|
+
{
|
|
1165
|
+
user,
|
|
1166
|
+
onEditProfile,
|
|
1167
|
+
className: classNames == null ? void 0 : classNames.userInfoCard
|
|
1168
|
+
}
|
|
1169
|
+
),
|
|
1170
|
+
/* @__PURE__ */ jsx11(
|
|
1171
|
+
BalanceDisplay,
|
|
1172
|
+
{
|
|
1173
|
+
balance,
|
|
1174
|
+
defaultTimeRange,
|
|
1175
|
+
onTimeRangeChange,
|
|
1176
|
+
className: classNames == null ? void 0 : classNames.balanceDisplay
|
|
1177
|
+
}
|
|
1178
|
+
)
|
|
1179
|
+
] }),
|
|
1180
|
+
/* @__PURE__ */ jsx11("div", { className: "relative w-[465px] shrink-0", children: /* @__PURE__ */ jsx11(
|
|
1181
|
+
BalancesCard,
|
|
1182
|
+
{
|
|
1183
|
+
venueBalances,
|
|
1184
|
+
onDeposit,
|
|
1185
|
+
onWithdraw,
|
|
1186
|
+
className: cn("absolute inset-0", classNames == null ? void 0 : classNames.balancesCard)
|
|
1187
|
+
}
|
|
1188
|
+
) })
|
|
1189
|
+
] }),
|
|
1190
|
+
/* @__PURE__ */ jsx11(
|
|
1191
|
+
PositionsActivity,
|
|
1192
|
+
{
|
|
1193
|
+
activePositions,
|
|
1194
|
+
closedPositions,
|
|
1195
|
+
activities,
|
|
1196
|
+
onPositionClick,
|
|
1197
|
+
onActivityClick,
|
|
1198
|
+
className: classNames == null ? void 0 : classNames.positionsActivity
|
|
1199
|
+
}
|
|
1200
|
+
)
|
|
1201
|
+
]
|
|
1202
|
+
}
|
|
1203
|
+
) });
|
|
1204
|
+
};
|
|
1205
|
+
UserProfilePage.displayName = "UserProfilePage";
|
|
1206
|
+
|
|
1207
|
+
export {
|
|
1208
|
+
HomePage,
|
|
1209
|
+
EventMarketPage,
|
|
1210
|
+
UserProfilePage
|
|
1211
|
+
};
|