@medialane/ui 0.120.0 → 0.122.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/dist/components/action-button.cjs.map +1 -1
- package/dist/components/action-button.d.cts +0 -9
- package/dist/components/action-button.d.ts +0 -9
- package/dist/components/action-button.js.map +1 -1
- package/dist/components/action-dialog.cjs.map +1 -1
- package/dist/components/action-dialog.d.cts +0 -1
- package/dist/components/action-dialog.d.ts +0 -1
- package/dist/components/action-dialog.js.map +1 -1
- package/dist/components/activity-card.cjs.map +1 -1
- package/dist/components/activity-card.d.cts +0 -3
- package/dist/components/activity-card.d.ts +0 -3
- package/dist/components/activity-card.js.map +1 -1
- package/dist/components/activity-row.cjs.map +1 -1
- package/dist/components/activity-row.d.cts +0 -1
- package/dist/components/activity-row.d.ts +0 -1
- package/dist/components/activity-row.js.map +1 -1
- package/dist/components/activity-ticker.cjs.map +1 -1
- package/dist/components/activity-ticker.d.cts +0 -1
- package/dist/components/activity-ticker.d.ts +0 -1
- package/dist/components/activity-ticker.js.map +1 -1
- package/dist/components/address-display.cjs.map +1 -1
- package/dist/components/address-display.d.cts +0 -1
- package/dist/components/address-display.d.ts +0 -1
- package/dist/components/address-display.js.map +1 -1
- package/dist/components/animated-token-media.cjs.map +1 -1
- package/dist/components/animated-token-media.d.cts +0 -10
- package/dist/components/animated-token-media.d.ts +0 -10
- package/dist/components/animated-token-media.js.map +1 -1
- package/dist/components/asset-card.cjs.map +1 -1
- package/dist/components/asset-card.d.cts +0 -29
- package/dist/components/asset-card.d.ts +0 -29
- package/dist/components/asset-card.js.map +1 -1
- package/dist/components/asset-collection-bar.cjs.map +1 -1
- package/dist/components/asset-collection-bar.d.cts +0 -1
- package/dist/components/asset-collection-bar.d.ts +0 -1
- package/dist/components/asset-collection-bar.js.map +1 -1
- package/dist/components/asset-license-summary.cjs.map +1 -1
- package/dist/components/asset-license-summary.d.cts +0 -8
- package/dist/components/asset-license-summary.d.ts +0 -8
- package/dist/components/asset-license-summary.js.map +1 -1
- package/dist/components/asset-lightbox.cjs.map +1 -1
- package/dist/components/asset-lightbox.js.map +1 -1
- package/dist/components/asset-marketplace-panel.cjs.map +1 -1
- package/dist/components/asset-marketplace-panel.d.cts +0 -13
- package/dist/components/asset-marketplace-panel.d.ts +0 -13
- package/dist/components/asset-marketplace-panel.js.map +1 -1
- package/dist/components/asset-markets-tab.cjs.map +1 -1
- package/dist/components/asset-markets-tab.js.map +1 -1
- package/dist/components/asset-overview-content.cjs.map +1 -1
- package/dist/components/asset-overview-content.d.cts +0 -7
- package/dist/components/asset-overview-content.d.ts +0 -7
- package/dist/components/asset-overview-content.js.map +1 -1
- package/dist/components/asset-picker-cell.cjs.map +1 -1
- package/dist/components/asset-picker-cell.d.cts +0 -4
- package/dist/components/asset-picker-cell.d.ts +0 -4
- package/dist/components/asset-picker-cell.js.map +1 -1
- package/dist/components/asset-picker.cjs.map +1 -1
- package/dist/components/asset-picker.d.cts +0 -4
- package/dist/components/asset-picker.d.ts +0 -4
- package/dist/components/asset-picker.js.map +1 -1
- package/dist/components/asset-search-picker.cjs.map +1 -1
- package/dist/components/asset-search-picker.d.cts +0 -2
- package/dist/components/asset-search-picker.d.ts +0 -2
- package/dist/components/asset-search-picker.js.map +1 -1
- package/dist/components/asset-top-sections.cjs.map +1 -1
- package/dist/components/asset-top-sections.d.cts +0 -18
- package/dist/components/asset-top-sections.d.ts +0 -18
- package/dist/components/asset-top-sections.js.map +1 -1
- package/dist/components/asset-utility-icons.cjs.map +1 -1
- package/dist/components/asset-utility-icons.d.cts +0 -5
- package/dist/components/asset-utility-icons.d.ts +0 -5
- package/dist/components/asset-utility-icons.js.map +1 -1
- package/dist/components/claim-rail.cjs.map +1 -1
- package/dist/components/claim-rail.d.cts +0 -9
- package/dist/components/claim-rail.d.ts +0 -9
- package/dist/components/claim-rail.js.map +1 -1
- package/dist/components/club-owner-actions.cjs.map +1 -1
- package/dist/components/club-owner-actions.d.cts +0 -2
- package/dist/components/club-owner-actions.d.ts +0 -2
- package/dist/components/club-owner-actions.js.map +1 -1
- package/dist/components/coin-card.cjs.map +1 -1
- package/dist/components/coin-card.d.cts +0 -2
- package/dist/components/coin-card.d.ts +0 -2
- package/dist/components/coin-card.js.map +1 -1
- package/dist/components/coin-launch-preview.cjs.map +1 -1
- package/dist/components/coin-launch-preview.d.cts +0 -7
- package/dist/components/coin-launch-preview.d.ts +0 -7
- package/dist/components/coin-launch-preview.js.map +1 -1
- package/dist/components/coins-explorer.cjs.map +1 -1
- package/dist/components/coins-explorer.d.cts +0 -1
- package/dist/components/coins-explorer.d.ts +0 -1
- package/dist/components/coins-explorer.js.map +1 -1
- package/dist/components/collection-card.cjs.map +1 -1
- package/dist/components/collection-card.d.cts +0 -2
- package/dist/components/collection-card.d.ts +0 -2
- package/dist/components/collection-card.js.map +1 -1
- package/dist/components/collection-filters.cjs.map +1 -1
- package/dist/components/collection-filters.js.map +1 -1
- package/dist/components/collection-hero-banner.cjs.map +1 -1
- package/dist/components/collection-hero-banner.d.cts +0 -7
- package/dist/components/collection-hero-banner.d.ts +0 -7
- package/dist/components/collection-hero-banner.js.map +1 -1
- package/dist/components/collection-traits-tab.cjs.map +1 -1
- package/dist/components/collection-traits-tab.js.map +1 -1
- package/dist/components/community-rewards-section.cjs.map +1 -1
- package/dist/components/community-rewards-section.js.map +1 -1
- package/dist/components/create-form-primitives.cjs.map +1 -1
- package/dist/components/create-form-primitives.d.cts +0 -2
- package/dist/components/create-form-primitives.d.ts +0 -2
- package/dist/components/create-form-primitives.js.map +1 -1
- package/dist/components/creation-record.cjs.map +1 -1
- package/dist/components/creation-record.d.cts +0 -5
- package/dist/components/creation-record.d.ts +0 -5
- package/dist/components/creation-record.js.map +1 -1
- package/dist/components/creator-airdrop-banner.cjs.map +1 -1
- package/dist/components/creator-airdrop-banner.d.cts +0 -1
- package/dist/components/creator-airdrop-banner.d.ts +0 -1
- package/dist/components/creator-airdrop-banner.js.map +1 -1
- package/dist/components/creator-analytics.cjs.map +1 -1
- package/dist/components/creator-analytics.js.map +1 -1
- package/dist/components/creator-score-inline.cjs.map +1 -1
- package/dist/components/creator-score-inline.d.cts +0 -5
- package/dist/components/creator-score-inline.d.ts +0 -5
- package/dist/components/creator-score-inline.js.map +1 -1
- package/dist/components/cta-card-grid.cjs.map +1 -1
- package/dist/components/cta-card-grid.d.cts +0 -2
- package/dist/components/cta-card-grid.d.ts +0 -2
- package/dist/components/cta-card-grid.js.map +1 -1
- package/dist/components/currency-icon.cjs.map +1 -1
- package/dist/components/currency-icon.d.cts +0 -5
- package/dist/components/currency-icon.d.ts +0 -5
- package/dist/components/currency-icon.js.map +1 -1
- package/dist/components/discover-collections-strip.cjs.map +1 -1
- package/dist/components/discover-collections-strip.d.cts +0 -4
- package/dist/components/discover-collections-strip.d.ts +0 -4
- package/dist/components/discover-collections-strip.js.map +1 -1
- package/dist/components/discover-creators-strip.cjs.map +1 -1
- package/dist/components/discover-creators-strip.js.map +1 -1
- package/dist/components/discover-feed-section.cjs.map +1 -1
- package/dist/components/discover-feed-section.d.cts +0 -11
- package/dist/components/discover-feed-section.d.ts +0 -11
- package/dist/components/discover-feed-section.js.map +1 -1
- package/dist/components/discover-hero.cjs.map +1 -1
- package/dist/components/discover-hero.js.map +1 -1
- package/dist/components/drop-countdown.cjs.map +1 -1
- package/dist/components/drop-countdown.js.map +1 -1
- package/dist/components/dual-price.cjs +0 -6
- package/dist/components/dual-price.cjs.map +1 -1
- package/dist/components/dual-price.d.cts +0 -30
- package/dist/components/dual-price.d.ts +0 -30
- package/dist/components/dual-price.js +0 -6
- package/dist/components/dual-price.js.map +1 -1
- package/dist/components/empty-or-error.cjs.map +1 -1
- package/dist/components/empty-or-error.d.cts +0 -1
- package/dist/components/empty-or-error.d.ts +0 -1
- package/dist/components/empty-or-error.js.map +1 -1
- package/dist/components/gradient-button.cjs.map +1 -1
- package/dist/components/gradient-button.d.cts +0 -13
- package/dist/components/gradient-button.d.ts +0 -13
- package/dist/components/gradient-button.js.map +1 -1
- package/dist/components/help-icon.cjs.map +1 -1
- package/dist/components/help-icon.d.cts +0 -4
- package/dist/components/help-icon.d.ts +0 -4
- package/dist/components/help-icon.js.map +1 -1
- package/dist/components/hero-slider.cjs.map +1 -1
- package/dist/components/hero-slider.d.cts +0 -1
- package/dist/components/hero-slider.d.ts +0 -1
- package/dist/components/hero-slider.js.map +1 -1
- package/dist/components/ip-type-badge.cjs.map +1 -1
- package/dist/components/ip-type-badge.d.cts +0 -2
- package/dist/components/ip-type-badge.d.ts +0 -2
- package/dist/components/ip-type-badge.js.map +1 -1
- package/dist/components/ip-type-display.cjs.map +1 -1
- package/dist/components/ip-type-display.js.map +1 -1
- package/dist/components/ip-type-fields.cjs.map +1 -1
- package/dist/components/ip-type-fields.d.cts +0 -2
- package/dist/components/ip-type-fields.d.ts +0 -2
- package/dist/components/ip-type-fields.js.map +1 -1
- package/dist/components/launchpad-filter-bar.cjs.map +1 -1
- package/dist/components/launchpad-filter-bar.d.cts +0 -8
- package/dist/components/launchpad-filter-bar.d.ts +0 -8
- package/dist/components/launchpad-filter-bar.js.map +1 -1
- package/dist/components/launchpad-services.cjs +0 -1
- package/dist/components/launchpad-services.cjs.map +1 -1
- package/dist/components/launchpad-services.d.cts +0 -36
- package/dist/components/launchpad-services.d.ts +0 -36
- package/dist/components/launchpad-services.js +0 -1
- package/dist/components/launchpad-services.js.map +1 -1
- package/dist/components/launchpad-strip.cjs.map +1 -1
- package/dist/components/launchpad-strip.d.cts +0 -6
- package/dist/components/launchpad-strip.d.ts +0 -6
- package/dist/components/launchpad-strip.js.map +1 -1
- package/dist/components/license-terms-builder.cjs.map +1 -1
- package/dist/components/license-terms-builder.d.cts +0 -34
- package/dist/components/license-terms-builder.d.ts +0 -34
- package/dist/components/license-terms-builder.js.map +1 -1
- package/dist/components/listing-card.cjs.map +1 -1
- package/dist/components/listing-card.d.cts +0 -19
- package/dist/components/listing-card.d.ts +0 -19
- package/dist/components/listing-card.js.map +1 -1
- package/dist/components/load-more-sentinel.cjs.map +1 -1
- package/dist/components/load-more-sentinel.d.cts +0 -6
- package/dist/components/load-more-sentinel.d.ts +0 -6
- package/dist/components/load-more-sentinel.js.map +1 -1
- package/dist/components/medialane-collection-card.cjs +1 -4
- package/dist/components/medialane-collection-card.cjs.map +1 -1
- package/dist/components/medialane-collection-card.d.cts +0 -13
- package/dist/components/medialane-collection-card.d.ts +0 -13
- package/dist/components/medialane-collection-card.js +1 -4
- package/dist/components/medialane-collection-card.js.map +1 -1
- package/dist/components/motion-primitives.cjs.map +1 -1
- package/dist/components/motion-primitives.js.map +1 -1
- package/dist/components/nav-command-menu.cjs.map +1 -1
- package/dist/components/nav-command-menu.d.cts +0 -32
- package/dist/components/nav-command-menu.d.ts +0 -32
- package/dist/components/nav-command-menu.js.map +1 -1
- package/dist/components/nav-shell.cjs.map +1 -1
- package/dist/components/nav-shell.d.cts +0 -57
- package/dist/components/nav-shell.d.ts +0 -57
- package/dist/components/nav-shell.js.map +1 -1
- package/dist/components/nav-theme-toggle.cjs.map +1 -1
- package/dist/components/nav-theme-toggle.d.cts +0 -4
- package/dist/components/nav-theme-toggle.d.ts +0 -4
- package/dist/components/nav-theme-toggle.js.map +1 -1
- package/dist/components/order-sort-control.cjs.map +1 -1
- package/dist/components/order-sort-control.d.cts +0 -2
- package/dist/components/order-sort-control.d.ts +0 -2
- package/dist/components/order-sort-control.js.map +1 -1
- package/dist/components/page-container.cjs +0 -3
- package/dist/components/page-container.cjs.map +1 -1
- package/dist/components/page-container.d.cts +0 -6
- package/dist/components/page-container.d.ts +0 -6
- package/dist/components/page-container.js +0 -3
- package/dist/components/page-container.js.map +1 -1
- package/dist/components/parent-attribution-banner.cjs.map +1 -1
- package/dist/components/parent-attribution-banner.d.cts +0 -1
- package/dist/components/parent-attribution-banner.d.ts +0 -1
- package/dist/components/parent-attribution-banner.js.map +1 -1
- package/dist/components/portfolio-activity.cjs.map +1 -1
- package/dist/components/portfolio-activity.js.map +1 -1
- package/dist/components/portfolio-bento-tile.cjs +2 -1
- package/dist/components/portfolio-bento-tile.cjs.map +1 -1
- package/dist/components/portfolio-bento-tile.d.cts +6 -13
- package/dist/components/portfolio-bento-tile.d.ts +6 -13
- package/dist/components/portfolio-bento-tile.js +2 -1
- package/dist/components/portfolio-bento-tile.js.map +1 -1
- package/dist/components/portfolio-chip-filter.cjs.map +1 -1
- package/dist/components/portfolio-chip-filter.d.cts +0 -14
- package/dist/components/portfolio-chip-filter.d.ts +0 -14
- package/dist/components/portfolio-chip-filter.js.map +1 -1
- package/dist/components/portfolio-header.cjs.map +1 -1
- package/dist/components/portfolio-header.d.cts +0 -11
- package/dist/components/portfolio-header.d.ts +0 -11
- package/dist/components/portfolio-header.js.map +1 -1
- package/dist/components/portfolio-overview.cjs +7 -1
- package/dist/components/portfolio-overview.cjs.map +1 -1
- package/dist/components/portfolio-overview.d.cts +0 -18
- package/dist/components/portfolio-overview.d.ts +0 -18
- package/dist/components/portfolio-overview.js +7 -1
- package/dist/components/portfolio-overview.js.map +1 -1
- package/dist/components/price-history-chart.cjs.map +1 -1
- package/dist/components/price-history-chart.js.map +1 -1
- package/dist/components/rewards/badge-catalog.cjs.map +1 -1
- package/dist/components/rewards/badge-catalog.d.cts +0 -5
- package/dist/components/rewards/badge-catalog.d.ts +0 -5
- package/dist/components/rewards/badge-catalog.js.map +1 -1
- package/dist/components/rewards/badge-shelf.cjs.map +1 -1
- package/dist/components/rewards/badge-shelf.d.cts +0 -5
- package/dist/components/rewards/badge-shelf.d.ts +0 -5
- package/dist/components/rewards/badge-shelf.js.map +1 -1
- package/dist/components/rewards/badge-unlock-toast-content.cjs.map +1 -1
- package/dist/components/rewards/badge-unlock-toast-content.d.cts +0 -2
- package/dist/components/rewards/badge-unlock-toast-content.d.ts +0 -2
- package/dist/components/rewards/badge-unlock-toast-content.js.map +1 -1
- package/dist/components/rewards/journey-path.cjs.map +1 -1
- package/dist/components/rewards/journey-path.d.cts +0 -9
- package/dist/components/rewards/journey-path.d.ts +0 -9
- package/dist/components/rewards/journey-path.js.map +1 -1
- package/dist/components/rewards/leaderboard-table.cjs.map +1 -1
- package/dist/components/rewards/leaderboard-table.d.cts +0 -11
- package/dist/components/rewards/leaderboard-table.d.ts +0 -11
- package/dist/components/rewards/leaderboard-table.js.map +1 -1
- package/dist/components/rewards/level-badge.cjs.map +1 -1
- package/dist/components/rewards/level-badge.d.cts +0 -10
- package/dist/components/rewards/level-badge.d.ts +0 -10
- package/dist/components/rewards/level-badge.js.map +1 -1
- package/dist/components/rewards/level-journey-list.cjs.map +1 -1
- package/dist/components/rewards/level-journey-list.d.cts +0 -7
- package/dist/components/rewards/level-journey-list.d.ts +0 -7
- package/dist/components/rewards/level-journey-list.js.map +1 -1
- package/dist/components/rewards/level-up-celebration.cjs.map +1 -1
- package/dist/components/rewards/level-up-celebration.d.cts +0 -4
- package/dist/components/rewards/level-up-celebration.d.ts +0 -4
- package/dist/components/rewards/level-up-celebration.js.map +1 -1
- package/dist/components/rewards/reward-toast.cjs.map +1 -1
- package/dist/components/rewards/reward-toast.d.cts +0 -8
- package/dist/components/rewards/reward-toast.d.ts +0 -8
- package/dist/components/rewards/reward-toast.js.map +1 -1
- package/dist/components/rewards/score-summary-card.cjs.map +1 -1
- package/dist/components/rewards/score-summary-card.d.cts +0 -5
- package/dist/components/rewards/score-summary-card.d.ts +0 -5
- package/dist/components/rewards/score-summary-card.js.map +1 -1
- package/dist/components/rewards/use-rewards-celebrations.cjs.map +1 -1
- package/dist/components/rewards/use-rewards-celebrations.d.cts +0 -10
- package/dist/components/rewards/use-rewards-celebrations.d.ts +0 -10
- package/dist/components/rewards/use-rewards-celebrations.js.map +1 -1
- package/dist/components/rewards/xp-progress.cjs.map +1 -1
- package/dist/components/rewards/xp-progress.d.cts +0 -4
- package/dist/components/rewards/xp-progress.d.ts +0 -4
- package/dist/components/rewards/xp-progress.js.map +1 -1
- package/dist/components/rewards/xp-toast-content.cjs.map +1 -1
- package/dist/components/rewards/xp-toast-content.d.cts +0 -7
- package/dist/components/rewards/xp-toast-content.d.ts +0 -7
- package/dist/components/rewards/xp-toast-content.js.map +1 -1
- package/dist/components/scroll-section.cjs.map +1 -1
- package/dist/components/scroll-section.d.cts +0 -6
- package/dist/components/scroll-section.d.ts +0 -6
- package/dist/components/scroll-section.js.map +1 -1
- package/dist/components/service-form-shell.cjs.map +1 -1
- package/dist/components/service-form-shell.d.cts +0 -14
- package/dist/components/service-form-shell.d.ts +0 -14
- package/dist/components/service-form-shell.js.map +1 -1
- package/dist/components/service-header.cjs.map +1 -1
- package/dist/components/service-header.d.cts +0 -11
- package/dist/components/service-header.d.ts +0 -11
- package/dist/components/service-header.js.map +1 -1
- package/dist/components/share-button.cjs.map +1 -1
- package/dist/components/share-button.js.map +1 -1
- package/dist/components/stat-tile.cjs.map +1 -1
- package/dist/components/stat-tile.d.cts +0 -4
- package/dist/components/stat-tile.d.ts +0 -4
- package/dist/components/stat-tile.js.map +1 -1
- package/dist/components/step-nav.cjs.map +1 -1
- package/dist/components/step-nav.d.cts +0 -11
- package/dist/components/step-nav.d.ts +0 -11
- package/dist/components/step-nav.js.map +1 -1
- package/dist/components/theme-ambient-background.cjs.map +1 -1
- package/dist/components/theme-ambient-background.d.cts +0 -6
- package/dist/components/theme-ambient-background.d.ts +0 -6
- package/dist/components/theme-ambient-background.js.map +1 -1
- package/dist/components/token-card.cjs.map +1 -1
- package/dist/components/token-card.d.cts +0 -6
- package/dist/components/token-card.d.ts +0 -6
- package/dist/components/token-card.js.map +1 -1
- package/dist/components/token-glyph.cjs.map +1 -1
- package/dist/components/token-glyph.d.cts +0 -2
- package/dist/components/token-glyph.d.ts +0 -2
- package/dist/components/token-glyph.js.map +1 -1
- package/dist/data/brand.cjs.map +1 -1
- package/dist/data/brand.d.cts +0 -6
- package/dist/data/brand.d.ts +0 -6
- package/dist/data/brand.js.map +1 -1
- package/dist/data/coins.cjs.map +1 -1
- package/dist/data/coins.d.cts +0 -9
- package/dist/data/coins.d.ts +0 -9
- package/dist/data/coins.js.map +1 -1
- package/dist/data/ip-templates.cjs.map +1 -1
- package/dist/data/ip-templates.d.cts +0 -12
- package/dist/data/ip-templates.d.ts +0 -12
- package/dist/data/ip-templates.js.map +1 -1
- package/dist/data/ip-types.cjs.map +1 -1
- package/dist/data/ip-types.d.cts +0 -2
- package/dist/data/ip-types.d.ts +0 -2
- package/dist/data/ip-types.js.map +1 -1
- package/dist/data/ip.cjs.map +1 -1
- package/dist/data/ip.d.cts +0 -1
- package/dist/data/ip.d.ts +0 -1
- package/dist/data/ip.js.map +1 -1
- package/dist/data/launchpad-services.cjs +0 -10
- package/dist/data/launchpad-services.cjs.map +1 -1
- package/dist/data/launchpad-services.d.cts +0 -10
- package/dist/data/launchpad-services.d.ts +0 -10
- package/dist/data/launchpad-services.js +0 -10
- package/dist/data/launchpad-services.js.map +1 -1
- package/dist/data/living-render-collections.cjs +0 -2
- package/dist/data/living-render-collections.cjs.map +1 -1
- package/dist/data/living-render-collections.d.cts +0 -11
- package/dist/data/living-render-collections.d.ts +0 -11
- package/dist/data/living-render-collections.js +0 -2
- package/dist/data/living-render-collections.js.map +1 -1
- package/dist/data/notification.cjs.map +1 -1
- package/dist/data/notification.d.cts +0 -3
- package/dist/data/notification.d.ts +0 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/preset/tailwind.cjs +0 -9
- package/dist/preset/tailwind.cjs.map +1 -1
- package/dist/preset/tailwind.js +0 -9
- package/dist/preset/tailwind.js.map +1 -1
- package/dist/utils/address.cjs.map +1 -1
- package/dist/utils/address.d.cts +0 -4
- package/dist/utils/address.d.ts +0 -4
- package/dist/utils/address.js.map +1 -1
- package/dist/utils/api-fetch.cjs.map +1 -1
- package/dist/utils/api-fetch.d.cts +0 -21
- package/dist/utils/api-fetch.d.ts +0 -21
- package/dist/utils/api-fetch.js.map +1 -1
- package/dist/utils/format.cjs.map +1 -1
- package/dist/utils/format.d.cts +0 -11
- package/dist/utils/format.d.ts +0 -11
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/ipfs.cjs.map +1 -1
- package/dist/utils/ipfs.d.cts +0 -8
- package/dist/utils/ipfs.d.ts +0 -8
- package/dist/utils/ipfs.js.map +1 -1
- package/dist/utils/license-summary.cjs.map +1 -1
- package/dist/utils/license-summary.d.cts +0 -8
- package/dist/utils/license-summary.d.ts +0 -8
- package/dist/utils/license-summary.js.map +1 -1
- package/dist/utils/notification-storage.cjs.map +1 -1
- package/dist/utils/notification-storage.js.map +1 -1
- package/dist/utils/portfolio-counts.cjs.map +1 -1
- package/dist/utils/portfolio-counts.d.cts +0 -18
- package/dist/utils/portfolio-counts.d.ts +0 -18
- package/dist/utils/portfolio-counts.js.map +1 -1
- package/dist/utils/proxy-body.cjs.map +1 -1
- package/dist/utils/proxy-body.d.cts +0 -11
- package/dist/utils/proxy-body.d.ts +0 -11
- package/dist/utils/proxy-body.js.map +1 -1
- package/dist/utils/time.cjs.map +1 -1
- package/dist/utils/time.d.cts +0 -5
- package/dist/utils/time.d.ts +0 -5
- package/dist/utils/time.js.map +1 -1
- package/dist/utils/use-collections.cjs.map +1 -1
- package/dist/utils/use-collections.d.cts +1 -11
- package/dist/utils/use-collections.d.ts +1 -11
- package/dist/utils/use-collections.js.map +1 -1
- package/dist/utils/use-intersection-active.cjs.map +1 -1
- package/dist/utils/use-intersection-active.d.cts +0 -7
- package/dist/utils/use-intersection-active.d.ts +0 -7
- package/dist/utils/use-intersection-active.js.map +1 -1
- package/dist/utils/use-notifications.cjs.map +1 -1
- package/dist/utils/use-notifications.js.map +1 -1
- package/dist/utils/use-orders.cjs.map +1 -1
- package/dist/utils/use-orders.d.cts +0 -2
- package/dist/utils/use-orders.d.ts +0 -2
- package/dist/utils/use-orders.js.map +1 -1
- package/dist/utils/use-profiles.cjs.map +1 -1
- package/dist/utils/use-profiles.js.map +1 -1
- package/dist/utils/use-remix-offers.cjs.map +1 -1
- package/dist/utils/use-remix-offers.d.cts +0 -1
- package/dist/utils/use-remix-offers.d.ts +0 -1
- package/dist/utils/use-remix-offers.js.map +1 -1
- package/dist/utils/use-rewards.cjs.map +1 -1
- package/dist/utils/use-rewards.d.cts +0 -4
- package/dist/utils/use-rewards.d.ts +0 -4
- package/dist/utils/use-rewards.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/collection-traits-tab.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect } from \"react\";\nimport type { MedialaneClient } from \"@medialane/sdk/starknet\";\nimport type { ApiToken } from \"@medialane/sdk\";\nimport { Sparkles } from \"lucide-react\";\nimport { useCollectionTokens } from \"../utils/use-collections.js\";\nimport { useCollectionFilters } from \"./collection-filters.js\";\n\nconst FETCH_PAGE_SIZE = 100;\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/collection-traits-tab.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect } from \"react\";\nimport type { MedialaneClient } from \"@medialane/sdk/starknet\";\nimport type { ApiToken } from \"@medialane/sdk\";\nimport { Sparkles } from \"lucide-react\";\nimport { useCollectionTokens } from \"../utils/use-collections.js\";\nimport { useCollectionFilters } from \"./collection-filters.js\";\n\nconst FETCH_PAGE_SIZE = 100;\n\nconst MAX_TOKENS_FOR_RARITY = 2000;\n\nexport interface CollectionTraitsTabProps {\n getClient: () => MedialaneClient;\n contract: string;\n}\n\nexport function CollectionTraitsTab({ getClient, contract }: CollectionTraitsTabProps) {\n const [page, setPage] = useState(1);\n const [all, setAll] = useState<ApiToken[]>([]);\n const { tokens, meta, isLoading } = useCollectionTokens(getClient, contract, page, FETCH_PAGE_SIZE, \"recent\");\n\n useEffect(() => {\n if (tokens.length === 0) return;\n setAll((prev) => (page === 1 ? tokens : [...prev, ...tokens]));\n }, [tokens, page]);\n\n useEffect(() => {\n const total = Math.min(meta?.total ?? 0, MAX_TOKENS_FOR_RARITY);\n if (!isLoading && all.length > 0 && all.length < total) setPage((p) => p + 1);\n }, [isLoading, all.length, meta?.total]);\n\n const { traitSections } = useCollectionFilters(all, {}, () => {}, \"recent\", () => {});\n const sampleSize = all.length;\n const stillLoading = isLoading || (meta?.total != null && sampleSize < Math.min(meta.total, MAX_TOKENS_FOR_RARITY));\n\n if (traitSections.length === 0 && !stillLoading) {\n return (\n <div className=\"py-20 flex flex-col items-center gap-3 text-center\">\n <Sparkles className=\"h-10 w-10 text-muted-foreground/40\" />\n <p className=\"text-sm font-medium text-muted-foreground\">No traits found</p>\n <p className=\"text-xs text-muted-foreground/70 max-w-xs\">\n Items in this collection don't carry attribute metadata yet.\n </p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-6\">\n {stillLoading && (\n <p className=\"text-xs text-muted-foreground\">Reading trait data — rarity updates as more items load…</p>\n )}\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\n {traitSections.map((section) => (\n <div key={section.traitType} className=\"space-y-2\">\n <p className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">{section.traitType}</p>\n <div className=\"space-y-1.5\">\n {section.values.map(({ value, count }) => {\n const pct = sampleSize > 0 ? Math.round((count / sampleSize) * 1000) / 10 : 0;\n return (\n <div key={value} className=\"flex items-center justify-between gap-3 rounded-lg bg-muted/50 px-3 py-2\">\n <span className=\"text-sm font-medium truncate\">{value}</span>\n <span className=\"text-xs font-bold tabular-nums text-muted-foreground shrink-0\">\n {count} · {pct}%\n </span>\n </div>\n );\n })}\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuCM;AArCN,mBAAoC;AAGpC,0BAAyB;AACzB,6BAAoC;AACpC,gCAAqC;AAErC,MAAM,kBAAkB;AAExB,MAAM,wBAAwB;AAOvB,SAAS,oBAAoB,EAAE,WAAW,SAAS,GAA6B;AACrF,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,CAAC;AAClC,QAAM,CAAC,KAAK,MAAM,QAAI,uBAAqB,CAAC,CAAC;AAC7C,QAAM,EAAE,QAAQ,MAAM,UAAU,QAAI,4CAAoB,WAAW,UAAU,MAAM,iBAAiB,QAAQ;AAE5G,8BAAU,MAAM;AACd,QAAI,OAAO,WAAW,EAAG;AACzB,WAAO,CAAC,SAAU,SAAS,IAAI,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,CAAE;AAAA,EAC/D,GAAG,CAAC,QAAQ,IAAI,CAAC;AAEjB,8BAAU,MAAM;AACd,UAAM,QAAQ,KAAK,IAAI,MAAM,SAAS,GAAG,qBAAqB;AAC9D,QAAI,CAAC,aAAa,IAAI,SAAS,KAAK,IAAI,SAAS,MAAO,SAAQ,CAAC,MAAM,IAAI,CAAC;AAAA,EAC9E,GAAG,CAAC,WAAW,IAAI,QAAQ,MAAM,KAAK,CAAC;AAEvC,QAAM,EAAE,cAAc,QAAI,gDAAqB,KAAK,CAAC,GAAG,MAAM;AAAA,EAAC,GAAG,UAAU,MAAM;AAAA,EAAC,CAAC;AACpF,QAAM,aAAa,IAAI;AACvB,QAAM,eAAe,aAAc,MAAM,SAAS,QAAQ,aAAa,KAAK,IAAI,KAAK,OAAO,qBAAqB;AAEjH,MAAI,cAAc,WAAW,KAAK,CAAC,cAAc;AAC/C,WACE,6CAAC,SAAI,WAAU,sDACb;AAAA,kDAAC,gCAAS,WAAU,sCAAqC;AAAA,MACzD,4CAAC,OAAE,WAAU,6CAA4C,6BAAe;AAAA,MACxE,4CAAC,OAAE,WAAU,6CAA4C,0EAEzD;AAAA,OACF;AAAA,EAEJ;AAEA,SACE,6CAAC,SAAI,WAAU,aACZ;AAAA,oBACC,4CAAC,OAAE,WAAU,iCAAgC,+EAAuD;AAAA,IAEtG,4CAAC,SAAI,WAAU,wDACZ,wBAAc,IAAI,CAAC,YAClB,6CAAC,SAA4B,WAAU,aACrC;AAAA,kDAAC,OAAE,WAAU,uEAAuE,kBAAQ,WAAU;AAAA,MACtG,4CAAC,SAAI,WAAU,eACZ,kBAAQ,OAAO,IAAI,CAAC,EAAE,OAAO,MAAM,MAAM;AACxC,cAAM,MAAM,aAAa,IAAI,KAAK,MAAO,QAAQ,aAAc,GAAI,IAAI,KAAK;AAC5E,eACE,6CAAC,SAAgB,WAAU,4EACzB;AAAA,sDAAC,UAAK,WAAU,gCAAgC,iBAAM;AAAA,UACtD,6CAAC,UAAK,WAAU,iEACb;AAAA;AAAA,YAAM;AAAA,YAAI;AAAA,YAAI;AAAA,aACjB;AAAA,aAJQ,KAKV;AAAA,MAEJ,CAAC,GACH;AAAA,SAdQ,QAAQ,SAelB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/collection-traits-tab.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect } from \"react\";\nimport type { MedialaneClient } from \"@medialane/sdk/starknet\";\nimport type { ApiToken } from \"@medialane/sdk\";\nimport { Sparkles } from \"lucide-react\";\nimport { useCollectionTokens } from \"../utils/use-collections.js\";\nimport { useCollectionFilters } from \"./collection-filters.js\";\n\nconst FETCH_PAGE_SIZE = 100;\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/collection-traits-tab.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect } from \"react\";\nimport type { MedialaneClient } from \"@medialane/sdk/starknet\";\nimport type { ApiToken } from \"@medialane/sdk\";\nimport { Sparkles } from \"lucide-react\";\nimport { useCollectionTokens } from \"../utils/use-collections.js\";\nimport { useCollectionFilters } from \"./collection-filters.js\";\n\nconst FETCH_PAGE_SIZE = 100;\n\nconst MAX_TOKENS_FOR_RARITY = 2000;\n\nexport interface CollectionTraitsTabProps {\n getClient: () => MedialaneClient;\n contract: string;\n}\n\nexport function CollectionTraitsTab({ getClient, contract }: CollectionTraitsTabProps) {\n const [page, setPage] = useState(1);\n const [all, setAll] = useState<ApiToken[]>([]);\n const { tokens, meta, isLoading } = useCollectionTokens(getClient, contract, page, FETCH_PAGE_SIZE, \"recent\");\n\n useEffect(() => {\n if (tokens.length === 0) return;\n setAll((prev) => (page === 1 ? tokens : [...prev, ...tokens]));\n }, [tokens, page]);\n\n useEffect(() => {\n const total = Math.min(meta?.total ?? 0, MAX_TOKENS_FOR_RARITY);\n if (!isLoading && all.length > 0 && all.length < total) setPage((p) => p + 1);\n }, [isLoading, all.length, meta?.total]);\n\n const { traitSections } = useCollectionFilters(all, {}, () => {}, \"recent\", () => {});\n const sampleSize = all.length;\n const stillLoading = isLoading || (meta?.total != null && sampleSize < Math.min(meta.total, MAX_TOKENS_FOR_RARITY));\n\n if (traitSections.length === 0 && !stillLoading) {\n return (\n <div className=\"py-20 flex flex-col items-center gap-3 text-center\">\n <Sparkles className=\"h-10 w-10 text-muted-foreground/40\" />\n <p className=\"text-sm font-medium text-muted-foreground\">No traits found</p>\n <p className=\"text-xs text-muted-foreground/70 max-w-xs\">\n Items in this collection don't carry attribute metadata yet.\n </p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-6\">\n {stillLoading && (\n <p className=\"text-xs text-muted-foreground\">Reading trait data — rarity updates as more items load…</p>\n )}\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\n {traitSections.map((section) => (\n <div key={section.traitType} className=\"space-y-2\">\n <p className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">{section.traitType}</p>\n <div className=\"space-y-1.5\">\n {section.values.map(({ value, count }) => {\n const pct = sampleSize > 0 ? Math.round((count / sampleSize) * 1000) / 10 : 0;\n return (\n <div key={value} className=\"flex items-center justify-between gap-3 rounded-lg bg-muted/50 px-3 py-2\">\n <span className=\"text-sm font-medium truncate\">{value}</span>\n <span className=\"text-xs font-bold tabular-nums text-muted-foreground shrink-0\">\n {count} · {pct}%\n </span>\n </div>\n );\n })}\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";AAuCM,SACE,KADF;AArCN,SAAS,UAAU,iBAAiB;AAGpC,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,SAAS,4BAA4B;AAErC,MAAM,kBAAkB;AAExB,MAAM,wBAAwB;AAOvB,SAAS,oBAAoB,EAAE,WAAW,SAAS,GAA6B;AACrF,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,CAAC;AAClC,QAAM,CAAC,KAAK,MAAM,IAAI,SAAqB,CAAC,CAAC;AAC7C,QAAM,EAAE,QAAQ,MAAM,UAAU,IAAI,oBAAoB,WAAW,UAAU,MAAM,iBAAiB,QAAQ;AAE5G,YAAU,MAAM;AACd,QAAI,OAAO,WAAW,EAAG;AACzB,WAAO,CAAC,SAAU,SAAS,IAAI,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,CAAE;AAAA,EAC/D,GAAG,CAAC,QAAQ,IAAI,CAAC;AAEjB,YAAU,MAAM;AACd,UAAM,QAAQ,KAAK,IAAI,MAAM,SAAS,GAAG,qBAAqB;AAC9D,QAAI,CAAC,aAAa,IAAI,SAAS,KAAK,IAAI,SAAS,MAAO,SAAQ,CAAC,MAAM,IAAI,CAAC;AAAA,EAC9E,GAAG,CAAC,WAAW,IAAI,QAAQ,MAAM,KAAK,CAAC;AAEvC,QAAM,EAAE,cAAc,IAAI,qBAAqB,KAAK,CAAC,GAAG,MAAM;AAAA,EAAC,GAAG,UAAU,MAAM;AAAA,EAAC,CAAC;AACpF,QAAM,aAAa,IAAI;AACvB,QAAM,eAAe,aAAc,MAAM,SAAS,QAAQ,aAAa,KAAK,IAAI,KAAK,OAAO,qBAAqB;AAEjH,MAAI,cAAc,WAAW,KAAK,CAAC,cAAc;AAC/C,WACE,qBAAC,SAAI,WAAU,sDACb;AAAA,0BAAC,YAAS,WAAU,sCAAqC;AAAA,MACzD,oBAAC,OAAE,WAAU,6CAA4C,6BAAe;AAAA,MACxE,oBAAC,OAAE,WAAU,6CAA4C,0EAEzD;AAAA,OACF;AAAA,EAEJ;AAEA,SACE,qBAAC,SAAI,WAAU,aACZ;AAAA,oBACC,oBAAC,OAAE,WAAU,iCAAgC,+EAAuD;AAAA,IAEtG,oBAAC,SAAI,WAAU,wDACZ,wBAAc,IAAI,CAAC,YAClB,qBAAC,SAA4B,WAAU,aACrC;AAAA,0BAAC,OAAE,WAAU,uEAAuE,kBAAQ,WAAU;AAAA,MACtG,oBAAC,SAAI,WAAU,eACZ,kBAAQ,OAAO,IAAI,CAAC,EAAE,OAAO,MAAM,MAAM;AACxC,cAAM,MAAM,aAAa,IAAI,KAAK,MAAO,QAAQ,aAAc,GAAI,IAAI,KAAK;AAC5E,eACE,qBAAC,SAAgB,WAAU,4EACzB;AAAA,8BAAC,UAAK,WAAU,gCAAgC,iBAAM;AAAA,UACtD,qBAAC,UAAK,WAAU,iEACb;AAAA;AAAA,YAAM;AAAA,YAAI;AAAA,YAAI;AAAA,aACjB;AAAA,aAJQ,KAKV;AAAA,MAEJ,CAAC,GACH;AAAA,SAdQ,QAAQ,SAelB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/community-rewards-section.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { ArrowRight, Zap, Palette, ShoppingBag, MessageSquare } from \"lucide-react\";\nimport { AddressDisplay } from \"./address-display.js\";\n\nexport interface CommunityRewardsEntry {\n address: string;\n totalXp: number;\n}\n\nexport interface CommunityRewardsSectionProps {\n entries: CommunityRewardsEntry[];\n isLoading?: boolean;\n rewardsHref: string;\n creatorHref: (address: string) => string;\n}\n\nconst EARN_ACTIONS = [\n { icon: Zap, label: \"Mint\" },\n { icon: Palette, label: \"Create\" },\n { icon: ShoppingBag, label: \"Trade\" },\n { icon: MessageSquare, label: \"Engage\" },\n];\n\nexport function CommunityRewardsSection({\n entries,\n isLoading = false,\n rewardsHref,\n creatorHref,\n}: CommunityRewardsSectionProps) {\n return (\n <section className=\"rounded-2xl bg-muted/50 dark:bg-card overflow-hidden grid lg:grid-cols-2 max-lg:divide-y lg:divide-x divide-brand-orange/20\">\n\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/community-rewards-section.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { ArrowRight, Zap, Palette, ShoppingBag, MessageSquare } from \"lucide-react\";\nimport { AddressDisplay } from \"./address-display.js\";\n\nexport interface CommunityRewardsEntry {\n address: string;\n totalXp: number;\n}\n\nexport interface CommunityRewardsSectionProps {\n entries: CommunityRewardsEntry[];\n isLoading?: boolean;\n rewardsHref: string;\n creatorHref: (address: string) => string;\n}\n\nconst EARN_ACTIONS = [\n { icon: Zap, label: \"Mint\" },\n { icon: Palette, label: \"Create\" },\n { icon: ShoppingBag, label: \"Trade\" },\n { icon: MessageSquare, label: \"Engage\" },\n];\n\nexport function CommunityRewardsSection({\n entries,\n isLoading = false,\n rewardsHref,\n creatorHref,\n}: CommunityRewardsSectionProps) {\n return (\n <section className=\"rounded-2xl bg-muted/50 dark:bg-card overflow-hidden grid lg:grid-cols-2 max-lg:divide-y lg:divide-x divide-brand-orange/20\">\n\n <div className=\"px-7 py-8 sm:px-9 flex flex-col gap-6\">\n <div>\n\n <span className=\"text-xs font-bold uppercase tracking-widest text-brand-orange\">\n Creator's Fund\n </span>\n <h2 className=\"mt-4 text-2xl font-bold tracking-tight leading-tight\">\n Community Rewards\n </h2>\n <p className=\"mt-1.5 text-sm text-muted-foreground leading-relaxed\">\n Earn XP. Share the Creator's Fund.\n </p>\n </div>\n\n {!isLoading && entries.length > 0 && (\n <div className=\"border-y border-brand-orange/20 py-3\">\n <p className=\"text-2xs font-bold uppercase tracking-widest text-muted-foreground mb-2\">\n Recently active\n </p>\n <div className=\"flex -space-x-2\">\n {entries.slice(0, 5).map((entry) => (\n <span\n key={entry.address}\n title={`${entry.totalXp.toLocaleString()} XP`}\n className=\"flex h-7 w-7 items-center justify-center rounded-full border-2 border-background bg-brand-orange/15 text-[9px] font-bold text-brand-orange\"\n >\n {entry.address.slice(2, 4).toUpperCase()}\n </span>\n ))}\n </div>\n </div>\n )}\n\n <div className=\"flex flex-wrap gap-x-5 gap-y-2\">\n {EARN_ACTIONS.map(({ icon: Icon, label }) => (\n <span\n key={label}\n className=\"flex items-center gap-1.5 text-xs font-medium text-muted-foreground\"\n >\n <Icon className=\"h-3 w-3 text-brand-orange/70\" />\n {label}\n </span>\n ))}\n </div>\n\n <Link\n href={rewardsHref}\n className=\"mt-auto inline-flex items-center justify-center gap-2 rounded-xl bg-brand-orange px-6 py-3 text-sm font-semibold text-white transition-all hover:brightness-110 active:scale-[0.98]\"\n >\n Start earning XP\n <ArrowRight className=\"h-3.5 w-3.5\" />\n </Link>\n </div>\n\n <div className=\"p-5 sm:p-6\">\n {!isLoading && entries.length > 0 ? (\n <div className=\"grid grid-cols-2 gap-3 h-full\">\n {entries.slice(0, 4).map((entry) => (\n <Link\n key={entry.address}\n href={creatorHref(entry.address)}\n className=\"group relative rounded-xl bg-card dark:bg-muted/30 hover:bg-card/70 dark:hover:bg-muted/50 overflow-hidden transition-colors flex flex-col justify-between p-4\"\n >\n <div className=\"absolute inset-x-0 top-0 h-0.5 bg-brand-orange/40\" />\n\n <div className=\"space-y-0.5 pt-1\">\n <p className=\"text-2xl font-black tabular-nums leading-none\">\n {entry.totalXp.toLocaleString()}\n </p>\n <p className=\"text-2xs text-muted-foreground\">XP earned</p>\n </div>\n\n <AddressDisplay\n address={entry.address}\n chars={4}\n showCopy={false}\n className=\"text-xs font-medium text-muted-foreground group-hover:text-foreground transition-colors\"\n />\n </Link>\n ))}\n </div>\n ) : (\n <div className=\"grid grid-cols-2 gap-3 h-full\">\n {Array.from({ length: 4 }).map((_, i) => (\n <div key={i} className=\"min-h-[100px] rounded-xl bg-card dark:bg-muted/30 animate-pulse\" />\n ))}\n </div>\n )}\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCQ;AAjCR,kBAAiB;AACjB,0BAAqE;AACrE,6BAA+B;AAc/B,MAAM,eAAe;AAAA,EACnB,EAAE,MAAM,yBAAK,OAAO,OAAO;AAAA,EAC3B,EAAE,MAAM,6BAAS,OAAO,SAAS;AAAA,EACjC,EAAE,MAAM,iCAAa,OAAO,QAAQ;AAAA,EACpC,EAAE,MAAM,mCAAe,OAAO,SAAS;AACzC;AAEO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF,GAAiC;AAC/B,SACE,6CAAC,aAAQ,WAAU,+HAEjB;AAAA,iDAAC,SAAI,WAAU,yCACb;AAAA,mDAAC,SAEC;AAAA,oDAAC,UAAK,WAAU,iEAAgE,4BAEhF;AAAA,QACA,4CAAC,QAAG,WAAU,wDAAuD,+BAErE;AAAA,QACA,4CAAC,OAAE,WAAU,wDAAuD,gDAEpE;AAAA,SACF;AAAA,MAEC,CAAC,aAAa,QAAQ,SAAS,KAC9B,6CAAC,SAAI,WAAU,wCACb;AAAA,oDAAC,OAAE,WAAU,2EAA0E,6BAEvF;AAAA,QACA,4CAAC,SAAI,WAAU,mBACZ,kBAAQ,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,UACxB;AAAA,UAAC;AAAA;AAAA,YAEC,OAAO,GAAG,MAAM,QAAQ,eAAe,CAAC;AAAA,YACxC,WAAU;AAAA,YAET,gBAAM,QAAQ,MAAM,GAAG,CAAC,EAAE,YAAY;AAAA;AAAA,UAJlC,MAAM;AAAA,QAKb,CACD,GACH;AAAA,SACF;AAAA,MAGF,4CAAC,SAAI,WAAU,kCACZ,uBAAa,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM,MACrC;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA,wDAAC,QAAK,WAAU,gCAA+B;AAAA,YAC9C;AAAA;AAAA;AAAA,QAJI;AAAA,MAKP,CACD,GACH;AAAA,MAEA;AAAA,QAAC,YAAAA;AAAA,QAAA;AAAA,UACC,MAAM;AAAA,UACN,WAAU;AAAA,UACX;AAAA;AAAA,YAEC,4CAAC,kCAAW,WAAU,eAAc;AAAA;AAAA;AAAA,MACtC;AAAA,OACF;AAAA,IAEA,4CAAC,SAAI,WAAU,cACZ,WAAC,aAAa,QAAQ,SAAS,IAC9B,4CAAC,SAAI,WAAU,iCACZ,kBAAQ,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,UACxB;AAAA,MAAC,YAAAA;AAAA,MAAA;AAAA,QAEC,MAAM,YAAY,MAAM,OAAO;AAAA,QAC/B,WAAU;AAAA,QAEV;AAAA,sDAAC,SAAI,WAAU,qDAAoD;AAAA,UAEnE,6CAAC,SAAI,WAAU,oBACb;AAAA,wDAAC,OAAE,WAAU,iDACV,gBAAM,QAAQ,eAAe,GAChC;AAAA,YACA,4CAAC,OAAE,WAAU,kCAAiC,uBAAS;AAAA,aACzD;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS,MAAM;AAAA,cACf,OAAO;AAAA,cACP,UAAU;AAAA,cACV,WAAU;AAAA;AAAA,UACZ;AAAA;AAAA;AAAA,MAlBK,MAAM;AAAA,IAmBb,CACD,GACH,IAEA,4CAAC,SAAI,WAAU,iCACZ,gBAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MACjC,4CAAC,SAAY,WAAU,qEAAb,CAA+E,CAC1F,GACH,GAEJ;AAAA,KACF;AAEJ;","names":["Link"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/community-rewards-section.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { ArrowRight, Zap, Palette, ShoppingBag, MessageSquare } from \"lucide-react\";\nimport { AddressDisplay } from \"./address-display.js\";\n\nexport interface CommunityRewardsEntry {\n address: string;\n totalXp: number;\n}\n\nexport interface CommunityRewardsSectionProps {\n entries: CommunityRewardsEntry[];\n isLoading?: boolean;\n rewardsHref: string;\n creatorHref: (address: string) => string;\n}\n\nconst EARN_ACTIONS = [\n { icon: Zap, label: \"Mint\" },\n { icon: Palette, label: \"Create\" },\n { icon: ShoppingBag, label: \"Trade\" },\n { icon: MessageSquare, label: \"Engage\" },\n];\n\nexport function CommunityRewardsSection({\n entries,\n isLoading = false,\n rewardsHref,\n creatorHref,\n}: CommunityRewardsSectionProps) {\n return (\n <section className=\"rounded-2xl bg-muted/50 dark:bg-card overflow-hidden grid lg:grid-cols-2 max-lg:divide-y lg:divide-x divide-brand-orange/20\">\n\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/community-rewards-section.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { ArrowRight, Zap, Palette, ShoppingBag, MessageSquare } from \"lucide-react\";\nimport { AddressDisplay } from \"./address-display.js\";\n\nexport interface CommunityRewardsEntry {\n address: string;\n totalXp: number;\n}\n\nexport interface CommunityRewardsSectionProps {\n entries: CommunityRewardsEntry[];\n isLoading?: boolean;\n rewardsHref: string;\n creatorHref: (address: string) => string;\n}\n\nconst EARN_ACTIONS = [\n { icon: Zap, label: \"Mint\" },\n { icon: Palette, label: \"Create\" },\n { icon: ShoppingBag, label: \"Trade\" },\n { icon: MessageSquare, label: \"Engage\" },\n];\n\nexport function CommunityRewardsSection({\n entries,\n isLoading = false,\n rewardsHref,\n creatorHref,\n}: CommunityRewardsSectionProps) {\n return (\n <section className=\"rounded-2xl bg-muted/50 dark:bg-card overflow-hidden grid lg:grid-cols-2 max-lg:divide-y lg:divide-x divide-brand-orange/20\">\n\n <div className=\"px-7 py-8 sm:px-9 flex flex-col gap-6\">\n <div>\n\n <span className=\"text-xs font-bold uppercase tracking-widest text-brand-orange\">\n Creator's Fund\n </span>\n <h2 className=\"mt-4 text-2xl font-bold tracking-tight leading-tight\">\n Community Rewards\n </h2>\n <p className=\"mt-1.5 text-sm text-muted-foreground leading-relaxed\">\n Earn XP. Share the Creator's Fund.\n </p>\n </div>\n\n {!isLoading && entries.length > 0 && (\n <div className=\"border-y border-brand-orange/20 py-3\">\n <p className=\"text-2xs font-bold uppercase tracking-widest text-muted-foreground mb-2\">\n Recently active\n </p>\n <div className=\"flex -space-x-2\">\n {entries.slice(0, 5).map((entry) => (\n <span\n key={entry.address}\n title={`${entry.totalXp.toLocaleString()} XP`}\n className=\"flex h-7 w-7 items-center justify-center rounded-full border-2 border-background bg-brand-orange/15 text-[9px] font-bold text-brand-orange\"\n >\n {entry.address.slice(2, 4).toUpperCase()}\n </span>\n ))}\n </div>\n </div>\n )}\n\n <div className=\"flex flex-wrap gap-x-5 gap-y-2\">\n {EARN_ACTIONS.map(({ icon: Icon, label }) => (\n <span\n key={label}\n className=\"flex items-center gap-1.5 text-xs font-medium text-muted-foreground\"\n >\n <Icon className=\"h-3 w-3 text-brand-orange/70\" />\n {label}\n </span>\n ))}\n </div>\n\n <Link\n href={rewardsHref}\n className=\"mt-auto inline-flex items-center justify-center gap-2 rounded-xl bg-brand-orange px-6 py-3 text-sm font-semibold text-white transition-all hover:brightness-110 active:scale-[0.98]\"\n >\n Start earning XP\n <ArrowRight className=\"h-3.5 w-3.5\" />\n </Link>\n </div>\n\n <div className=\"p-5 sm:p-6\">\n {!isLoading && entries.length > 0 ? (\n <div className=\"grid grid-cols-2 gap-3 h-full\">\n {entries.slice(0, 4).map((entry) => (\n <Link\n key={entry.address}\n href={creatorHref(entry.address)}\n className=\"group relative rounded-xl bg-card dark:bg-muted/30 hover:bg-card/70 dark:hover:bg-muted/50 overflow-hidden transition-colors flex flex-col justify-between p-4\"\n >\n <div className=\"absolute inset-x-0 top-0 h-0.5 bg-brand-orange/40\" />\n\n <div className=\"space-y-0.5 pt-1\">\n <p className=\"text-2xl font-black tabular-nums leading-none\">\n {entry.totalXp.toLocaleString()}\n </p>\n <p className=\"text-2xs text-muted-foreground\">XP earned</p>\n </div>\n\n <AddressDisplay\n address={entry.address}\n chars={4}\n showCopy={false}\n className=\"text-xs font-medium text-muted-foreground group-hover:text-foreground transition-colors\"\n />\n </Link>\n ))}\n </div>\n ) : (\n <div className=\"grid grid-cols-2 gap-3 h-full\">\n {Array.from({ length: 4 }).map((_, i) => (\n <div key={i} className=\"min-h-[100px] rounded-xl bg-card dark:bg-muted/30 animate-pulse\" />\n ))}\n </div>\n )}\n </div>\n </section>\n );\n}\n"],"mappings":";AAmCQ,SAEE,KAFF;AAjCR,OAAO,UAAU;AACjB,SAAS,YAAY,KAAK,SAAS,aAAa,qBAAqB;AACrE,SAAS,sBAAsB;AAc/B,MAAM,eAAe;AAAA,EACnB,EAAE,MAAM,KAAK,OAAO,OAAO;AAAA,EAC3B,EAAE,MAAM,SAAS,OAAO,SAAS;AAAA,EACjC,EAAE,MAAM,aAAa,OAAO,QAAQ;AAAA,EACpC,EAAE,MAAM,eAAe,OAAO,SAAS;AACzC;AAEO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF,GAAiC;AAC/B,SACE,qBAAC,aAAQ,WAAU,+HAEjB;AAAA,yBAAC,SAAI,WAAU,yCACb;AAAA,2BAAC,SAEC;AAAA,4BAAC,UAAK,WAAU,iEAAgE,4BAEhF;AAAA,QACA,oBAAC,QAAG,WAAU,wDAAuD,+BAErE;AAAA,QACA,oBAAC,OAAE,WAAU,wDAAuD,gDAEpE;AAAA,SACF;AAAA,MAEC,CAAC,aAAa,QAAQ,SAAS,KAC9B,qBAAC,SAAI,WAAU,wCACb;AAAA,4BAAC,OAAE,WAAU,2EAA0E,6BAEvF;AAAA,QACA,oBAAC,SAAI,WAAU,mBACZ,kBAAQ,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,UACxB;AAAA,UAAC;AAAA;AAAA,YAEC,OAAO,GAAG,MAAM,QAAQ,eAAe,CAAC;AAAA,YACxC,WAAU;AAAA,YAET,gBAAM,QAAQ,MAAM,GAAG,CAAC,EAAE,YAAY;AAAA;AAAA,UAJlC,MAAM;AAAA,QAKb,CACD,GACH;AAAA,SACF;AAAA,MAGF,oBAAC,SAAI,WAAU,kCACZ,uBAAa,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM,MACrC;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA,gCAAC,QAAK,WAAU,gCAA+B;AAAA,YAC9C;AAAA;AAAA;AAAA,QAJI;AAAA,MAKP,CACD,GACH;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM;AAAA,UACN,WAAU;AAAA,UACX;AAAA;AAAA,YAEC,oBAAC,cAAW,WAAU,eAAc;AAAA;AAAA;AAAA,MACtC;AAAA,OACF;AAAA,IAEA,oBAAC,SAAI,WAAU,cACZ,WAAC,aAAa,QAAQ,SAAS,IAC9B,oBAAC,SAAI,WAAU,iCACZ,kBAAQ,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,UACxB;AAAA,MAAC;AAAA;AAAA,QAEC,MAAM,YAAY,MAAM,OAAO;AAAA,QAC/B,WAAU;AAAA,QAEV;AAAA,8BAAC,SAAI,WAAU,qDAAoD;AAAA,UAEnE,qBAAC,SAAI,WAAU,oBACb;AAAA,gCAAC,OAAE,WAAU,iDACV,gBAAM,QAAQ,eAAe,GAChC;AAAA,YACA,oBAAC,OAAE,WAAU,kCAAiC,uBAAS;AAAA,aACzD;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS,MAAM;AAAA,cACf,OAAO;AAAA,cACP,UAAU;AAAA,cACV,WAAU;AAAA;AAAA,UACZ;AAAA;AAAA;AAAA,MAlBK,MAAM;AAAA,IAmBb,CACD,GACH,IAEA,oBAAC,SAAI,WAAU,iCACZ,gBAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MACjC,oBAAC,SAAY,WAAU,qEAAb,CAA+E,CAC1F,GACH,GAEJ;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/create-form-primitives.tsx"],"sourcesContent":["import { cn } from \"../utils/cn.js\";\n\
|
|
1
|
+
{"version":3,"sources":["../../src/components/create-form-primitives.tsx"],"sourcesContent":["import { cn } from \"../utils/cn.js\";\n\nexport function ToggleGroup({\n value, options, onChange,\n}: { value: string; options: readonly string[]; onChange: (v: string) => void }) {\n return (\n <div className=\"flex rounded-lg border border-border overflow-hidden w-full\">\n {options.map((opt, i) => (\n <button\n key={opt}\n type=\"button\"\n onClick={() => onChange(opt)}\n className={cn(\n \"flex-1 px-3 py-2 text-sm transition-colors\",\n i > 0 && \"border-l border-border\",\n value === opt\n ? \"bg-primary text-primary-foreground font-medium\"\n : \"bg-background hover:bg-muted text-muted-foreground\",\n )}\n >\n {opt}\n </button>\n ))}\n </div>\n );\n}\n\nexport function Section({ title, icon, children }: {\n title: string; icon: React.ReactNode; children: React.ReactNode;\n}) {\n return (\n <div className=\"rounded-xl border border-border bg-card p-5 space-y-4\">\n <div className=\"flex items-center gap-2 text-sm font-semibold\">\n <span className=\"text-primary\">{icon}</span>\n {title}\n </div>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQQ;AARR,gBAAmB;AAEZ,SAAS,YAAY;AAAA,EAC1B;AAAA,EAAO;AAAA,EAAS;AAClB,GAAiF;AAC/E,SACE,4CAAC,SAAI,WAAU,+DACZ,kBAAQ,IAAI,CAAC,KAAK,MACjB;AAAA,IAAC;AAAA;AAAA,MAEC,MAAK;AAAA,MACL,SAAS,MAAM,SAAS,GAAG;AAAA,MAC3B,eAAW;AAAA,QACT;AAAA,QACA,IAAI,KAAK;AAAA,QACT,UAAU,MACN,mDACA;AAAA,MACN;AAAA,MAEC;AAAA;AAAA,IAXI;AAAA,EAYP,CACD,GACH;AAEJ;AAEO,SAAS,QAAQ,EAAE,OAAO,MAAM,SAAS,GAE7C;AACD,SACE,6CAAC,SAAI,WAAU,yDACb;AAAA,iDAAC,SAAI,WAAU,iDACb;AAAA,kDAAC,UAAK,WAAU,gBAAgB,gBAAK;AAAA,MACpC;AAAA,OACH;AAAA,IACC;AAAA,KACH;AAEJ;","names":[]}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
|
-
/** Segmented two/three-option toggle used across the create flows. */
|
|
4
3
|
declare function ToggleGroup({ value, options, onChange, }: {
|
|
5
4
|
value: string;
|
|
6
5
|
options: readonly string[];
|
|
7
6
|
onChange: (v: string) => void;
|
|
8
7
|
}): react_jsx_runtime.JSX.Element;
|
|
9
|
-
/** Titled card section wrapper for the create forms. */
|
|
10
8
|
declare function Section({ title, icon, children }: {
|
|
11
9
|
title: string;
|
|
12
10
|
icon: React.ReactNode;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
|
-
/** Segmented two/three-option toggle used across the create flows. */
|
|
4
3
|
declare function ToggleGroup({ value, options, onChange, }: {
|
|
5
4
|
value: string;
|
|
6
5
|
options: readonly string[];
|
|
7
6
|
onChange: (v: string) => void;
|
|
8
7
|
}): react_jsx_runtime.JSX.Element;
|
|
9
|
-
/** Titled card section wrapper for the create forms. */
|
|
10
8
|
declare function Section({ title, icon, children }: {
|
|
11
9
|
title: string;
|
|
12
10
|
icon: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/create-form-primitives.tsx"],"sourcesContent":["import { cn } from \"../utils/cn.js\";\n\
|
|
1
|
+
{"version":3,"sources":["../../src/components/create-form-primitives.tsx"],"sourcesContent":["import { cn } from \"../utils/cn.js\";\n\nexport function ToggleGroup({\n value, options, onChange,\n}: { value: string; options: readonly string[]; onChange: (v: string) => void }) {\n return (\n <div className=\"flex rounded-lg border border-border overflow-hidden w-full\">\n {options.map((opt, i) => (\n <button\n key={opt}\n type=\"button\"\n onClick={() => onChange(opt)}\n className={cn(\n \"flex-1 px-3 py-2 text-sm transition-colors\",\n i > 0 && \"border-l border-border\",\n value === opt\n ? \"bg-primary text-primary-foreground font-medium\"\n : \"bg-background hover:bg-muted text-muted-foreground\",\n )}\n >\n {opt}\n </button>\n ))}\n </div>\n );\n}\n\nexport function Section({ title, icon, children }: {\n title: string; icon: React.ReactNode; children: React.ReactNode;\n}) {\n return (\n <div className=\"rounded-xl border border-border bg-card p-5 space-y-4\">\n <div className=\"flex items-center gap-2 text-sm font-semibold\">\n <span className=\"text-primary\">{icon}</span>\n {title}\n </div>\n {children}\n </div>\n );\n}\n"],"mappings":"AAQQ,cAwBF,YAxBE;AARR,SAAS,UAAU;AAEZ,SAAS,YAAY;AAAA,EAC1B;AAAA,EAAO;AAAA,EAAS;AAClB,GAAiF;AAC/E,SACE,oBAAC,SAAI,WAAU,+DACZ,kBAAQ,IAAI,CAAC,KAAK,MACjB;AAAA,IAAC;AAAA;AAAA,MAEC,MAAK;AAAA,MACL,SAAS,MAAM,SAAS,GAAG;AAAA,MAC3B,WAAW;AAAA,QACT;AAAA,QACA,IAAI,KAAK;AAAA,QACT,UAAU,MACN,mDACA;AAAA,MACN;AAAA,MAEC;AAAA;AAAA,IAXI;AAAA,EAYP,CACD,GACH;AAEJ;AAEO,SAAS,QAAQ,EAAE,OAAO,MAAM,SAAS,GAE7C;AACD,SACE,qBAAC,SAAI,WAAU,yDACb;AAAA,yBAAC,SAAI,WAAU,iDACb;AAAA,0BAAC,UAAK,WAAU,gBAAgB,gBAAK;AAAA,MACpC;AAAA,OACH;AAAA,IACC;AAAA,KACH;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/creation-record.tsx"],"sourcesContent":["\"use client\";\n\nimport { Award, ExternalLink } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { normalizeAddress } from \"@medialane/sdk\";\n\nconst EXPLORER_URL = process.env.NEXT_PUBLIC_EXPLORER_URL || \"https://voyager.online\";\n\nexport interface CreationRecordProps {\n originalCreator: string;\n registeredAt: number
|
|
1
|
+
{"version":3,"sources":["../../src/components/creation-record.tsx"],"sourcesContent":["\"use client\";\n\nimport { Award, ExternalLink } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { normalizeAddress } from \"@medialane/sdk\";\n\nconst EXPLORER_URL = process.env.NEXT_PUBLIC_EXPLORER_URL || \"https://voyager.online\";\n\nexport interface CreationRecordProps {\n originalCreator: string;\n registeredAt: number;\n}\n\nexport function CreationRecord({ originalCreator, registeredAt }: CreationRecordProps) {\n const creator = originalCreator ? normalizeAddress(\"STARKNET\", originalCreator) : \"\";\n const date = new Date(registeredAt * 1000);\n const formatted = date.toLocaleDateString(undefined, {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n });\n\n return (\n <div className=\"rounded-lg bg-amber-500/5 p-4\">\n <div className=\"flex items-center gap-2 mb-3\">\n <Award className=\"h-4 w-4 text-amber-500\" />\n <p className=\"text-sm font-semibold text-amber-500\">Creation Record</p>\n </div>\n <p className=\"text-xs text-muted-foreground mb-3\">\n Immutable on-chain authorship record set at mint and stored permanently\n for legal evidence of creation (Berne Convention).\n </p>\n <dl className=\"space-y-2 text-sm\">\n <div className=\"flex items-center justify-between\">\n <dt className=\"text-muted-foreground\">Original creator</dt>\n <dd className=\"tabular-nums\">\n <Link href={`/creator/${creator}`} className=\"hover:underline\">\n {creator.slice(0, 6)}…{creator.slice(-4)}\n </Link>\n </dd>\n </div>\n <div className=\"flex items-center justify-between\">\n <dt className=\"text-muted-foreground\">Registered at</dt>\n <dd>\n <a\n href={`${EXPLORER_URL}/contract/${creator}`}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"inline-flex items-center gap-1 hover:underline\"\n >\n {formatted}\n <ExternalLink className=\"h-3 w-3\" />\n </a>\n </dd>\n </div>\n </dl>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBM;AAtBN,0BAAoC;AACpC,kBAAiB;AACjB,iBAAiC;AAEjC,MAAM,eAAe,QAAQ,IAAI,4BAA4B;AAOtD,SAAS,eAAe,EAAE,iBAAiB,aAAa,GAAwB;AACrF,QAAM,UAAU,sBAAkB,6BAAiB,YAAY,eAAe,IAAI;AAClF,QAAM,OAAO,IAAI,KAAK,eAAe,GAAI;AACzC,QAAM,YAAY,KAAK,mBAAmB,QAAW;AAAA,IACnD,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,EACP,CAAC;AAED,SACE,6CAAC,SAAI,WAAU,iCACb;AAAA,iDAAC,SAAI,WAAU,gCACb;AAAA,kDAAC,6BAAM,WAAU,0BAAyB;AAAA,MAC1C,4CAAC,OAAE,WAAU,wCAAuC,6BAAe;AAAA,OACrE;AAAA,IACA,4CAAC,OAAE,WAAU,sCAAqC,wIAGlD;AAAA,IACA,6CAAC,QAAG,WAAU,qBACZ;AAAA,mDAAC,SAAI,WAAU,qCACb;AAAA,oDAAC,QAAG,WAAU,yBAAwB,8BAAgB;AAAA,QACtD,4CAAC,QAAG,WAAU,gBACZ,uDAAC,YAAAA,SAAA,EAAK,MAAM,YAAY,OAAO,IAAI,WAAU,mBAC1C;AAAA,kBAAQ,MAAM,GAAG,CAAC;AAAA,UAAE;AAAA,UAAE,QAAQ,MAAM,EAAE;AAAA,WACzC,GACF;AAAA,SACF;AAAA,MACA,6CAAC,SAAI,WAAU,qCACb;AAAA,oDAAC,QAAG,WAAU,yBAAwB,2BAAa;AAAA,QACnD,4CAAC,QACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,GAAG,YAAY,aAAa,OAAO;AAAA,YACzC,QAAO;AAAA,YACP,KAAI;AAAA,YACJ,WAAU;AAAA,YAET;AAAA;AAAA,cACD,4CAAC,oCAAa,WAAU,WAAU;AAAA;AAAA;AAAA,QACpC,GACF;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":["Link"]}
|
|
@@ -4,11 +4,6 @@ interface CreationRecordProps {
|
|
|
4
4
|
originalCreator: string;
|
|
5
5
|
registeredAt: number;
|
|
6
6
|
}
|
|
7
|
-
/**
|
|
8
|
-
* Berne Convention authorship record surfaced from IPNft.get_full_token_data.
|
|
9
|
-
* Both fields are immutable on-chain — original_creator is set at mint time
|
|
10
|
-
* and never changes regardless of subsequent ownership transfers.
|
|
11
|
-
*/
|
|
12
7
|
declare function CreationRecord({ originalCreator, registeredAt }: CreationRecordProps): react_jsx_runtime.JSX.Element;
|
|
13
8
|
|
|
14
9
|
export { CreationRecord, type CreationRecordProps };
|
|
@@ -4,11 +4,6 @@ interface CreationRecordProps {
|
|
|
4
4
|
originalCreator: string;
|
|
5
5
|
registeredAt: number;
|
|
6
6
|
}
|
|
7
|
-
/**
|
|
8
|
-
* Berne Convention authorship record surfaced from IPNft.get_full_token_data.
|
|
9
|
-
* Both fields are immutable on-chain — original_creator is set at mint time
|
|
10
|
-
* and never changes regardless of subsequent ownership transfers.
|
|
11
|
-
*/
|
|
12
7
|
declare function CreationRecord({ originalCreator, registeredAt }: CreationRecordProps): react_jsx_runtime.JSX.Element;
|
|
13
8
|
|
|
14
9
|
export { CreationRecord, type CreationRecordProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/creation-record.tsx"],"sourcesContent":["\"use client\";\n\nimport { Award, ExternalLink } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { normalizeAddress } from \"@medialane/sdk\";\n\nconst EXPLORER_URL = process.env.NEXT_PUBLIC_EXPLORER_URL || \"https://voyager.online\";\n\nexport interface CreationRecordProps {\n originalCreator: string;\n registeredAt: number
|
|
1
|
+
{"version":3,"sources":["../../src/components/creation-record.tsx"],"sourcesContent":["\"use client\";\n\nimport { Award, ExternalLink } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { normalizeAddress } from \"@medialane/sdk\";\n\nconst EXPLORER_URL = process.env.NEXT_PUBLIC_EXPLORER_URL || \"https://voyager.online\";\n\nexport interface CreationRecordProps {\n originalCreator: string;\n registeredAt: number;\n}\n\nexport function CreationRecord({ originalCreator, registeredAt }: CreationRecordProps) {\n const creator = originalCreator ? normalizeAddress(\"STARKNET\", originalCreator) : \"\";\n const date = new Date(registeredAt * 1000);\n const formatted = date.toLocaleDateString(undefined, {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n });\n\n return (\n <div className=\"rounded-lg bg-amber-500/5 p-4\">\n <div className=\"flex items-center gap-2 mb-3\">\n <Award className=\"h-4 w-4 text-amber-500\" />\n <p className=\"text-sm font-semibold text-amber-500\">Creation Record</p>\n </div>\n <p className=\"text-xs text-muted-foreground mb-3\">\n Immutable on-chain authorship record set at mint and stored permanently\n for legal evidence of creation (Berne Convention).\n </p>\n <dl className=\"space-y-2 text-sm\">\n <div className=\"flex items-center justify-between\">\n <dt className=\"text-muted-foreground\">Original creator</dt>\n <dd className=\"tabular-nums\">\n <Link href={`/creator/${creator}`} className=\"hover:underline\">\n {creator.slice(0, 6)}…{creator.slice(-4)}\n </Link>\n </dd>\n </div>\n <div className=\"flex items-center justify-between\">\n <dt className=\"text-muted-foreground\">Registered at</dt>\n <dd>\n <a\n href={`${EXPLORER_URL}/contract/${creator}`}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"inline-flex items-center gap-1 hover:underline\"\n >\n {formatted}\n <ExternalLink className=\"h-3 w-3\" />\n </a>\n </dd>\n </div>\n </dl>\n </div>\n );\n}\n"],"mappings":";AAwBM,SACE,KADF;AAtBN,SAAS,OAAO,oBAAoB;AACpC,OAAO,UAAU;AACjB,SAAS,wBAAwB;AAEjC,MAAM,eAAe,QAAQ,IAAI,4BAA4B;AAOtD,SAAS,eAAe,EAAE,iBAAiB,aAAa,GAAwB;AACrF,QAAM,UAAU,kBAAkB,iBAAiB,YAAY,eAAe,IAAI;AAClF,QAAM,OAAO,IAAI,KAAK,eAAe,GAAI;AACzC,QAAM,YAAY,KAAK,mBAAmB,QAAW;AAAA,IACnD,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,EACP,CAAC;AAED,SACE,qBAAC,SAAI,WAAU,iCACb;AAAA,yBAAC,SAAI,WAAU,gCACb;AAAA,0BAAC,SAAM,WAAU,0BAAyB;AAAA,MAC1C,oBAAC,OAAE,WAAU,wCAAuC,6BAAe;AAAA,OACrE;AAAA,IACA,oBAAC,OAAE,WAAU,sCAAqC,wIAGlD;AAAA,IACA,qBAAC,QAAG,WAAU,qBACZ;AAAA,2BAAC,SAAI,WAAU,qCACb;AAAA,4BAAC,QAAG,WAAU,yBAAwB,8BAAgB;AAAA,QACtD,oBAAC,QAAG,WAAU,gBACZ,+BAAC,QAAK,MAAM,YAAY,OAAO,IAAI,WAAU,mBAC1C;AAAA,kBAAQ,MAAM,GAAG,CAAC;AAAA,UAAE;AAAA,UAAE,QAAQ,MAAM,EAAE;AAAA,WACzC,GACF;AAAA,SACF;AAAA,MACA,qBAAC,SAAI,WAAU,qCACb;AAAA,4BAAC,QAAG,WAAU,yBAAwB,2BAAa;AAAA,QACnD,oBAAC,QACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,GAAG,YAAY,aAAa,OAAO;AAAA,YACzC,QAAO;AAAA,YACP,KAAI;AAAA,YACJ,WAAU;AAAA,YAET;AAAA;AAAA,cACD,oBAAC,gBAAa,WAAU,WAAU;AAAA;AAAA;AAAA,QACpC,GACF;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/creator-airdrop-banner.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { ArrowRight } from \"lucide-react\";\n\nexport interface CreatorAirdropBannerProps {\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/creator-airdrop-banner.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { ArrowRight } from \"lucide-react\";\n\nexport interface CreatorAirdropBannerProps {\n\n href: string;\n}\n\nconst HIGHLIGHTS = [\n \"Free and frictionless participation\",\n \"Eligible for every prize distribution\",\n \"Create, trade and earn more rewards\",\n];\n\nexport function CreatorAirdropBanner({ href }: CreatorAirdropBannerProps) {\n return (\n <section className=\"rounded-2xl bg-muted/50 dark:bg-card px-7 py-8 sm:px-9\">\n\n <div className=\"flex items-center gap-3\">\n <span className=\"text-xs font-bold uppercase tracking-widest text-brand-orange\">\n Creator's Fund\n </span>\n <span className=\"flex items-center gap-1.5 text-xs font-medium text-muted-foreground\">\n <span className=\"h-1.5 w-1.5 rounded-full bg-brand-orange animate-pulse\" />\n Live\n </span>\n </div>\n\n <div className=\"mt-4 flex flex-col sm:flex-row sm:items-center gap-6\">\n <div className=\"flex-1 min-w-0\">\n <h2 className=\"text-2xl sm:text-3xl font-bold tracking-tight leading-tight\">\n Creator's Airdrop\n </h2>\n <p className=\"mt-1.5 text-sm text-muted-foreground leading-relaxed max-w-md\">\n Claim your participation and join the creator's fund distribution.\n </p>\n </div>\n\n <Link\n href={href}\n className=\"inline-flex items-center justify-center gap-2 rounded-xl bg-brand-orange px-6 py-3 text-sm font-semibold text-white transition-all hover:brightness-110 active:scale-[0.98] shrink-0\"\n >\n Read More\n <ArrowRight className=\"h-4 w-4\" />\n </Link>\n </div>\n\n <div className=\"mt-7 border-t border-brand-orange/20 pt-4 flex flex-wrap items-center gap-x-2.5 gap-y-1.5 text-sm text-muted-foreground\">\n {HIGHLIGHTS.map((h, i) => (\n <span key={h} className=\"flex items-center gap-2.5\">\n {i > 0 && <span className=\"text-brand-orange/50\" aria-hidden>·</span>}\n {h}\n </span>\n ))}\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBQ;AAnBR,kBAAiB;AACjB,0BAA2B;AAO3B,MAAM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,qBAAqB,EAAE,KAAK,GAA8B;AACxE,SACE,6CAAC,aAAQ,WAAU,0DAEjB;AAAA,iDAAC,SAAI,WAAU,2BACb;AAAA,kDAAC,UAAK,WAAU,iEAAgE,4BAEhF;AAAA,MACA,6CAAC,UAAK,WAAU,uEACd;AAAA,oDAAC,UAAK,WAAU,0DAAyD;AAAA,QAAE;AAAA,SAE7E;AAAA,OACF;AAAA,IAEA,6CAAC,SAAI,WAAU,wDACb;AAAA,mDAAC,SAAI,WAAU,kBACb;AAAA,oDAAC,QAAG,WAAU,+DAA8D,+BAE5E;AAAA,QACA,4CAAC,OAAE,WAAU,iEAAgE,gFAE7E;AAAA,SACF;AAAA,MAEA;AAAA,QAAC,YAAAA;AAAA,QAAA;AAAA,UACC;AAAA,UACA,WAAU;AAAA,UACX;AAAA;AAAA,YAEC,4CAAC,kCAAW,WAAU,WAAU;AAAA;AAAA;AAAA,MAClC;AAAA,OACF;AAAA,IAEA,4CAAC,SAAI,WAAU,2HACZ,qBAAW,IAAI,CAAC,GAAG,MAClB,6CAAC,UAAa,WAAU,6BACrB;AAAA,UAAI,KAAK,4CAAC,UAAK,WAAU,wBAAuB,eAAW,MAAC,kBAAC;AAAA,MAC7D;AAAA,SAFQ,CAGX,CACD,GACH;AAAA,KACF;AAEJ;","names":["Link"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
3
|
interface CreatorAirdropBannerProps {
|
|
4
|
-
/** Route of the airdrop claim page. */
|
|
5
4
|
href: string;
|
|
6
5
|
}
|
|
7
6
|
declare function CreatorAirdropBanner({ href }: CreatorAirdropBannerProps): react_jsx_runtime.JSX.Element;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
3
|
interface CreatorAirdropBannerProps {
|
|
4
|
-
/** Route of the airdrop claim page. */
|
|
5
4
|
href: string;
|
|
6
5
|
}
|
|
7
6
|
declare function CreatorAirdropBanner({ href }: CreatorAirdropBannerProps): react_jsx_runtime.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/creator-airdrop-banner.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { ArrowRight } from \"lucide-react\";\n\nexport interface CreatorAirdropBannerProps {\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/creator-airdrop-banner.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { ArrowRight } from \"lucide-react\";\n\nexport interface CreatorAirdropBannerProps {\n\n href: string;\n}\n\nconst HIGHLIGHTS = [\n \"Free and frictionless participation\",\n \"Eligible for every prize distribution\",\n \"Create, trade and earn more rewards\",\n];\n\nexport function CreatorAirdropBanner({ href }: CreatorAirdropBannerProps) {\n return (\n <section className=\"rounded-2xl bg-muted/50 dark:bg-card px-7 py-8 sm:px-9\">\n\n <div className=\"flex items-center gap-3\">\n <span className=\"text-xs font-bold uppercase tracking-widest text-brand-orange\">\n Creator's Fund\n </span>\n <span className=\"flex items-center gap-1.5 text-xs font-medium text-muted-foreground\">\n <span className=\"h-1.5 w-1.5 rounded-full bg-brand-orange animate-pulse\" />\n Live\n </span>\n </div>\n\n <div className=\"mt-4 flex flex-col sm:flex-row sm:items-center gap-6\">\n <div className=\"flex-1 min-w-0\">\n <h2 className=\"text-2xl sm:text-3xl font-bold tracking-tight leading-tight\">\n Creator's Airdrop\n </h2>\n <p className=\"mt-1.5 text-sm text-muted-foreground leading-relaxed max-w-md\">\n Claim your participation and join the creator's fund distribution.\n </p>\n </div>\n\n <Link\n href={href}\n className=\"inline-flex items-center justify-center gap-2 rounded-xl bg-brand-orange px-6 py-3 text-sm font-semibold text-white transition-all hover:brightness-110 active:scale-[0.98] shrink-0\"\n >\n Read More\n <ArrowRight className=\"h-4 w-4\" />\n </Link>\n </div>\n\n <div className=\"mt-7 border-t border-brand-orange/20 pt-4 flex flex-wrap items-center gap-x-2.5 gap-y-1.5 text-sm text-muted-foreground\">\n {HIGHLIGHTS.map((h, i) => (\n <span key={h} className=\"flex items-center gap-2.5\">\n {i > 0 && <span className=\"text-brand-orange/50\" aria-hidden>·</span>}\n {h}\n </span>\n ))}\n </div>\n </section>\n );\n}\n"],"mappings":";AAqBQ,cAGA,YAHA;AAnBR,OAAO,UAAU;AACjB,SAAS,kBAAkB;AAO3B,MAAM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,qBAAqB,EAAE,KAAK,GAA8B;AACxE,SACE,qBAAC,aAAQ,WAAU,0DAEjB;AAAA,yBAAC,SAAI,WAAU,2BACb;AAAA,0BAAC,UAAK,WAAU,iEAAgE,4BAEhF;AAAA,MACA,qBAAC,UAAK,WAAU,uEACd;AAAA,4BAAC,UAAK,WAAU,0DAAyD;AAAA,QAAE;AAAA,SAE7E;AAAA,OACF;AAAA,IAEA,qBAAC,SAAI,WAAU,wDACb;AAAA,2BAAC,SAAI,WAAU,kBACb;AAAA,4BAAC,QAAG,WAAU,+DAA8D,+BAE5E;AAAA,QACA,oBAAC,OAAE,WAAU,iEAAgE,gFAE7E;AAAA,SACF;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,WAAU;AAAA,UACX;AAAA;AAAA,YAEC,oBAAC,cAAW,WAAU,WAAU;AAAA;AAAA;AAAA,MAClC;AAAA,OACF;AAAA,IAEA,oBAAC,SAAI,WAAU,2HACZ,qBAAW,IAAI,CAAC,GAAG,MAClB,qBAAC,UAAa,WAAU,6BACrB;AAAA,UAAI,KAAK,oBAAC,UAAK,WAAU,wBAAuB,eAAW,MAAC,kBAAC;AAAA,MAC7D;AAAA,SAFQ,CAGX,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/creator-analytics.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { ApiActivity } from \"@medialane/sdk\";\nimport { TrendingUp, ShoppingBag, Coins } from \"lucide-react\";\n\ninterface CreatorAnalyticsProps {\n activities: ApiActivity[];\n isLoading: boolean;\n}\n\ninterface DayStat {\n label: string;\n volume: number;\n}\n\nfunction parsePrice(formatted: string | null | undefined): number {\n if (!formatted) return 0;\n return parseFloat(formatted.replace(/[^0-9.]/g, \"\")) || 0;\n}\n\nfunction buildDailyVolume(sales: ApiActivity[]): DayStat[] {\n const buckets = new Map<string, number>();\n const now = Date.now();\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/creator-analytics.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { ApiActivity } from \"@medialane/sdk\";\nimport { TrendingUp, ShoppingBag, Coins } from \"lucide-react\";\n\ninterface CreatorAnalyticsProps {\n activities: ApiActivity[];\n isLoading: boolean;\n}\n\ninterface DayStat {\n label: string;\n volume: number;\n}\n\nfunction parsePrice(formatted: string | null | undefined): number {\n if (!formatted) return 0;\n return parseFloat(formatted.replace(/[^0-9.]/g, \"\")) || 0;\n}\n\nfunction buildDailyVolume(sales: ApiActivity[]): DayStat[] {\n const buckets = new Map<string, number>();\n const now = Date.now();\n\n for (let i = 29; i >= 0; i--) {\n const d = new Date(now - i * 86_400_000);\n buckets.set(\n d.toLocaleDateString(\"en-US\", { month: \"short\", day: \"numeric\" }),\n 0\n );\n }\n for (const s of sales) {\n const ts =\n typeof s.timestamp === \"number\"\n ? s.timestamp * 1000\n : new Date(s.timestamp).getTime();\n if (now - ts > 30 * 86_400_000) continue;\n const label = new Date(ts).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n });\n buckets.set(label, (buckets.get(label) ?? 0) + parsePrice(s.price?.formatted));\n }\n return Array.from(buckets.entries()).map(([label, volume]) => ({ label, volume }));\n}\n\nexport function CreatorAnalytics({ activities, isLoading }: CreatorAnalyticsProps) {\n const { sales, totalVolume, topCurrency, dailyVolume } = useMemo(() => {\n const sales = activities.filter((a) => a.type === \"sale\");\n\n const byCurrency = new Map<string, number>();\n for (const s of sales) {\n const cur = s.price?.currency ?? \"STRK\";\n byCurrency.set(cur, (byCurrency.get(cur) ?? 0) + parsePrice(s.price?.formatted));\n }\n const sorted = [...byCurrency.entries()].sort((a, b) => b[1] - a[1]);\n const topCurrency = sorted[0]?.[0] ?? \"STRK\";\n const totalVolume = sorted[0]?.[1] ?? 0;\n\n const dailyVolume = buildDailyVolume(\n sales.filter((s) => (s.price?.currency ?? \"STRK\") === topCurrency)\n );\n\n return { sales, totalVolume, topCurrency, dailyVolume };\n }, [activities]);\n\n if (isLoading) {\n return (\n <div className=\"space-y-4 animate-pulse\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"h-20 rounded-xl bg-muted\" />\n ))}\n </div>\n );\n }\n\n if (sales.length === 0) {\n return (\n <div className=\"py-12 text-center text-sm text-muted-foreground\">\n No sales recorded yet.\n </div>\n );\n }\n\n const stats = [\n {\n label: \"Total Sales\",\n value: sales.length.toString(),\n icon: ShoppingBag,\n },\n {\n label: `Total Volume (${topCurrency})`,\n value: totalVolume.toFixed(2),\n icon: Coins,\n },\n {\n label: \"Last 30 Days\",\n value: `${dailyVolume.filter((d) => d.volume > 0).length} active days`,\n icon: TrendingUp,\n },\n ];\n\n return (\n <div className=\"space-y-6\">\n\n <div className=\"grid grid-cols-1 sm:grid-cols-3 gap-3\">\n {stats.map(({ label, value, icon: Icon }) => (\n <div\n key={label}\n className=\"rounded-xl border border-border bg-card/50 p-4 space-y-1\"\n >\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Icon className=\"h-3.5 w-3.5\" />\n <p className=\"text-xs font-medium uppercase tracking-wide\">{label}</p>\n </div>\n <p className=\"text-2xl font-bold tabular-nums\">{value}</p>\n </div>\n ))}\n </div>\n\n <div className=\"rounded-xl border border-border bg-card/50 p-4 space-y-2\">\n <p className=\"text-xs font-medium text-muted-foreground uppercase tracking-wide\">\n 30-day volume · {topCurrency}\n </p>\n <ResponsiveContainer width=\"100%\" height={140}>\n <BarChart\n data={dailyVolume}\n margin={{ top: 4, right: 4, bottom: 0, left: 0 }}\n >\n <XAxis\n dataKey=\"label\"\n tick={{ fontSize: 10, fill: \"hsl(var(--muted-foreground))\" }}\n axisLine={false}\n tickLine={false}\n interval={6}\n />\n <YAxis\n tick={{ fontSize: 10, fill: \"hsl(var(--muted-foreground))\" }}\n axisLine={false}\n tickLine={false}\n width={40}\n />\n <Tooltip\n contentStyle={{\n background: \"hsl(var(--background))\",\n border: \"1px solid hsl(var(--border))\",\n borderRadius: \"8px\",\n fontSize: \"12px\",\n color: \"hsl(var(--foreground))\",\n }}\n formatter={(value) => [`${value} ${topCurrency}`, \"Volume\"]}\n />\n <Bar\n dataKey=\"volume\"\n fill=\"hsl(var(--primary))\"\n radius={[3, 3, 0, 0]}\n maxBarSize={24}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["sales","topCurrency","totalVolume","dailyVolume"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/creator-analytics.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { ApiActivity } from \"@medialane/sdk\";\nimport { TrendingUp, ShoppingBag, Coins } from \"lucide-react\";\n\ninterface CreatorAnalyticsProps {\n activities: ApiActivity[];\n isLoading: boolean;\n}\n\ninterface DayStat {\n label: string;\n volume: number;\n}\n\nfunction parsePrice(formatted: string | null | undefined): number {\n if (!formatted) return 0;\n return parseFloat(formatted.replace(/[^0-9.]/g, \"\")) || 0;\n}\n\nfunction buildDailyVolume(sales: ApiActivity[]): DayStat[] {\n const buckets = new Map<string, number>();\n const now = Date.now();\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/creator-analytics.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { ApiActivity } from \"@medialane/sdk\";\nimport { TrendingUp, ShoppingBag, Coins } from \"lucide-react\";\n\ninterface CreatorAnalyticsProps {\n activities: ApiActivity[];\n isLoading: boolean;\n}\n\ninterface DayStat {\n label: string;\n volume: number;\n}\n\nfunction parsePrice(formatted: string | null | undefined): number {\n if (!formatted) return 0;\n return parseFloat(formatted.replace(/[^0-9.]/g, \"\")) || 0;\n}\n\nfunction buildDailyVolume(sales: ApiActivity[]): DayStat[] {\n const buckets = new Map<string, number>();\n const now = Date.now();\n\n for (let i = 29; i >= 0; i--) {\n const d = new Date(now - i * 86_400_000);\n buckets.set(\n d.toLocaleDateString(\"en-US\", { month: \"short\", day: \"numeric\" }),\n 0\n );\n }\n for (const s of sales) {\n const ts =\n typeof s.timestamp === \"number\"\n ? s.timestamp * 1000\n : new Date(s.timestamp).getTime();\n if (now - ts > 30 * 86_400_000) continue;\n const label = new Date(ts).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n });\n buckets.set(label, (buckets.get(label) ?? 0) + parsePrice(s.price?.formatted));\n }\n return Array.from(buckets.entries()).map(([label, volume]) => ({ label, volume }));\n}\n\nexport function CreatorAnalytics({ activities, isLoading }: CreatorAnalyticsProps) {\n const { sales, totalVolume, topCurrency, dailyVolume } = useMemo(() => {\n const sales = activities.filter((a) => a.type === \"sale\");\n\n const byCurrency = new Map<string, number>();\n for (const s of sales) {\n const cur = s.price?.currency ?? \"STRK\";\n byCurrency.set(cur, (byCurrency.get(cur) ?? 0) + parsePrice(s.price?.formatted));\n }\n const sorted = [...byCurrency.entries()].sort((a, b) => b[1] - a[1]);\n const topCurrency = sorted[0]?.[0] ?? \"STRK\";\n const totalVolume = sorted[0]?.[1] ?? 0;\n\n const dailyVolume = buildDailyVolume(\n sales.filter((s) => (s.price?.currency ?? \"STRK\") === topCurrency)\n );\n\n return { sales, totalVolume, topCurrency, dailyVolume };\n }, [activities]);\n\n if (isLoading) {\n return (\n <div className=\"space-y-4 animate-pulse\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"h-20 rounded-xl bg-muted\" />\n ))}\n </div>\n );\n }\n\n if (sales.length === 0) {\n return (\n <div className=\"py-12 text-center text-sm text-muted-foreground\">\n No sales recorded yet.\n </div>\n );\n }\n\n const stats = [\n {\n label: \"Total Sales\",\n value: sales.length.toString(),\n icon: ShoppingBag,\n },\n {\n label: `Total Volume (${topCurrency})`,\n value: totalVolume.toFixed(2),\n icon: Coins,\n },\n {\n label: \"Last 30 Days\",\n value: `${dailyVolume.filter((d) => d.volume > 0).length} active days`,\n icon: TrendingUp,\n },\n ];\n\n return (\n <div className=\"space-y-6\">\n\n <div className=\"grid grid-cols-1 sm:grid-cols-3 gap-3\">\n {stats.map(({ label, value, icon: Icon }) => (\n <div\n key={label}\n className=\"rounded-xl border border-border bg-card/50 p-4 space-y-1\"\n >\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Icon className=\"h-3.5 w-3.5\" />\n <p className=\"text-xs font-medium uppercase tracking-wide\">{label}</p>\n </div>\n <p className=\"text-2xl font-bold tabular-nums\">{value}</p>\n </div>\n ))}\n </div>\n\n <div className=\"rounded-xl border border-border bg-card/50 p-4 space-y-2\">\n <p className=\"text-xs font-medium text-muted-foreground uppercase tracking-wide\">\n 30-day volume · {topCurrency}\n </p>\n <ResponsiveContainer width=\"100%\" height={140}>\n <BarChart\n data={dailyVolume}\n margin={{ top: 4, right: 4, bottom: 0, left: 0 }}\n >\n <XAxis\n dataKey=\"label\"\n tick={{ fontSize: 10, fill: \"hsl(var(--muted-foreground))\" }}\n axisLine={false}\n tickLine={false}\n interval={6}\n />\n <YAxis\n tick={{ fontSize: 10, fill: \"hsl(var(--muted-foreground))\" }}\n axisLine={false}\n tickLine={false}\n width={40}\n />\n <Tooltip\n contentStyle={{\n background: \"hsl(var(--background))\",\n border: \"1px solid hsl(var(--border))\",\n borderRadius: \"8px\",\n fontSize: \"12px\",\n color: \"hsl(var(--foreground))\",\n }}\n formatter={(value) => [`${value} ${topCurrency}`, \"Volume\"]}\n />\n <Bar\n dataKey=\"volume\"\n fill=\"hsl(var(--primary))\"\n radius={[3, 3, 0, 0]}\n maxBarSize={24}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["sales","topCurrency","totalVolume","dailyVolume"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/creator-score-inline.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport type { MedialaneClient } from \"@medialane/sdk/starknet\";\nimport { LevelBadge } from \"./rewards/level-badge.js\";\nimport { BadgeShelf } from \"./rewards/badge-shelf.js\";\nimport { useRewards } from \"../utils/use-rewards.js\";\n\nexport interface CreatorScoreInlineProps {\n getClient: () => MedialaneClient;\n address: string | null | undefined;\n size?: \"sm\" | \"md\" | \"lg\";\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/creator-score-inline.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport type { MedialaneClient } from \"@medialane/sdk/starknet\";\nimport { LevelBadge } from \"./rewards/level-badge.js\";\nimport { BadgeShelf } from \"./rewards/badge-shelf.js\";\nimport { useRewards } from \"../utils/use-rewards.js\";\n\nexport interface CreatorScoreInlineProps {\n getClient: () => MedialaneClient;\n address: string | null | undefined;\n size?: \"sm\" | \"md\" | \"lg\";\n\n showBadges?: boolean;\n\n maxBadges?: number;\n className?: string;\n}\n\nexport function CreatorScoreInline({ getClient, address, size = \"sm\", showBadges = false, maxBadges = 6, className }: CreatorScoreInlineProps) {\n const { data } = useRewards(getClient, address);\n if (!data || data.totalXp <= 0) return null;\n\n return (\n <div className={className}>\n <Link href=\"/rewards\" className=\"inline-flex active:opacity-80\">\n <LevelBadge level={data.currentLevel} name={data.currentLevelName} badgeColor={data.badgeColor} size={size} />\n </Link>\n {showBadges && data.badges.length > 0 && (\n <BadgeShelf badges={data.badges.slice(0, maxBadges)} className=\"mt-2\" />\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBI;AAtBJ,kBAAiB;AAEjB,yBAA2B;AAC3B,yBAA2B;AAC3B,yBAA2B;AAapB,SAAS,mBAAmB,EAAE,WAAW,SAAS,OAAO,MAAM,aAAa,OAAO,YAAY,GAAG,UAAU,GAA4B;AAC7I,QAAM,EAAE,KAAK,QAAI,+BAAW,WAAW,OAAO;AAC9C,MAAI,CAAC,QAAQ,KAAK,WAAW,EAAG,QAAO;AAEvC,SACE,6CAAC,SAAI,WACH;AAAA,gDAAC,YAAAA,SAAA,EAAK,MAAK,YAAW,WAAU,iCAC9B,sDAAC,iCAAW,OAAO,KAAK,cAAc,MAAM,KAAK,kBAAkB,YAAY,KAAK,YAAY,MAAY,GAC9G;AAAA,IACC,cAAc,KAAK,OAAO,SAAS,KAClC,4CAAC,iCAAW,QAAQ,KAAK,OAAO,MAAM,GAAG,SAAS,GAAG,WAAU,QAAO;AAAA,KAE1E;AAEJ;","names":["Link"]}
|
|
@@ -5,15 +5,10 @@ interface CreatorScoreInlineProps {
|
|
|
5
5
|
getClient: () => MedialaneClient;
|
|
6
6
|
address: string | null | undefined;
|
|
7
7
|
size?: "sm" | "md" | "lg";
|
|
8
|
-
/** Also show the earned badges under the chip (creator/profile pages). */
|
|
9
8
|
showBadges?: boolean;
|
|
10
|
-
/** Max badges when showBadges is set. */
|
|
11
9
|
maxBadges?: number;
|
|
12
10
|
className?: string;
|
|
13
11
|
}
|
|
14
|
-
/** Level chip (+ optional badge row) for an address, linking to /rewards.
|
|
15
|
-
* Renders nothing while loading, on failure, or for addresses with no XP —
|
|
16
|
-
* rewards must never add error states or noise to non-rewards pages. */
|
|
17
12
|
declare function CreatorScoreInline({ getClient, address, size, showBadges, maxBadges, className }: CreatorScoreInlineProps): react_jsx_runtime.JSX.Element | null;
|
|
18
13
|
|
|
19
14
|
export { CreatorScoreInline, type CreatorScoreInlineProps };
|
|
@@ -5,15 +5,10 @@ interface CreatorScoreInlineProps {
|
|
|
5
5
|
getClient: () => MedialaneClient;
|
|
6
6
|
address: string | null | undefined;
|
|
7
7
|
size?: "sm" | "md" | "lg";
|
|
8
|
-
/** Also show the earned badges under the chip (creator/profile pages). */
|
|
9
8
|
showBadges?: boolean;
|
|
10
|
-
/** Max badges when showBadges is set. */
|
|
11
9
|
maxBadges?: number;
|
|
12
10
|
className?: string;
|
|
13
11
|
}
|
|
14
|
-
/** Level chip (+ optional badge row) for an address, linking to /rewards.
|
|
15
|
-
* Renders nothing while loading, on failure, or for addresses with no XP —
|
|
16
|
-
* rewards must never add error states or noise to non-rewards pages. */
|
|
17
12
|
declare function CreatorScoreInline({ getClient, address, size, showBadges, maxBadges, className }: CreatorScoreInlineProps): react_jsx_runtime.JSX.Element | null;
|
|
18
13
|
|
|
19
14
|
export { CreatorScoreInline, type CreatorScoreInlineProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/creator-score-inline.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport type { MedialaneClient } from \"@medialane/sdk/starknet\";\nimport { LevelBadge } from \"./rewards/level-badge.js\";\nimport { BadgeShelf } from \"./rewards/badge-shelf.js\";\nimport { useRewards } from \"../utils/use-rewards.js\";\n\nexport interface CreatorScoreInlineProps {\n getClient: () => MedialaneClient;\n address: string | null | undefined;\n size?: \"sm\" | \"md\" | \"lg\";\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/creator-score-inline.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport type { MedialaneClient } from \"@medialane/sdk/starknet\";\nimport { LevelBadge } from \"./rewards/level-badge.js\";\nimport { BadgeShelf } from \"./rewards/badge-shelf.js\";\nimport { useRewards } from \"../utils/use-rewards.js\";\n\nexport interface CreatorScoreInlineProps {\n getClient: () => MedialaneClient;\n address: string | null | undefined;\n size?: \"sm\" | \"md\" | \"lg\";\n\n showBadges?: boolean;\n\n maxBadges?: number;\n className?: string;\n}\n\nexport function CreatorScoreInline({ getClient, address, size = \"sm\", showBadges = false, maxBadges = 6, className }: CreatorScoreInlineProps) {\n const { data } = useRewards(getClient, address);\n if (!data || data.totalXp <= 0) return null;\n\n return (\n <div className={className}>\n <Link href=\"/rewards\" className=\"inline-flex active:opacity-80\">\n <LevelBadge level={data.currentLevel} name={data.currentLevelName} badgeColor={data.badgeColor} size={size} />\n </Link>\n {showBadges && data.badges.length > 0 && (\n <BadgeShelf badges={data.badges.slice(0, maxBadges)} className=\"mt-2\" />\n )}\n </div>\n );\n}\n"],"mappings":";AAwBI,SAEI,KAFJ;AAtBJ,OAAO,UAAU;AAEjB,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAapB,SAAS,mBAAmB,EAAE,WAAW,SAAS,OAAO,MAAM,aAAa,OAAO,YAAY,GAAG,UAAU,GAA4B;AAC7I,QAAM,EAAE,KAAK,IAAI,WAAW,WAAW,OAAO;AAC9C,MAAI,CAAC,QAAQ,KAAK,WAAW,EAAG,QAAO;AAEvC,SACE,qBAAC,SAAI,WACH;AAAA,wBAAC,QAAK,MAAK,YAAW,WAAU,iCAC9B,8BAAC,cAAW,OAAO,KAAK,cAAc,MAAM,KAAK,kBAAkB,YAAY,KAAK,YAAY,MAAY,GAC9G;AAAA,IACC,cAAc,KAAK,OAAO,SAAS,KAClC,oBAAC,cAAW,QAAQ,KAAK,OAAO,MAAM,GAAG,SAAS,GAAG,WAAU,QAAO;AAAA,KAE1E;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/cta-card-grid.tsx"],"sourcesContent":["import type { ElementType } from \"react\";\nimport Link from \"next/link\";\nimport { ArrowRight } from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\n\nexport interface CtaCardItem {\n icon: ElementType;\n title: string;\n description: string;\n links: { label: string; href: string }[];\n href: string;\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/cta-card-grid.tsx"],"sourcesContent":["import type { ElementType } from \"react\";\nimport Link from \"next/link\";\nimport { ArrowRight } from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\n\nexport interface CtaCardItem {\n icon: ElementType;\n title: string;\n description: string;\n links: { label: string; href: string }[];\n href: string;\n\n gradient: string;\n\n iconGradient: string;\n}\n\nexport interface CtaCardGridProps {\n cards: CtaCardItem[];\n}\n\nfunction CtaCard({ icon: Icon, title, description, links, href, gradient, iconGradient }: CtaCardItem) {\n return (\n <div className=\"bento-cell p-6 sm:p-8 flex flex-col gap-6 relative overflow-hidden group hover:border-border/80 transition-colors\">\n <div className={`absolute inset-0 opacity-[0.03] group-hover:opacity-[0.06] transition-opacity ${gradient} pointer-events-none`} />\n\n <div className=\"relative z-10 space-y-3\">\n <div className={cn(\"h-11 w-11 rounded-2xl flex items-center justify-center shadow-lg\", iconGradient)}>\n <Icon className=\"h-5 w-5 text-white\" />\n </div>\n <div>\n <h3 className=\"text-xl font-black\">{title}</h3>\n <p className=\"text-sm text-muted-foreground leading-relaxed mt-1\">{description}</p>\n </div>\n </div>\n\n <ul className=\"relative z-10 space-y-2\">\n {links.map((link) => (\n <li key={link.href}>\n <Link href={link.href} className=\"flex items-center gap-2.5 text-sm text-muted-foreground hover:text-foreground transition-colors group/link\">\n <ArrowRight className=\"h-3.5 w-3.5 text-primary opacity-0 group-hover/link:opacity-100 transition-opacity shrink-0 -ml-0.5\" />\n {link.label}\n </Link>\n </li>\n ))}\n </ul>\n\n <div className=\"relative z-10 mt-auto\">\n <Link href={href} className=\"inline-flex items-center gap-1.5 text-sm border border-border rounded-md px-3 py-1.5 hover:border-primary/40 transition-colors group-hover:border-primary/40\">\n Explore {title} <ArrowRight className=\"h-3.5 w-3.5 ml-1.5\" />\n </Link>\n </div>\n </div>\n );\n}\n\nexport function CtaCardGrid({ cards }: CtaCardGridProps) {\n return (\n <section className=\"space-y-5\">\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n {cards.map((card) => (\n <CtaCard key={card.title} {...card} />\n ))}\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBM;AAvBN,kBAAiB;AACjB,0BAA2B;AAC3B,gBAAmB;AAkBnB,SAAS,QAAQ,EAAE,MAAM,MAAM,OAAO,aAAa,OAAO,MAAM,UAAU,aAAa,GAAgB;AACrG,SACE,6CAAC,SAAI,WAAU,qHACb;AAAA,gDAAC,SAAI,WAAW,iFAAiF,QAAQ,wBAAwB;AAAA,IAEjI,6CAAC,SAAI,WAAU,2BACb;AAAA,kDAAC,SAAI,eAAW,cAAG,oEAAoE,YAAY,GACjG,sDAAC,QAAK,WAAU,sBAAqB,GACvC;AAAA,MACA,6CAAC,SACC;AAAA,oDAAC,QAAG,WAAU,sBAAsB,iBAAM;AAAA,QAC1C,4CAAC,OAAE,WAAU,sDAAsD,uBAAY;AAAA,SACjF;AAAA,OACF;AAAA,IAEA,4CAAC,QAAG,WAAU,2BACX,gBAAM,IAAI,CAAC,SACV,4CAAC,QACC,uDAAC,YAAAA,SAAA,EAAK,MAAM,KAAK,MAAM,WAAU,8GAC/B;AAAA,kDAAC,kCAAW,WAAU,uGAAsG;AAAA,MAC3H,KAAK;AAAA,OACR,KAJO,KAAK,IAKd,CACD,GACH;AAAA,IAEA,4CAAC,SAAI,WAAU,yBACb,uDAAC,YAAAA,SAAA,EAAK,MAAY,WAAU,gKAA+J;AAAA;AAAA,MAChL;AAAA,MAAM;AAAA,MAAC,4CAAC,kCAAW,WAAU,sBAAqB;AAAA,OAC7D,GACF;AAAA,KACF;AAEJ;AAEO,SAAS,YAAY,EAAE,MAAM,GAAqB;AACvD,SACE,4CAAC,aAAQ,WAAU,aACjB,sDAAC,SAAI,WAAU,yCACZ,gBAAM,IAAI,CAAC,SACV,4CAAC,WAA0B,GAAG,QAAhB,KAAK,KAAiB,CACrC,GACH,GACF;AAEJ;","names":["Link"]}
|
|
@@ -10,9 +10,7 @@ interface CtaCardItem {
|
|
|
10
10
|
href: string;
|
|
11
11
|
}[];
|
|
12
12
|
href: string;
|
|
13
|
-
/** Tailwind gradient class applied as a 3% opacity hover overlay */
|
|
14
13
|
gradient: string;
|
|
15
|
-
/** Tailwind gradient + shadow class for the icon pill */
|
|
16
14
|
iconGradient: string;
|
|
17
15
|
}
|
|
18
16
|
interface CtaCardGridProps {
|
|
@@ -10,9 +10,7 @@ interface CtaCardItem {
|
|
|
10
10
|
href: string;
|
|
11
11
|
}[];
|
|
12
12
|
href: string;
|
|
13
|
-
/** Tailwind gradient class applied as a 3% opacity hover overlay */
|
|
14
13
|
gradient: string;
|
|
15
|
-
/** Tailwind gradient + shadow class for the icon pill */
|
|
16
14
|
iconGradient: string;
|
|
17
15
|
}
|
|
18
16
|
interface CtaCardGridProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/cta-card-grid.tsx"],"sourcesContent":["import type { ElementType } from \"react\";\nimport Link from \"next/link\";\nimport { ArrowRight } from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\n\nexport interface CtaCardItem {\n icon: ElementType;\n title: string;\n description: string;\n links: { label: string; href: string }[];\n href: string;\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/cta-card-grid.tsx"],"sourcesContent":["import type { ElementType } from \"react\";\nimport Link from \"next/link\";\nimport { ArrowRight } from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\n\nexport interface CtaCardItem {\n icon: ElementType;\n title: string;\n description: string;\n links: { label: string; href: string }[];\n href: string;\n\n gradient: string;\n\n iconGradient: string;\n}\n\nexport interface CtaCardGridProps {\n cards: CtaCardItem[];\n}\n\nfunction CtaCard({ icon: Icon, title, description, links, href, gradient, iconGradient }: CtaCardItem) {\n return (\n <div className=\"bento-cell p-6 sm:p-8 flex flex-col gap-6 relative overflow-hidden group hover:border-border/80 transition-colors\">\n <div className={`absolute inset-0 opacity-[0.03] group-hover:opacity-[0.06] transition-opacity ${gradient} pointer-events-none`} />\n\n <div className=\"relative z-10 space-y-3\">\n <div className={cn(\"h-11 w-11 rounded-2xl flex items-center justify-center shadow-lg\", iconGradient)}>\n <Icon className=\"h-5 w-5 text-white\" />\n </div>\n <div>\n <h3 className=\"text-xl font-black\">{title}</h3>\n <p className=\"text-sm text-muted-foreground leading-relaxed mt-1\">{description}</p>\n </div>\n </div>\n\n <ul className=\"relative z-10 space-y-2\">\n {links.map((link) => (\n <li key={link.href}>\n <Link href={link.href} className=\"flex items-center gap-2.5 text-sm text-muted-foreground hover:text-foreground transition-colors group/link\">\n <ArrowRight className=\"h-3.5 w-3.5 text-primary opacity-0 group-hover/link:opacity-100 transition-opacity shrink-0 -ml-0.5\" />\n {link.label}\n </Link>\n </li>\n ))}\n </ul>\n\n <div className=\"relative z-10 mt-auto\">\n <Link href={href} className=\"inline-flex items-center gap-1.5 text-sm border border-border rounded-md px-3 py-1.5 hover:border-primary/40 transition-colors group-hover:border-primary/40\">\n Explore {title} <ArrowRight className=\"h-3.5 w-3.5 ml-1.5\" />\n </Link>\n </div>\n </div>\n );\n}\n\nexport function CtaCardGrid({ cards }: CtaCardGridProps) {\n return (\n <section className=\"space-y-5\">\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n {cards.map((card) => (\n <CtaCard key={card.title} {...card} />\n ))}\n </div>\n </section>\n );\n}\n"],"mappings":"AAwBM,cAME,YANF;AAvBN,OAAO,UAAU;AACjB,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAkBnB,SAAS,QAAQ,EAAE,MAAM,MAAM,OAAO,aAAa,OAAO,MAAM,UAAU,aAAa,GAAgB;AACrG,SACE,qBAAC,SAAI,WAAU,qHACb;AAAA,wBAAC,SAAI,WAAW,iFAAiF,QAAQ,wBAAwB;AAAA,IAEjI,qBAAC,SAAI,WAAU,2BACb;AAAA,0BAAC,SAAI,WAAW,GAAG,oEAAoE,YAAY,GACjG,8BAAC,QAAK,WAAU,sBAAqB,GACvC;AAAA,MACA,qBAAC,SACC;AAAA,4BAAC,QAAG,WAAU,sBAAsB,iBAAM;AAAA,QAC1C,oBAAC,OAAE,WAAU,sDAAsD,uBAAY;AAAA,SACjF;AAAA,OACF;AAAA,IAEA,oBAAC,QAAG,WAAU,2BACX,gBAAM,IAAI,CAAC,SACV,oBAAC,QACC,+BAAC,QAAK,MAAM,KAAK,MAAM,WAAU,8GAC/B;AAAA,0BAAC,cAAW,WAAU,uGAAsG;AAAA,MAC3H,KAAK;AAAA,OACR,KAJO,KAAK,IAKd,CACD,GACH;AAAA,IAEA,oBAAC,SAAI,WAAU,yBACb,+BAAC,QAAK,MAAY,WAAU,gKAA+J;AAAA;AAAA,MAChL;AAAA,MAAM;AAAA,MAAC,oBAAC,cAAW,WAAU,sBAAqB;AAAA,OAC7D,GACF;AAAA,KACF;AAEJ;AAEO,SAAS,YAAY,EAAE,MAAM,GAAqB;AACvD,SACE,oBAAC,aAAQ,WAAU,aACjB,8BAAC,SAAI,WAAU,yCACZ,gBAAM,IAAI,CAAC,SACV,oBAAC,WAA0B,GAAG,QAAhB,KAAK,KAAiB,CACrC,GACH,GACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/currency-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport { cn } from \"../utils/cn.js\";\n\nconst CURRENCY_ICON_PATHS: Record<string, string> = {\n USDC: \"/usdc.svg\",\n USDT: \"/usdt.svg\",\n ETH: \"/eth.svg\",\n STRK: \"/strk.svg\",\n WBTC: \"/btc.svg\",\n};\n\nexport interface CurrencyIconProps {\n symbol: string | null | undefined;\n size?: number;\n className?: string;\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/currency-icon.tsx"],"sourcesContent":["\"use client\";\n\nimport Image from \"next/image\";\nimport { cn } from \"../utils/cn.js\";\n\nconst CURRENCY_ICON_PATHS: Record<string, string> = {\n USDC: \"/usdc.svg\",\n USDT: \"/usdt.svg\",\n ETH: \"/eth.svg\",\n STRK: \"/strk.svg\",\n WBTC: \"/btc.svg\",\n};\n\nexport interface CurrencyIconProps {\n symbol: string | null | undefined;\n size?: number;\n className?: string;\n\n iconsBasePath?: string;\n}\n\nexport function CurrencyIcon({ symbol, size = 16, className, iconsBasePath = \"\" }: CurrencyIconProps) {\n const path = symbol ? CURRENCY_ICON_PATHS[symbol] : undefined;\n if (!path) return null;\n return (\n <Image\n src={`${iconsBasePath}${path}`}\n alt={symbol ?? \"\"}\n width={size}\n height={size}\n className={cn(\"inline-block shrink-0\", className)}\n unoptimized\n />\n );\n}\n\nexport interface CurrencyAmountProps {\n amount: string;\n symbol: string | null | undefined;\n amountClassName?: string;\n iconSize?: number;\n className?: string;\n\n iconsBasePath?: string;\n}\n\nexport function CurrencyAmount({\n amount,\n symbol,\n amountClassName,\n iconSize = 14,\n className,\n iconsBasePath,\n}: CurrencyAmountProps) {\n return (\n <span className={cn(\"inline-flex items-center gap-1\", className)}>\n <CurrencyIcon symbol={symbol} size={iconSize} iconsBasePath={iconsBasePath} />\n <span className={amountClassName}>{amount}</span>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBI;AAvBJ,mBAAkB;AAClB,gBAAmB;AAEnB,MAAM,sBAA8C;AAAA,EAClD,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AACR;AAUO,SAAS,aAAa,EAAE,QAAQ,OAAO,IAAI,WAAW,gBAAgB,GAAG,GAAsB;AACpG,QAAM,OAAO,SAAS,oBAAoB,MAAM,IAAI;AACpD,MAAI,CAAC,KAAM,QAAO;AAClB,SACE;AAAA,IAAC,aAAAA;AAAA,IAAA;AAAA,MACC,KAAK,GAAG,aAAa,GAAG,IAAI;AAAA,MAC5B,KAAK,UAAU;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,eAAW,cAAG,yBAAyB,SAAS;AAAA,MAChD,aAAW;AAAA;AAAA,EACb;AAEJ;AAYO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AACF,GAAwB;AACtB,SACE,6CAAC,UAAK,eAAW,cAAG,kCAAkC,SAAS,GAC7D;AAAA,gDAAC,gBAAa,QAAgB,MAAM,UAAU,eAA8B;AAAA,IAC5E,4CAAC,UAAK,WAAW,iBAAkB,kBAAO;AAAA,KAC5C;AAEJ;","names":["Image"]}
|
|
@@ -4,10 +4,6 @@ interface CurrencyIconProps {
|
|
|
4
4
|
symbol: string | null | undefined;
|
|
5
5
|
size?: number;
|
|
6
6
|
className?: string;
|
|
7
|
-
/**
|
|
8
|
-
* Base path prepended to icon paths. Default: "" (icons served from app's public root).
|
|
9
|
-
* Example: "https://cdn.medialane.io/icons"
|
|
10
|
-
*/
|
|
11
7
|
iconsBasePath?: string;
|
|
12
8
|
}
|
|
13
9
|
declare function CurrencyIcon({ symbol, size, className, iconsBasePath }: CurrencyIconProps): react_jsx_runtime.JSX.Element | null;
|
|
@@ -17,7 +13,6 @@ interface CurrencyAmountProps {
|
|
|
17
13
|
amountClassName?: string;
|
|
18
14
|
iconSize?: number;
|
|
19
15
|
className?: string;
|
|
20
|
-
/** Forwarded to CurrencyIcon. */
|
|
21
16
|
iconsBasePath?: string;
|
|
22
17
|
}
|
|
23
18
|
declare function CurrencyAmount({ amount, symbol, amountClassName, iconSize, className, iconsBasePath, }: CurrencyAmountProps): react_jsx_runtime.JSX.Element;
|