From 831e6ec80fd63e89812d14867b11949b69e875b0 Mon Sep 17 00:00:00 2001 From: roiLeo Date: Mon, 7 Aug 2023 19:12:12 +0200 Subject: [PATCH 001/507] =?UTF-8?q?=F0=9F=94=A7=20libs=20ui=20vue3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/ui/histoire.config.ts | 5 +- libs/ui/package.json | 14 +- .../NeoAutocomplete/NeoAutocomplete.scss | 8 +- .../NeoAutocomplete/NeoAutocomplete.vue | 2 +- .../src/components/NeoButton/NeoButton.scss | 2 +- .../ui/src/components/NeoButton/NeoButton.vue | 2 +- .../components/NeoCarousel/NeoCarousel.vue | 12 +- .../NeoCarousel/NeoCarouselItem.vue | 2 +- .../components/NeoCheckbox/NeoCheckbox.scss | 10 +- .../components/NeoCheckbox/NeoCheckbox.vue | 2 +- .../components/NeoCollapse/NeoCollapse.vue | 2 +- .../NeoCollapsible/NeoCollapsible.vue | 2 +- .../NeoDatepicker/NeoDatepicker.vue | 12 +- .../components/NeoDropdown/NeoDropdown.scss | 10 +- .../components/NeoDropdown/NeoDropdown.vue | 2 +- .../NeoDropdown/NeoDropdownItem.vue | 2 +- libs/ui/src/components/NeoIcon/NeoIcon.scss | 10 +- libs/ui/src/components/NeoIcon/NeoIcon.vue | 2 +- libs/ui/src/components/NeoInput/NeoField.scss | 10 +- libs/ui/src/components/NeoInput/NeoField.vue | 2 +- libs/ui/src/components/NeoInput/NeoInput.scss | 10 +- libs/ui/src/components/NeoInput/NeoInput.vue | 2 +- .../NeoInputitems/NeoInputitems.scss | 12 +- .../NeoInputitems/NeoInputitems.vue | 2 +- .../src/components/NeoLoading/NeoLoading.scss | 10 +- .../src/components/NeoLoading/NeoLoading.vue | 2 +- libs/ui/src/components/NeoModal/NeoModal.vue | 2 +- .../NeoNftCard/NeoNftCard.story.vue | 26 -- .../NeoPagination/NeoPagination.vue | 12 +- libs/ui/src/components/NeoRadio/NeoRadio.vue | 12 +- .../components/NeoRadio/NeoRadioButton.vue | 2 +- .../NeoSecondaryButton.scss | 2 +- .../NeoSecondaryButton/NeoSecondaryButton.vue | 2 +- .../src/components/NeoSelect/NeoSelect.scss | 10 +- .../ui/src/components/NeoSelect/NeoSelect.vue | 2 +- .../src/components/NeoSidebar/NeoSidebar.scss | 10 +- .../src/components/NeoSidebar/NeoSidebar.vue | 2 +- .../components/NeoSkeleton/NeoSkeleton.scss | 10 +- .../components/NeoSkeleton/NeoSkeleton.vue | 2 +- .../ui/src/components/NeoSlider/NeoSlider.vue | 12 +- .../src/components/NeoSteps/NeoStepItem.vue | 2 +- libs/ui/src/components/NeoSteps/NeoSteps.scss | 10 +- libs/ui/src/components/NeoSteps/NeoSteps.vue | 2 +- .../ui/src/components/NeoSwitch/NeoSwitch.vue | 12 +- libs/ui/src/components/NeoTable/NeoTable.vue | 12 +- .../components/NeoTable/NeoTableColumn.vue | 10 +- libs/ui/src/components/NeoTabs/NeoTabItem.vue | 2 +- libs/ui/src/components/NeoTabs/NeoTabs.scss | 10 +- libs/ui/src/components/NeoTabs/NeoTabs.vue | 2 +- .../src/components/NeoTooltip/NeoTooltip.scss | 10 +- .../NeoTooltip/NeoTooltip.story.vue | 2 +- .../src/components/NeoTooltip/NeoTooltip.vue | 4 +- .../ui/src/components/NeoUpload/NeoUpload.vue | 12 +- libs/ui/src/histoire.scss | 2 +- libs/ui/src/index.ts | 2 +- nuxt.config.js | 34 +-- pnpm-lock.yaml | 228 ++++++++++++++---- .../components/shared/BalanceInput.test.ts | 2 +- vitest.config.js | 2 +- 59 files changed, 359 insertions(+), 258 deletions(-) delete mode 100644 libs/ui/src/components/NeoNftCard/NeoNftCard.story.vue diff --git a/libs/ui/histoire.config.ts b/libs/ui/histoire.config.ts index a5a0cd9693..ac4f1184f7 100644 --- a/libs/ui/histoire.config.ts +++ b/libs/ui/histoire.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'histoire' -import { HstVue } from '@histoire/plugin-vue2' -import vue from '@vitejs/plugin-vue2' +import { HstVue } from '@histoire/plugin-vue' +import vue from '@vitejs/plugin-vue' +// import vue from 'vue' import { resolve } from 'path' export default defineConfig({ diff --git a/libs/ui/package.json b/libs/ui/package.json index 39606284a4..4e43d4f4e3 100644 --- a/libs/ui/package.json +++ b/libs/ui/package.json @@ -10,18 +10,18 @@ "story:preview": "histoire preview" }, "devDependencies": { - "@histoire/plugin-vue2": "^0.16.1", - "@vitejs/plugin-vue2": "^2.2.0", - "@oruga-ui/oruga": "^0.6.0", + "@histoire/plugin-vue": "^0.16.1", + "@vitejs/plugin-vue": "^4.2.3", + "@oruga-ui/oruga-next": "^0.6.0", "eslint": "^8.45.0", "eslint-plugin-vue": "^8.7.1", "histoire": "^0.16.2", - "vite": "^3.2.7", - "vue": "2.7.14" + "vite": "^4.2.0" }, "dependencies": { - "@google/model-viewer": "^1.12.1", "bulma": "0.9.4", - "vue-audio-visual": "2.5.0" + "vue": "^3.2.47", + "vue-audio-visual": "2.5.0", + "@google/model-viewer": "^1.12.1" } } diff --git a/libs/ui/src/components/NeoAutocomplete/NeoAutocomplete.scss b/libs/ui/src/components/NeoAutocomplete/NeoAutocomplete.scss index 35a642d2de..6d7d102ff6 100644 --- a/libs/ui/src/components/NeoAutocomplete/NeoAutocomplete.scss +++ b/libs/ui/src/components/NeoAutocomplete/NeoAutocomplete.scss @@ -1,7 +1,7 @@ -@import '@oruga-ui/oruga/src/scss/utilities/expressions.scss'; -@import '@oruga-ui/oruga/src/scss/utilities/variables.scss'; -@import '@oruga-ui/oruga/src/scss/utilities/animations.scss'; -@import '@oruga-ui/oruga/src/scss/utilities/helpers.scss'; +@import '@oruga-ui/oruga-next/src/scss/utilities/expressions.scss'; +@import '@oruga-ui/oruga-next/src/scss/utilities/variables.scss'; +@import '@oruga-ui/oruga-next/src/scss/utilities/animations.scss'; +@import '@oruga-ui/oruga-next/src/scss/utilities/helpers.scss'; @import '../../scss/variable.scss'; diff --git a/libs/ui/src/components/NeoAutocomplete/NeoAutocomplete.vue b/libs/ui/src/components/NeoAutocomplete/NeoAutocomplete.vue index c1fb197ac6..85908dff87 100644 --- a/libs/ui/src/components/NeoAutocomplete/NeoAutocomplete.vue +++ b/libs/ui/src/components/NeoAutocomplete/NeoAutocomplete.vue @@ -1,5 +1,5 @@ diff --git a/libs/ui/src/components/NeoCarousel/NeoCarouselItem.vue b/libs/ui/src/components/NeoCarousel/NeoCarouselItem.vue index 5330af0a91..e8e00b82ab 100644 --- a/libs/ui/src/components/NeoCarousel/NeoCarouselItem.vue +++ b/libs/ui/src/components/NeoCarousel/NeoCarouselItem.vue @@ -1,5 +1,5 @@ diff --git a/libs/ui/src/components/NeoPagination/NeoPagination.vue b/libs/ui/src/components/NeoPagination/NeoPagination.vue index 1d5b88e65e..d09235574c 100644 --- a/libs/ui/src/components/NeoPagination/NeoPagination.vue +++ b/libs/ui/src/components/NeoPagination/NeoPagination.vue @@ -1,5 +1,5 @@ diff --git a/libs/ui/src/components/NeoRadio/NeoRadioButton.vue b/libs/ui/src/components/NeoRadio/NeoRadioButton.vue index 8bde625752..ad1049d936 100644 --- a/libs/ui/src/components/NeoRadio/NeoRadioButton.vue +++ b/libs/ui/src/components/NeoRadio/NeoRadioButton.vue @@ -23,7 +23,7 @@ diff --git a/libs/ui/src/components/NeoTabs/NeoTabItem.vue b/libs/ui/src/components/NeoTabs/NeoTabItem.vue index 8010206b12..889e0e3276 100644 --- a/libs/ui/src/components/NeoTabs/NeoTabItem.vue +++ b/libs/ui/src/components/NeoTabs/NeoTabItem.vue @@ -1,5 +1,5 @@ diff --git a/libs/ui/src/components/NeoTooltip/NeoTooltip.vue b/libs/ui/src/components/NeoTooltip/NeoTooltip.vue index 899f3dab36..84ab6a3785 100644 --- a/libs/ui/src/components/NeoTooltip/NeoTooltip.vue +++ b/libs/ui/src/components/NeoTooltip/NeoTooltip.vue @@ -31,7 +31,7 @@ diff --git a/libs/ui/src/components/NeoUpload/NeoUpload.vue b/libs/ui/src/components/NeoUpload/NeoUpload.vue index 371a6a9d37..00bd931b7b 100644 --- a/libs/ui/src/components/NeoUpload/NeoUpload.vue +++ b/libs/ui/src/components/NeoUpload/NeoUpload.vue @@ -1,5 +1,5 @@ diff --git a/components/gallery/GalleryItemAction/GalleryItemActionType/GalleryItemBuy.vue b/components/gallery/GalleryItemAction/GalleryItemActionType/GalleryItemBuy.vue index 8ec64f38ce..e8217200af 100644 --- a/components/gallery/GalleryItemAction/GalleryItemActionType/GalleryItemBuy.vue +++ b/components/gallery/GalleryItemAction/GalleryItemActionType/GalleryItemBuy.vue @@ -61,7 +61,6 @@ import { openConnectWalletModal } from '@/components/common/ConnectWallet/useCon import { useIdentityStore } from '@/stores/identity' import { useShoppingCartStore } from '@/stores/shoppingCart' import { usePreferencesStore } from '@/stores/preferences' -import { RampInstantSDK } from '@ramp-network/ramp-instant-sdk' import { openShoppingCart } from '@/components/common/shoppingCart/ShoppingCartModalConfig' import { NFT } from '@/components/rmrk/service/scheme' @@ -78,6 +77,7 @@ const { accountId } = useAuth() const { $i18n } = useNuxtApp() const preferencesStore = usePreferencesStore() const shoppingCartStore = useShoppingCartStore() +const { initRampInstant } = useRamp() const { cartIcon } = useShoppingCartIcon(props.nft.id) const instance = getCurrentInstance() @@ -104,14 +104,10 @@ const label = computed(() => { }) const showRampSDK = () => { - new RampInstantSDK({ + initRampInstant({ defaultAsset: 'KSM', - userAddress: accountId.value, - hostAppName: 'KodaDot', - hostApiKey: 'a99bfvomhhbvzy6thaycxbawz7d3pssuz2a8hsrc', // env - hostLogoUrl: 'https://kodadot.xyz/apple-touch-icon.png', - variant: 'desktop', - }).show() + address: accountId.value, + }) } const balance = computed(() => { @@ -170,6 +166,7 @@ const onClickShoppingCart = () => { :deep .button-height { height: 55px !important; } + .buy-button-width { width: 10rem; @@ -177,10 +174,12 @@ const onClickShoppingCart = () => { width: 100%; flex-grow: 1; } + .wrapper { width: 100%; } } + .no-border-left { border-left: none !important; } diff --git a/composables/useRamp.ts b/composables/useRamp.ts new file mode 100644 index 0000000000..fd8372abe7 --- /dev/null +++ b/composables/useRamp.ts @@ -0,0 +1,50 @@ +import { Ref, ref } from 'vue' +import { RampInstantSDK } from '@ramp-network/ramp-instant-sdk' +import { AllWidgetVariants } from '@ramp-network/ramp-instant-sdk/dist/types/types' +import consola from 'consola' + +const HOST_APP_NAME = 'KodaDot' +const HOST_LOGO_URL = 'https://kodadot.xyz/apple-touch-icon.png' + +interface InitRampParams { + address: string + defaultAsset: string + variant?: AllWidgetVariants + showAfterInit?: boolean +} + +export default function useRamp() { + const rampInstant: Ref = ref(null) + const config = useRuntimeConfig() + const rampApiKey = config.public.rampApiKey + + const initRampInstant = (params: InitRampParams) => { + const { + address, + defaultAsset, + variant = 'desktop', + showAfterInit = true, + } = params + + try { + rampInstant.value = new RampInstantSDK({ + defaultAsset, + userAddress: address, + hostAppName: HOST_APP_NAME, + hostApiKey: rampApiKey, + hostLogoUrl: HOST_LOGO_URL, + variant, + }) + + if (showAfterInit) { + rampInstant.value.show() + } + } catch (e) { + consola.error('[RAMP SDK] Error initializing RampInstantSDK:', e) + } + } + + return { + initRampInstant, + } +} diff --git a/nuxt.config.js b/nuxt.config.js index c2b1d2399f..bd692df122 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -454,6 +454,7 @@ export default defineNuxtConfig({ baseUrl: process.env.BASE_URL || 'http://localhost:9090', googleAnalyticsId: process.env.GOOGLE_ANALYTICS_ID || '', dev: process.env.NODE_ENV === 'development', + rampApiKey: process.env.RAMP_API_KEY, }, }, // In case of using ssr From 965849853340a2f00b16544d51c71a900d754d71 Mon Sep 17 00:00:00 2001 From: hassnian Date: Wed, 16 Aug 2023 12:15:20 +0500 Subject: [PATCH 003/507] cleanup: code review --- composables/useRamp.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composables/useRamp.ts b/composables/useRamp.ts index fd8372abe7..64ebf62f93 100644 --- a/composables/useRamp.ts +++ b/composables/useRamp.ts @@ -1,7 +1,5 @@ -import { Ref, ref } from 'vue' import { RampInstantSDK } from '@ramp-network/ramp-instant-sdk' import { AllWidgetVariants } from '@ramp-network/ramp-instant-sdk/dist/types/types' -import consola from 'consola' const HOST_APP_NAME = 'KodaDot' const HOST_LOGO_URL = 'https://kodadot.xyz/apple-touch-icon.png' @@ -14,8 +12,10 @@ interface InitRampParams { } export default function useRamp() { - const rampInstant: Ref = ref(null) const config = useRuntimeConfig() + const { $consola } = useNuxtApp() + + const rampInstant = ref(null) const rampApiKey = config.public.rampApiKey const initRampInstant = (params: InitRampParams) => { @@ -40,7 +40,7 @@ export default function useRamp() { rampInstant.value.show() } } catch (e) { - consola.error('[RAMP SDK] Error initializing RampInstantSDK:', e) + $consola.error('[RAMP SDK] Error initializing RampInstantSDK:', e) } } From 895517f74fbbf326f99cf86eb006c701d21d61d6 Mon Sep 17 00:00:00 2001 From: roiLeo Date: Thu, 17 Aug 2023 11:33:22 +0200 Subject: [PATCH 004/507] =?UTF-8?q?=E2=9E=96=20nitro=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nuxt.config.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/nuxt.config.js b/nuxt.config.js index 60795940d7..d01cd2b75a 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -313,16 +313,6 @@ export default defineNuxtConfig({ }, hooks: { - ready(nuxt) { - // https://github.com/nuxt/bridge/issues/607 - // translate nuxt 2 hook from @nuxt/webpack-edge to nuxt bridge hook - nuxt.hook('server:devMiddleware', async (devMiddleware) => { - await nuxt.callHook( - 'server:devHandler', - fromNodeMiddleware(devMiddleware) - ) - }) - }, sitemap: { generate: { done(nuxtInstance) { From 27b8b942745e3877dce502fa87ef44f2628da3ca Mon Sep 17 00:00:00 2001 From: roiLeo Date: Wed, 23 Aug 2023 15:53:09 +0200 Subject: [PATCH 005/507] =?UTF-8?q?=F0=9F=94=A7=20allow=20undefined=20func?= =?UTF-8?q?tion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 1 + .../styles}/abstracts/_animations.scss | 0 .../styles}/abstracts/_derived-variables.scss | 0 .../styles}/abstracts/_fonts.scss | 0 .../styles}/abstracts/_initial-variables.scss | 0 .../styles}/abstracts/_mixins.scss | 0 .../styles}/abstracts/_theme.scss | 0 .../styles}/abstracts/_variables.scss | 0 .../styles}/base/_typography.scss | 0 .../styles}/components/_button.scss | 0 .../styles}/components/_card.scss | 0 .../styles}/components/_carousel-arrows.scss | 0 .../styles}/components/_carousel.scss | 0 .../styles}/components/_collection-card.scss | 0 .../styles}/components/_collection.scss | 0 .../styles}/components/_connect-wallet.scss | 0 .../styles}/components/_content-markdown.scss | 2 +- .../styles}/components/_gallery-item.scss | 0 .../components/_keyboard-shortcut.scss | 0 .../styles}/components/_modal.scss | 0 .../styles}/components/_price-chart.scss | 0 .../components/_scroll-to-top-button.scss | 0 .../styles}/components/_search.scss | 0 .../styles}/components/_tippy.scss | 0 .../styles}/components/_toast.scss | 0 .../styles}/components/_top-collections.scss | 0 {styles => assets/styles}/global.scss | 0 {styles => assets/styles}/index.scss | 2 +- .../styles}/layouts/_footer.scss | 0 .../styles}/layouts/_main-navigation.scss | 0 components/CookieBanner.vue | 13 +- components/TheFooter.vue | 8 +- components/base/types.ts | 3 +- components/blog/BlogPost.vue | 17 +- components/bsx/Create/CreateCollection.vue | 205 +- components/bsx/Create/CreateToken.vue | 5 +- components/carousel/module/CarouselInfo.vue | 1 + .../CollectionHeader/CollectionBanner.vue | 2 +- components/collection/CollectionInfo.vue | 2 +- components/collection/HeroButtons.vue | 2 +- .../events/eventRow/EventRowTablet.vue | 2 +- components/collection/collectionInfoLine.vue | 2 +- components/collection/drop/DropContainer.vue | 2 +- .../collection/unlockable/CountdownTimer.vue | 2 +- .../collection/unlockable/ImageSlider.vue | 4 +- .../unlockable/UnlockableCollectionBanner.vue | 2 +- .../unlockable/UnlockableCollectionInfo.vue | 2 +- .../unlockable/UnlockableContainer.vue | 2 +- .../unlockable/UnlockableHeroButtons.vue | 2 +- .../unlockable/UnlockableLandingTag.vue | 2 +- .../unlockable/UnlockableLoader.vue | 2 +- .../unlockable/UnlockableSchedule.vue | 2 +- .../unlockable/UnlockableSlider.vue | 2 +- .../collection/unlockable/UnlockableTag.vue | 2 +- .../CollectionDetailsPopoverContent.vue | 2 +- .../common/ConnectWallet/WalletAssetMenu.vue | 2 +- .../common/ConnectWallet/WalletAssetNfts.vue | 2 +- .../ConnectWallet/WalletAssetSetIdentity.vue | 11 +- .../NotificationBox/NotificationBoxModal.vue | 2 +- .../NotificationBox/NotificationItem.vue | 2 +- .../ConfirmPurchaseItemRow.vue | 2 +- .../ConfirmPurchaseModal.vue | 2 +- .../shoppingCart/ShoppingCartItemRow.vue | 2 +- .../common/shoppingCart/ShoppingCartModal.vue | 2 +- components/drops/CreateDropCard.vue | 2 +- components/drops/DropCard.vue | 2 +- components/drops/TimeTag.vue | 2 +- components/explore/ActiveCount.vue | 2 +- components/explore/DesktopControls.vue | 2 +- components/explore/ExploreSort.vue | 2 +- components/explore/ExploreTabs.vue | 2 +- components/explore/FilterMenuButton.vue | 2 +- components/explore/MobileControls.vue | 2 +- components/gallery/GalleryItem.vue | 2 +- .../GalleryItemActionSection.vue | 2 +- .../GalleryItemActionSlides.vue | 2 +- .../GalleryItemActionType/GalleryItemBuy.vue | 2 +- .../GalleryItemOffer.vue | 2 +- .../GalleryItemTransfer.vue | 2 +- .../GalleryItemButton/GalleryItemButton.vue | 2 +- components/gallery/GalleryItemPreviewer.vue | 2 +- .../GalleryItemActivity.vue | 2 +- .../GalleryItemActivityTable.vue | 2 +- .../GalleryItemTabsPanel.vue | 2 +- components/gallery/UnlockableTag.vue | 2 +- components/gallery/useGalleryItem.ts | 8 +- components/hot/HotTable.vue | 2 +- .../identity/module/IdentityPopover.vue | 2 +- .../identity/module/IdentityPopoverFooter.vue | 2 +- .../identity/module/IdentityPopoverHeader.vue | 2 +- components/items/ItemsGrid/ItemsGridImage.vue | 2 +- .../massmint/ChooseCollectionDropdown.vue | 2 +- components/massmint/Massmint.vue | 2 +- components/massmint/OnBoarding.vue | 4 +- components/massmint/OverviewTable.vue | 2 +- components/massmint/modals/modals.scss | 4 +- components/profile/FilterButton.vue | 2 +- components/profile/OrderByDropdown.vue | 2 +- components/profile/ProfileDetail.vue | 2 +- components/redirect/RedirectModal.vue | 2 +- components/rmrk/Create/CreateToken.vue | 5 +- components/rmrk/Create/SimpleMint.vue | 5 +- components/rmrk/Gallery/EmotionList.vue | 2 +- components/rmrk/Gallery/EmotionModal.vue | 2 +- components/rmrk/Gallery/GalleryCard.vue | 21 +- components/sales/SalesTable.vue | 2 +- components/search/Search.vue | 5 +- components/search/SearchCollection.vue | 2 +- components/search/SearchSuggestion.vue | 4 +- components/series/SeriesTable.vue | 2 +- components/settings/KeyboardShortcuts.vue | 2 +- components/shared/Avatar.vue | 2 +- components/shared/BreadcrumbsFilter.vue | 4 +- components/shared/DragDrop.vue | 2 +- components/shared/Loader.vue | 2 +- components/shared/MessageNotify.vue | 2 +- components/shared/TabItem.vue | 2 +- components/shared/filters/MobileFilter.vue | 4 +- components/shared/filters/SidebarFilter.vue | 2 +- .../shared/filters/modules/PriceFilter.vue | 2 +- components/shared/form/BasicBalanceInput.vue | 126 +- components/shared/format/Money.vue | 13 +- components/shared/gallery/NeoTag.vue | 2 +- .../shared/modals/keyboardShortcutsModal.vue | 2 +- components/shared/view/BasicPopup.vue | 2 +- components/shared/view/SelectableImage.vue | 2 +- components/teleport/Teleport.vue | 2 +- components/teleport/TeleportTabs.vue | 2 +- components/transfer/Transfer.vue | 2 +- components/transfer/TransferConfirmModal.vue | 38 +- components/transfer/TransferTokenTabs.vue | 2 +- composables/useNft.ts | 5 + composables/useTextOverflow.ts | 9 +- ...-world-of-nft-staking-an-in-depth-guide.md | 91 + ...mplete-guide-on-where-to-stake-polkadot.md | 75 + ...nto-the-innovative-multi-chain-protocol.md | 81 + layouts/explore-layout.vue | 2 +- layouts/generative-mint-layout.vue | 2 +- layouts/unlockable-mint-layout.vue | 2 +- .../src/components/NeoSelect/NeoSelect.scss | 2 +- .../src/components/NeoTooltip/NeoTooltip.vue | 23 + locales/nl.json | 4 +- nuxt.config.js | 148 +- package.json | 12 +- pages/_prefix/collection/_id/activity.vue | 2 +- pages/_prefix/collection/_id/index.vue | 2 +- pages/_prefix/drops/dot-drop.vue | 2 +- pages/_prefix/drops/free-drop.vue | 2 +- pages/_prefix/explore/items.vue | 2 +- pages/blog/index.vue | 2 +- plugins/endpoint.ts | 1 + plugins/filters.ts | 35 +- plugins/globalVariables.ts | 38 +- plugins/icons.ts | 498 +-- plugins/keyboardEvents.ts | 10 +- plugins/oruga-modal.ts | 8 +- plugins/oruga-notification.ts | 8 +- plugins/polkadot.ts | 10 +- plugins/pwa.ts | 5 +- plugins/safeHref.ts | 21 +- plugins/seoMetaGenerator.ts | 346 +- plugins/vueAudioVisual.ts | 7 +- plugins/vueClipboard.ts | 7 +- plugins/vueSocialSharing.ts | 7 +- plugins/vueTippy.ts | 33 +- pnpm-lock.yaml | 3916 +++++------------ {static => public}/.well-known/security.txt | 0 {static => public}/Koda_Beta.svg | 0 {static => public}/Koda_Beta_dark.svg | 0 {static => public}/Kodadot_lgbt_320px.png | Bin {static => public}/_headers | 0 {static => public}/android-chrome-192x192.png | Bin {static => public}/android-chrome-512x512.png | Bin {static => public}/apple-touch-icon.png | Bin {static => public}/arweave.svg | 0 {static => public}/blog-cover.png | Bin ...ide-on-how-to-make-generative-nft-art.webp | Bin ...ide-on-how-to-setup-a-polkadot-wallet.webp | Bin ...on-virtual-land-nfts-in-the-metaverse.webp | Bin ...de-to-peer-to-peer-nft-atomic-swaps-1.webp | Bin ...ring-the-superiority-of-on-chain-nfts.webp | Bin ...a-dance-of-randomness-and-recursion-1.webp | Bin ...orld-of-nft-staking-an-in-depth-guide.webp | Bin 0 -> 107858 bytes ...ckable-content-nfts-work-on-kodadot-1.webp | Bin ...ckable-content-nfts-work-on-kodadot-2.webp | Bin ...ckable-content-nfts-work-on-kodadot-3.webp | Bin ...ckable-content-nfts-work-on-kodadot-4.webp | Bin .../blog/kodadot's-drop-page-explained-2.webp | Bin .../blog/kodadot's-drop-page-explained-3.webp | Bin .../blog/kodadot's-drop-page-explained-4.webp | Bin .../blog/kodadot's-drop-page-explained-5.webp | Bin .../blog/kodadot's-drop-page-explained-6.webp | Bin .../blog/kodadot's-drop-page-explained-7.webp | Bin ...s-exploring-the-new-horizon-of-nfts-1.webp | Bin ...s-exploring-the-new-horizon-of-nfts-2.webp | Bin ...s-exploring-the-new-horizon-of-nfts-3.webp | Bin ...s-exploring-the-new-horizon-of-nfts-4.webp | Bin ...s-exploring-the-new-horizon-of-nfts-5.webp | Bin .../blog/kodadots-drop-page-explained-1.webp | Bin ...ons-unleashing-full-potential-of-nfts.webp | Bin .../revolutionizing-digital-ownership-1.webp | Bin .../revolutionizing-digital-ownership-2.webp | Bin .../revolutionizing-digital-ownership-3.webp | Bin .../revolutionizing-digital-ownership-4.webp | Bin ...-the-future-of-digital-collectibles-1.webp | Bin ...lete-guide-on-where-to-stake-polkadot.webp | Bin 0 -> 140124 bytes ...e-into-fandom-shops-and-brand-loyalty.webp | Bin ...-hub-Revolutionizing-asset-management.webp | Bin ...bridge-your-nft-to-another-blockchain.webp | Bin ...o-the-innovative-multi-chain-protocol.webp | Bin 0 -> 100410 bytes ...ing-the-mystery-where-to-buy-polkadot.webp | Bin {static => public}/blog/what-is-erc6551.webp | Bin .../why-are-nfts-valuable-investment-1.webp | Bin {static => public}/blurred-landing-footer.png | Bin {static => public}/browserconfig.xml | 0 {static => public}/bsx-logo.png | Bin {static => public}/checkmark.svg | 0 .../congrats-message-header.svg | 0 {static => public}/drops/BlueShade.svg | 0 {static => public}/drops/PinkShade.svg | 0 {static => public}/drops/create_drop1.svg | 0 {static => public}/drops/create_drop2.svg | 0 {static => public}/drops/create_drop3.svg | 0 {static => public}/drops/create_drop4.svg | 0 {static => public}/empty-cart.png | Bin {static => public}/favicon-16x16.png | Bin {static => public}/favicon-32x32.png | Bin {static => public}/favicon.ico | Bin {static => public}/favicon.svg | 0 .../fonts/WorkSans-VariableFont_wght.ttf | Bin {static => public}/homepage-bg.png | Bin {static => public}/homepage-bg.webp | Bin {static => public}/icon.png | Bin {static => public}/icons/120x120.62fa86b5.png | Bin .../icons/120x120.maskable.62fa86b5.png | Bin {static => public}/icons/144x144.62fa86b5.png | Bin .../icons/144x144.maskable.62fa86b5.png | Bin {static => public}/icons/152x152.62fa86b5.png | Bin .../icons/152x152.maskable.62fa86b5.png | Bin {static => public}/icons/192x192.62fa86b5.png | Bin .../icons/192x192.maskable.62fa86b5.png | Bin {static => public}/icons/384x384.62fa86b5.png | Bin .../icons/384x384.maskable.62fa86b5.png | Bin {static => public}/icons/512x512.62fa86b5.png | Bin .../icons/512x512.maskable.62fa86b5.png | Bin {static => public}/icons/64x64.62fa86b5.png | Bin .../icons/64x64.maskable.62fa86b5.png | Bin {static => public}/infinity.svg | 0 {static => public}/k-search-enter.svg | 0 {static => public}/k_card.png | Bin {static => public}/k_card_collections.png | Bin {static => public}/k_card_gallery.png | Bin {static => public}/k_card_mint.png | Bin {static => public}/k_card_series.png | Bin {static => public}/k_card_spotlight.png | Bin {static => public}/koda300x300.svg | 0 {static => public}/kodadot_carbonless.jpg | Bin {static => public}/kodadot_card_root.png | Bin {static => public}/kodadot_preloader_1.svg | 0 .../landing-blurred-header-left.png | Bin .../landing-blurred-header-right.png | Bin .../landing-shape-header-left-dark.svg | 0 .../landing-shape-header-left-light.svg | 0 .../landing-shape-header-right-dark.svg | 0 .../landing-shape-header-right-light.svg | 0 {static => public}/minting-file-formats.png | Bin {static => public}/mstile-150x150.png | Bin {static => public}/partners/logo-clover.png | Bin {static => public}/partners/logo-enkrypt.png | Bin {static => public}/partners/logo-ledger.svg | 0 .../partners/logo-mathwallet.png | Bin {static => public}/partners/logo-nova.png | Bin .../partners/logo-polkadot-js.png | Bin .../partners/logo-subwallet.svg | 0 {static => public}/partners/logo-talisman.svg | 0 {static => public}/placeholder-white.webp | Bin {static => public}/placeholder.svg | 0 {static => public}/placeholder.webp | Bin {static => public}/preloader.svg | 0 {static => public}/profile-dark.svg | 0 {static => public}/profile.svg | 0 {static => public}/qrCode/discord.png | Bin {static => public}/qrCode/github.png | Bin {static => public}/qrCode/instagram.png | Bin {static => public}/qrCode/twitter.png | Bin {static => public}/rmrk-logo-pink-faded.png | Bin {static => public}/robots.txt | 0 {static => public}/safari-pinned-tab.svg | 0 {static => public}/search-k-keyboard.svg | 0 .../search-mobile-navbar-dark.svg | 0 {static => public}/search-mobile-navbar.svg | 0 .../shopping-cart-outline-sharp.svg | 0 .../shopping-cart-outline-sharp_dark.svg | 0 .../striked-out-cart-shopping.svg | 0 .../striked-out-cart-shopping_dark.svg | 0 {static => public}/subid.svg | 0 {static => public}/subscan.svg | 0 {static => public}/subsocial.svg | 0 {static => public}/timer.svg | 0 {static => public}/token/bsx.svg | 0 {static => public}/token/dot.svg | 0 {static => public}/token/ksm.svg | 0 {static => public}/unlockable-banner.svg | 0 {static => public}/unlockable-dark.svg | 0 {static => public}/unlockable-introduce.svg | 0 {static => public}/unlockable-loader.svg | 0 {static => public}/unlockable-pulse.svg | 0 {static => public}/unlockable.svg | 0 utils/carousel.ts | 2 +- utils/config/i18n.ts | 6 +- utils/mixins/apiUrlMixin.ts | 26 +- utils/mixins/authMixin.ts | 40 +- utils/mixins/chainMixin.ts | 47 +- utils/mixins/infiniteScrollMixin.ts | 392 +- utils/mixins/keyboardEventsMixin.ts | 64 +- utils/mixins/prefixMixin.ts | 40 +- utils/mixins/subscribeMixin.ts | 41 +- utils/mixins/txMixin.ts | 66 +- utils/mixins/useApiMixin.ts | 26 +- 319 files changed, 2690 insertions(+), 4149 deletions(-) rename {styles => assets/styles}/abstracts/_animations.scss (100%) rename {styles => assets/styles}/abstracts/_derived-variables.scss (100%) rename {styles => assets/styles}/abstracts/_fonts.scss (100%) rename {styles => assets/styles}/abstracts/_initial-variables.scss (100%) rename {styles => assets/styles}/abstracts/_mixins.scss (100%) rename {styles => assets/styles}/abstracts/_theme.scss (100%) rename {styles => assets/styles}/abstracts/_variables.scss (100%) rename {styles => assets/styles}/base/_typography.scss (100%) rename {styles => assets/styles}/components/_button.scss (100%) rename {styles => assets/styles}/components/_card.scss (100%) rename {styles => assets/styles}/components/_carousel-arrows.scss (100%) rename {styles => assets/styles}/components/_carousel.scss (100%) rename {styles => assets/styles}/components/_collection-card.scss (100%) rename {styles => assets/styles}/components/_collection.scss (100%) rename {styles => assets/styles}/components/_connect-wallet.scss (100%) rename {styles => assets/styles}/components/_content-markdown.scss (78%) rename {styles => assets/styles}/components/_gallery-item.scss (100%) rename {styles => assets/styles}/components/_keyboard-shortcut.scss (100%) rename {styles => assets/styles}/components/_modal.scss (100%) rename {styles => assets/styles}/components/_price-chart.scss (100%) rename {styles => assets/styles}/components/_scroll-to-top-button.scss (100%) rename {styles => assets/styles}/components/_search.scss (100%) rename {styles => assets/styles}/components/_tippy.scss (100%) rename {styles => assets/styles}/components/_toast.scss (100%) rename {styles => assets/styles}/components/_top-collections.scss (100%) rename {styles => assets/styles}/global.scss (100%) rename {styles => assets/styles}/index.scss (96%) rename {styles => assets/styles}/layouts/_footer.scss (100%) rename {styles => assets/styles}/layouts/_main-navigation.scss (100%) create mode 100644 content/blog/exploring-the-world-of-nft-staking-an-in-depth-guide.md create mode 100644 content/blog/the-complete-guide-on-where-to-stake-polkadot.md create mode 100644 content/blog/understanding-polkadot-a-deep-dive-into-the-innovative-multi-chain-protocol.md rename {static => public}/.well-known/security.txt (100%) rename {static => public}/Koda_Beta.svg (100%) rename {static => public}/Koda_Beta_dark.svg (100%) rename {static => public}/Kodadot_lgbt_320px.png (100%) rename {static => public}/_headers (100%) rename {static => public}/android-chrome-192x192.png (100%) rename {static => public}/android-chrome-512x512.png (100%) rename {static => public}/apple-touch-icon.png (100%) rename {static => public}/arweave.svg (100%) rename {static => public}/blog-cover.png (100%) rename {static => public}/blog/a-comprehensive-guide-on-how-to-make-generative-nft-art.webp (100%) rename {static => public}/blog/a-comprehensive-guide-on-how-to-setup-a-polkadot-wallet.webp (100%) rename {static => public}/blog/a-comprehensive-guide-on-virtual-land-nfts-in-the-metaverse.webp (100%) rename {static => public}/blog/a-comprehensive-guide-to-peer-to-peer-nft-atomic-swaps-1.webp (100%) rename {static => public}/blog/exploring-the-superiority-of-on-chain-nfts.webp (100%) rename {static => public}/blog/exploring-the-world-of-generative-nft-art-a-dance-of-randomness-and-recursion-1.webp (100%) create mode 100644 public/blog/exploring-the-world-of-nft-staking-an-in-depth-guide.webp rename {static => public}/blog/how-do-unlockable-content-nfts-work-on-kodadot-1.webp (100%) rename {static => public}/blog/how-do-unlockable-content-nfts-work-on-kodadot-2.webp (100%) rename {static => public}/blog/how-do-unlockable-content-nfts-work-on-kodadot-3.webp (100%) rename {static => public}/blog/how-do-unlockable-content-nfts-work-on-kodadot-4.webp (100%) rename {static => public}/blog/kodadot's-drop-page-explained-2.webp (100%) rename {static => public}/blog/kodadot's-drop-page-explained-3.webp (100%) rename {static => public}/blog/kodadot's-drop-page-explained-4.webp (100%) rename {static => public}/blog/kodadot's-drop-page-explained-5.webp (100%) rename {static => public}/blog/kodadot's-drop-page-explained-6.webp (100%) rename {static => public}/blog/kodadot's-drop-page-explained-7.webp (100%) rename {static => public}/blog/kodadot-products-exploring-the-new-horizon-of-nfts-1.webp (100%) rename {static => public}/blog/kodadot-products-exploring-the-new-horizon-of-nfts-2.webp (100%) rename {static => public}/blog/kodadot-products-exploring-the-new-horizon-of-nfts-3.webp (100%) rename {static => public}/blog/kodadot-products-exploring-the-new-horizon-of-nfts-4.webp (100%) rename {static => public}/blog/kodadot-products-exploring-the-new-horizon-of-nfts-5.webp (100%) rename {static => public}/blog/kodadots-drop-page-explained-1.webp (100%) rename {static => public}/blog/layer-2-scaling-solutions-unleashing-full-potential-of-nfts.webp (100%) rename {static => public}/blog/revolutionizing-digital-ownership-1.webp (100%) rename {static => public}/blog/revolutionizing-digital-ownership-2.webp (100%) rename {static => public}/blog/revolutionizing-digital-ownership-3.webp (100%) rename {static => public}/blog/revolutionizing-digital-ownership-4.webp (100%) rename {static => public}/blog/shaping-the-future-of-digital-collectibles-1.webp (100%) create mode 100644 public/blog/the-complete-guide-on-where-to-stake-polkadot.webp rename {static => public}/blog/the-creator-economy-a-deep-dive-into-fandom-shops-and-brand-loyalty.webp (100%) rename {static => public}/blog/the-power-of-polkadots-Asset-hub-Revolutionizing-asset-management.webp (100%) rename {static => public}/blog/understanding-cross-chain-nft-transfers-and-how-to-bridge-your-nft-to-another-blockchain.webp (100%) create mode 100644 public/blog/understanding-polkadot-a-deep-dive-into-the-innovative-multi-chain-protocol.webp rename {static => public}/blog/unravelling-the-mystery-where-to-buy-polkadot.webp (100%) rename {static => public}/blog/what-is-erc6551.webp (100%) rename {static => public}/blog/why-are-nfts-valuable-investment-1.webp (100%) rename {static => public}/blurred-landing-footer.png (100%) rename {static => public}/browserconfig.xml (100%) rename {static => public}/bsx-logo.png (100%) rename {static => public}/checkmark.svg (100%) rename {static => public}/congrats-message-header.svg (100%) rename {static => public}/drops/BlueShade.svg (100%) rename {static => public}/drops/PinkShade.svg (100%) rename {static => public}/drops/create_drop1.svg (100%) rename {static => public}/drops/create_drop2.svg (100%) rename {static => public}/drops/create_drop3.svg (100%) rename {static => public}/drops/create_drop4.svg (100%) rename {static => public}/empty-cart.png (100%) rename {static => public}/favicon-16x16.png (100%) rename {static => public}/favicon-32x32.png (100%) rename {static => public}/favicon.ico (100%) rename {static => public}/favicon.svg (100%) rename {static => public}/fonts/WorkSans-VariableFont_wght.ttf (100%) rename {static => public}/homepage-bg.png (100%) rename {static => public}/homepage-bg.webp (100%) rename {static => public}/icon.png (100%) rename {static => public}/icons/120x120.62fa86b5.png (100%) rename {static => public}/icons/120x120.maskable.62fa86b5.png (100%) rename {static => public}/icons/144x144.62fa86b5.png (100%) rename {static => public}/icons/144x144.maskable.62fa86b5.png (100%) rename {static => public}/icons/152x152.62fa86b5.png (100%) rename {static => public}/icons/152x152.maskable.62fa86b5.png (100%) rename {static => public}/icons/192x192.62fa86b5.png (100%) rename {static => public}/icons/192x192.maskable.62fa86b5.png (100%) rename {static => public}/icons/384x384.62fa86b5.png (100%) rename {static => public}/icons/384x384.maskable.62fa86b5.png (100%) rename {static => public}/icons/512x512.62fa86b5.png (100%) rename {static => public}/icons/512x512.maskable.62fa86b5.png (100%) rename {static => public}/icons/64x64.62fa86b5.png (100%) rename {static => public}/icons/64x64.maskable.62fa86b5.png (100%) rename {static => public}/infinity.svg (100%) rename {static => public}/k-search-enter.svg (100%) rename {static => public}/k_card.png (100%) rename {static => public}/k_card_collections.png (100%) rename {static => public}/k_card_gallery.png (100%) rename {static => public}/k_card_mint.png (100%) rename {static => public}/k_card_series.png (100%) rename {static => public}/k_card_spotlight.png (100%) rename {static => public}/koda300x300.svg (100%) rename {static => public}/kodadot_carbonless.jpg (100%) rename {static => public}/kodadot_card_root.png (100%) rename {static => public}/kodadot_preloader_1.svg (100%) rename {static => public}/landing-blurred-header-left.png (100%) rename {static => public}/landing-blurred-header-right.png (100%) rename {static => public}/landing-shape-header-left-dark.svg (100%) rename {static => public}/landing-shape-header-left-light.svg (100%) rename {static => public}/landing-shape-header-right-dark.svg (100%) rename {static => public}/landing-shape-header-right-light.svg (100%) rename {static => public}/minting-file-formats.png (100%) rename {static => public}/mstile-150x150.png (100%) rename {static => public}/partners/logo-clover.png (100%) rename {static => public}/partners/logo-enkrypt.png (100%) rename {static => public}/partners/logo-ledger.svg (100%) rename {static => public}/partners/logo-mathwallet.png (100%) rename {static => public}/partners/logo-nova.png (100%) rename {static => public}/partners/logo-polkadot-js.png (100%) rename {static => public}/partners/logo-subwallet.svg (100%) rename {static => public}/partners/logo-talisman.svg (100%) rename {static => public}/placeholder-white.webp (100%) rename {static => public}/placeholder.svg (100%) rename {static => public}/placeholder.webp (100%) rename {static => public}/preloader.svg (100%) rename {static => public}/profile-dark.svg (100%) rename {static => public}/profile.svg (100%) rename {static => public}/qrCode/discord.png (100%) rename {static => public}/qrCode/github.png (100%) rename {static => public}/qrCode/instagram.png (100%) rename {static => public}/qrCode/twitter.png (100%) rename {static => public}/rmrk-logo-pink-faded.png (100%) rename {static => public}/robots.txt (100%) rename {static => public}/safari-pinned-tab.svg (100%) rename {static => public}/search-k-keyboard.svg (100%) rename {static => public}/search-mobile-navbar-dark.svg (100%) rename {static => public}/search-mobile-navbar.svg (100%) rename {static => public}/shopping-cart-outline-sharp.svg (100%) rename {static => public}/shopping-cart-outline-sharp_dark.svg (100%) rename {static => public}/striked-out-cart-shopping.svg (100%) rename {static => public}/striked-out-cart-shopping_dark.svg (100%) rename {static => public}/subid.svg (100%) rename {static => public}/subscan.svg (100%) rename {static => public}/subsocial.svg (100%) rename {static => public}/timer.svg (100%) rename {static => public}/token/bsx.svg (100%) rename {static => public}/token/dot.svg (100%) rename {static => public}/token/ksm.svg (100%) rename {static => public}/unlockable-banner.svg (100%) rename {static => public}/unlockable-dark.svg (100%) rename {static => public}/unlockable-introduce.svg (100%) rename {static => public}/unlockable-loader.svg (100%) rename {static => public}/unlockable-pulse.svg (100%) rename {static => public}/unlockable.svg (100%) diff --git a/.eslintrc.js b/.eslintrc.js index ba43fc78bb..7af54cd2bc 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -17,6 +17,7 @@ module.exports = { }, plugins: ['prettier', '@typescript-eslint', 'unicorn'], rules: { + 'no-empty-function': 'warn', 'no-trailing-spaces': 'error', 'unicorn/no-for-loop': 'error', 'brace-style': ['error', '1tbs', { allowSingleLine: false }], diff --git a/styles/abstracts/_animations.scss b/assets/styles/abstracts/_animations.scss similarity index 100% rename from styles/abstracts/_animations.scss rename to assets/styles/abstracts/_animations.scss diff --git a/styles/abstracts/_derived-variables.scss b/assets/styles/abstracts/_derived-variables.scss similarity index 100% rename from styles/abstracts/_derived-variables.scss rename to assets/styles/abstracts/_derived-variables.scss diff --git a/styles/abstracts/_fonts.scss b/assets/styles/abstracts/_fonts.scss similarity index 100% rename from styles/abstracts/_fonts.scss rename to assets/styles/abstracts/_fonts.scss diff --git a/styles/abstracts/_initial-variables.scss b/assets/styles/abstracts/_initial-variables.scss similarity index 100% rename from styles/abstracts/_initial-variables.scss rename to assets/styles/abstracts/_initial-variables.scss diff --git a/styles/abstracts/_mixins.scss b/assets/styles/abstracts/_mixins.scss similarity index 100% rename from styles/abstracts/_mixins.scss rename to assets/styles/abstracts/_mixins.scss diff --git a/styles/abstracts/_theme.scss b/assets/styles/abstracts/_theme.scss similarity index 100% rename from styles/abstracts/_theme.scss rename to assets/styles/abstracts/_theme.scss diff --git a/styles/abstracts/_variables.scss b/assets/styles/abstracts/_variables.scss similarity index 100% rename from styles/abstracts/_variables.scss rename to assets/styles/abstracts/_variables.scss diff --git a/styles/base/_typography.scss b/assets/styles/base/_typography.scss similarity index 100% rename from styles/base/_typography.scss rename to assets/styles/base/_typography.scss diff --git a/styles/components/_button.scss b/assets/styles/components/_button.scss similarity index 100% rename from styles/components/_button.scss rename to assets/styles/components/_button.scss diff --git a/styles/components/_card.scss b/assets/styles/components/_card.scss similarity index 100% rename from styles/components/_card.scss rename to assets/styles/components/_card.scss diff --git a/styles/components/_carousel-arrows.scss b/assets/styles/components/_carousel-arrows.scss similarity index 100% rename from styles/components/_carousel-arrows.scss rename to assets/styles/components/_carousel-arrows.scss diff --git a/styles/components/_carousel.scss b/assets/styles/components/_carousel.scss similarity index 100% rename from styles/components/_carousel.scss rename to assets/styles/components/_carousel.scss diff --git a/styles/components/_collection-card.scss b/assets/styles/components/_collection-card.scss similarity index 100% rename from styles/components/_collection-card.scss rename to assets/styles/components/_collection-card.scss diff --git a/styles/components/_collection.scss b/assets/styles/components/_collection.scss similarity index 100% rename from styles/components/_collection.scss rename to assets/styles/components/_collection.scss diff --git a/styles/components/_connect-wallet.scss b/assets/styles/components/_connect-wallet.scss similarity index 100% rename from styles/components/_connect-wallet.scss rename to assets/styles/components/_connect-wallet.scss diff --git a/styles/components/_content-markdown.scss b/assets/styles/components/_content-markdown.scss similarity index 78% rename from styles/components/_content-markdown.scss rename to assets/styles/components/_content-markdown.scss index b19e1052ed..920a79f8da 100644 --- a/styles/components/_content-markdown.scss +++ b/assets/styles/components/_content-markdown.scss @@ -1,5 +1,5 @@ @import '~/node_modules/highlight.js/styles/github-dark.css'; -@import '@/styles/abstracts/variables'; +@import '@/assets/styles/abstracts/variables'; .content-markdown { pre.hljs { diff --git a/styles/components/_gallery-item.scss b/assets/styles/components/_gallery-item.scss similarity index 100% rename from styles/components/_gallery-item.scss rename to assets/styles/components/_gallery-item.scss diff --git a/styles/components/_keyboard-shortcut.scss b/assets/styles/components/_keyboard-shortcut.scss similarity index 100% rename from styles/components/_keyboard-shortcut.scss rename to assets/styles/components/_keyboard-shortcut.scss diff --git a/styles/components/_modal.scss b/assets/styles/components/_modal.scss similarity index 100% rename from styles/components/_modal.scss rename to assets/styles/components/_modal.scss diff --git a/styles/components/_price-chart.scss b/assets/styles/components/_price-chart.scss similarity index 100% rename from styles/components/_price-chart.scss rename to assets/styles/components/_price-chart.scss diff --git a/styles/components/_scroll-to-top-button.scss b/assets/styles/components/_scroll-to-top-button.scss similarity index 100% rename from styles/components/_scroll-to-top-button.scss rename to assets/styles/components/_scroll-to-top-button.scss diff --git a/styles/components/_search.scss b/assets/styles/components/_search.scss similarity index 100% rename from styles/components/_search.scss rename to assets/styles/components/_search.scss diff --git a/styles/components/_tippy.scss b/assets/styles/components/_tippy.scss similarity index 100% rename from styles/components/_tippy.scss rename to assets/styles/components/_tippy.scss diff --git a/styles/components/_toast.scss b/assets/styles/components/_toast.scss similarity index 100% rename from styles/components/_toast.scss rename to assets/styles/components/_toast.scss diff --git a/styles/components/_top-collections.scss b/assets/styles/components/_top-collections.scss similarity index 100% rename from styles/components/_top-collections.scss rename to assets/styles/components/_top-collections.scss diff --git a/styles/global.scss b/assets/styles/global.scss similarity index 100% rename from styles/global.scss rename to assets/styles/global.scss diff --git a/styles/index.scss b/assets/styles/index.scss similarity index 96% rename from styles/index.scss rename to assets/styles/index.scss index 0c959beca9..1aaa2cffed 100644 --- a/styles/index.scss +++ b/assets/styles/index.scss @@ -6,7 +6,7 @@ @import "abstracts/theme"; // FRAMEWORK (note: don't move this on top) -@import "~bulma"; +@import "bulma/bulma.sass"; // GLOBAL @import "./global.scss"; diff --git a/styles/layouts/_footer.scss b/assets/styles/layouts/_footer.scss similarity index 100% rename from styles/layouts/_footer.scss rename to assets/styles/layouts/_footer.scss diff --git a/styles/layouts/_main-navigation.scss b/assets/styles/layouts/_main-navigation.scss similarity index 100% rename from styles/layouts/_main-navigation.scss rename to assets/styles/layouts/_main-navigation.scss diff --git a/components/CookieBanner.vue b/components/CookieBanner.vue index 34512e83dc..55cea78e01 100644 --- a/components/CookieBanner.vue +++ b/components/CookieBanner.vue @@ -14,12 +14,16 @@ @@ -28,6 +32,7 @@ + diff --git a/components/bsx/Create/CreateToken.vue b/components/bsx/Create/CreateToken.vue index 6ccd2b8c14..fcc23c2f4a 100644 --- a/components/bsx/Create/CreateToken.vue +++ b/components/bsx/Create/CreateToken.vue @@ -1,4 +1,5 @@ - From 83df34cb75f3773464d35c7024492d591ca4a162 Mon Sep 17 00:00:00 2001 From: Matej yangwao <5887929+yangwao@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:50:30 +0200 Subject: [PATCH 015/507] Update composables/useRamp.ts --- composables/useRamp.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/composables/useRamp.ts b/composables/useRamp.ts index 64ebf62f93..7fd3284421 100644 --- a/composables/useRamp.ts +++ b/composables/useRamp.ts @@ -34,6 +34,7 @@ export default function useRamp() { hostApiKey: rampApiKey, hostLogoUrl: HOST_LOGO_URL, variant, + url: 'https://app.demo.ramp.network', }) if (showAfterInit) { From 84164ae18a5f731c1e86923e305383d436114a16 Mon Sep 17 00:00:00 2001 From: Matej yangwao <5887929+yangwao@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:51:43 +0200 Subject: [PATCH 016/507] Update components/common/ConnectWallet/WalletAssetPortfolio.vue --- components/common/ConnectWallet/WalletAssetPortfolio.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/components/common/ConnectWallet/WalletAssetPortfolio.vue b/components/common/ConnectWallet/WalletAssetPortfolio.vue index af3286af10..a0bd7e20f3 100644 --- a/components/common/ConnectWallet/WalletAssetPortfolio.vue +++ b/components/common/ConnectWallet/WalletAssetPortfolio.vue @@ -28,7 +28,6 @@ const showRampSDK = () => { initRampInstant({ defaultAsset: 'KSM', address: accountId.value, - url: 'https://app.demo.ramp.network', }) } From c783e50ead122dec50488615117eb7764f3e5b06 Mon Sep 17 00:00:00 2001 From: roiLeo Date: Mon, 28 Aug 2023 16:11:57 +0200 Subject: [PATCH 017/507] =?UTF-8?q?=F0=9F=94=A7=20Spotlight,=20TopCollecti?= =?UTF-8?q?on=20&=20Landing=20stuff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/{common => }/ColorModeButton.vue | 0 components/Navbar.vue | 8 +-- .../carousel/module/CarouselAgnostic.vue | 2 + .../carousel/utils/useCarouselEvents.ts | 55 ++++++++++--------- .../carousel/utils/useCarouselSpotlight.ts | 14 ++--- components/landing/LandingPage.vue | 8 +-- .../topCollections/TopCollectionsItem.vue | 2 +- .../topCollections/utils/useTopCollections.ts | 36 +++++------- composables/useTheme.ts | 8 +-- 9 files changed, 64 insertions(+), 69 deletions(-) rename components/{common => }/ColorModeButton.vue (100%) diff --git a/components/common/ColorModeButton.vue b/components/ColorModeButton.vue similarity index 100% rename from components/common/ColorModeButton.vue rename to components/ColorModeButton.vue diff --git a/components/Navbar.vue b/components/Navbar.vue index d6a28df712..11e66291f6 100644 --- a/components/Navbar.vue +++ b/components/Navbar.vue @@ -188,7 +188,7 @@ diff --git a/components/identity/module/IdentityChain.vue b/components/identity/module/IdentityChain.vue index dbc317f47b..f6ecdd4e70 100644 --- a/components/identity/module/IdentityChain.vue +++ b/components/identity/module/IdentityChain.vue @@ -16,7 +16,7 @@ @@ -18,6 +19,7 @@ import '@google/model-viewer' defineProps<{ animationSrc: string + disableOperation?: boolean }>() diff --git a/libs/ui/src/components/NeoNftCard/NeoNftCard.vue b/libs/ui/src/components/NeoNftCard/NeoNftCard.vue index 3919c1a86a..c58c63b3f3 100644 --- a/libs/ui/src/components/NeoNftCard/NeoNftCard.vue +++ b/libs/ui/src/components/NeoNftCard/NeoNftCard.vue @@ -17,7 +17,8 @@ :animation-src="nft.animationUrl" :mime-type="nft.mimeType" :placeholder="placeholder" - :title="nft?.name" /> + :title="nft?.name" + disable-operation />
From 892a7c35a76e1e6a789e5c259bf4717d9d24cdb8 Mon Sep 17 00:00:00 2001 From: Jarsen <31397967+Jarsen136@users.noreply.github.com> Date: Mon, 2 Oct 2023 15:43:56 +0800 Subject: [PATCH 285/507] fix: disable zoom --- libs/ui/src/components/MediaItem/MediaItem.vue | 1 + libs/ui/src/components/MediaItem/type/ModelMedia.vue | 1 - nuxt.config.js | 3 +++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/ui/src/components/MediaItem/MediaItem.vue b/libs/ui/src/components/MediaItem/MediaItem.vue index f8a7162f86..6ea92d4bc0 100644 --- a/libs/ui/src/components/MediaItem/MediaItem.vue +++ b/libs/ui/src/components/MediaItem/MediaItem.vue @@ -72,6 +72,7 @@ const props = withDefaults( isLewd: false, isDetail: false, placeholder: '', + disableOperation: undefined, } ) // props.mimeType may be empty string "". Add `image/png` as fallback diff --git a/libs/ui/src/components/MediaItem/type/ModelMedia.vue b/libs/ui/src/components/MediaItem/type/ModelMedia.vue index 9118935af3..15d28d4a36 100644 --- a/libs/ui/src/components/MediaItem/type/ModelMedia.vue +++ b/libs/ui/src/components/MediaItem/type/ModelMedia.vue @@ -16,7 +16,6 @@ From cf784f32110650bafb7fd2602616cbaa812305cf Mon Sep 17 00:00:00 2001 From: Preschian Febryantara Date: Mon, 2 Oct 2023 17:41:27 +0700 Subject: [PATCH 295/507] chore: i18n enable html. adjust type=submit --- components/create/CreateCollection.vue | 2 +- components/create/CreateNft.vue | 8 +++++--- components/shared/form/BasicSwitch.vue | 6 +++--- libs/ui/package.json | 6 +++--- libs/ui/src/components/NeoButton/NeoButton.vue | 2 +- pnpm-lock.yaml | 10 +++++----- utils/config/i18n.ts | 2 ++ 7 files changed, 20 insertions(+), 16 deletions(-) diff --git a/components/create/CreateCollection.vue b/components/create/CreateCollection.vue index b7b60274ba..687370dc44 100644 --- a/components/create/CreateCollection.vue +++ b/components/create/CreateCollection.vue @@ -132,7 +132,7 @@ - + @@ -173,7 +175,7 @@ import type { Prefix } from '@kodadot1/static' -import type { Ref } from 'vue/types' +import type { Ref } from 'vue' import type { TokenToList } from '@/composables/transaction/types' import ChooseCollectionDropdown from '@/components/common/ChooseCollectionDropdown.vue' import { diff --git a/components/shared/form/BasicSwitch.vue b/components/shared/form/BasicSwitch.vue index 2ec58aeb3b..a1f4b07e3f 100644 --- a/components/shared/form/BasicSwitch.vue +++ b/components/shared/form/BasicSwitch.vue @@ -19,7 +19,7 @@ import { NeoField, NeoSwitch, NeoTooltip } from '@kodadot1/brick' const props = defineProps<{ - value: boolean + modelValue: boolean label: string offLabel?: string size?: string @@ -32,7 +32,7 @@ const props = defineProps<{ const { $i18n } = useNuxtApp() const emit = defineEmits(['input']) -const isSwitched = useVModel(props, 'value', emit, { eventName: 'input' }) +const isSwitched = useVModel(props, 'modelValue', emit, { eventName: 'input' }) const componentName = computed(() => { return props.message ? NeoTooltip : 'span' @@ -40,6 +40,6 @@ const componentName = computed(() => { const properLabel = computed(() => { const offLabel = props.offLabel || props.label - return $i18n.t(props.value ? props.label : offLabel) + return $i18n.t(props.modelValue ? props.label : offLabel) }) diff --git a/libs/ui/package.json b/libs/ui/package.json index 625c062b55..c11e53ae4d 100644 --- a/libs/ui/package.json +++ b/libs/ui/package.json @@ -11,17 +11,17 @@ }, "devDependencies": { "@histoire/plugin-vue": "^0.16.1", + "@oruga-ui/oruga-next": "^0.7.0", "@vitejs/plugin-vue": "^4.2.3", - "@oruga-ui/oruga-next": "^0.6.0", "eslint": "^8.49.0", "eslint-plugin-vue": "^8.7.1", "histoire": "^0.16.2", "vite": "^4.2.0" }, "dependencies": { + "@google/model-viewer": "^1.12.1", "bulma": "0.9.4", "vue": "^3.2.47", - "vue-audio-visual": "2.5.0", - "@google/model-viewer": "^1.12.1" + "vue-audio-visual": "2.5.0" } } diff --git a/libs/ui/src/components/NeoButton/NeoButton.vue b/libs/ui/src/components/NeoButton/NeoButton.vue index 141b957113..d4837e61ab 100644 --- a/libs/ui/src/components/NeoButton/NeoButton.vue +++ b/libs/ui/src/components/NeoButton/NeoButton.vue @@ -16,7 +16,7 @@ class="is-neo" :rounded="rounded" :tag="tag" - v-bind="$attrs"> + v-bind="$props"> diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05887a72dd..1211dbed5f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.1' +lockfileVersion: '6.0' settings: autoInstallPeers: false @@ -368,8 +368,8 @@ importers: specifier: ^0.16.1 version: 0.16.1(histoire@0.16.2)(vite@4.4.9)(vue@3.3.4) '@oruga-ui/oruga-next': - specifier: ^0.6.0 - version: 0.6.0(vue@3.3.4) + specifier: ^0.7.0 + version: 0.7.0(vue@3.3.4) '@vitejs/plugin-vue': specifier: ^4.2.3 version: 4.2.3(vite@4.4.9)(vue@3.3.4) @@ -3759,8 +3759,8 @@ packages: lodash.merge: 4.6.2 dev: false - /@oruga-ui/oruga-next@0.6.0(vue@3.3.4): - resolution: {integrity: sha512-M1Y5PgCWBUDmQGH74cgzrp3vKaRFdHVtGNr0DwejeJGScB7Q6jodW4xgCz6K4hajLgHW6zxz/3ukpC4ZczlfaQ==} + /@oruga-ui/oruga-next@0.7.0(vue@3.3.4): + resolution: {integrity: sha512-T2KnNhGzgqv/Xzu4Efx3wnYahANcP6Z7Yc8DHOFIOLrM+ZDdTS9OjL3gofBVDrDBRg1DQv6EvsSsNkwMR88LpA==} peerDependencies: vue: ^3.0.0 dependencies: diff --git a/utils/config/i18n.ts b/utils/config/i18n.ts index 7cf99edfa8..b60cfd8f4f 100644 --- a/utils/config/i18n.ts +++ b/utils/config/i18n.ts @@ -52,4 +52,6 @@ export default defineI18nConfig(() => ({ common: (str) => str.split('.').reduce((o, i) => o[i], commonData), }, messages: getMessages(), + warnHtmlInMessage: false, + warnHtmlMessage: false, })) From bb7ec5080cb54a6c0a2202b586e2b5bfcd54658b Mon Sep 17 00:00:00 2001 From: Nick Dev Date: Mon, 2 Oct 2023 14:18:46 +0300 Subject: [PATCH 296/507] toast: download error --- locales/en.json | 3 ++- utils/download.ts | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/locales/en.json b/locales/en.json index b5346bc816..79f1b3cfb1 100644 --- a/locales/en.json +++ b/locales/en.json @@ -1079,7 +1079,8 @@ }, "toast": { "urlCopy": "URL copied to clipboard ✓", - "paymentLinkCopy": "Payment link copied to clipboard" + "paymentLinkCopy": "Payment link copied to clipboard", + "downloadError": "Unable to download image" }, "profileMenu": { "darkMode": "Dark Mode", diff --git a/utils/download.ts b/utils/download.ts index c765cfb146..d06f1b4aa1 100644 --- a/utils/download.ts +++ b/utils/download.ts @@ -3,7 +3,8 @@ export const downloadImage = async (imageSrc: string, name = 'unnamed') => { return } - const { $consola } = useNuxtApp() + const { $i18n, $consola } = useNuxtApp() + const { toast } = useToast() try { const { data } = await useFetch(imageSrc) @@ -22,6 +23,7 @@ export const downloadImage = async (imageSrc: string, name = 'unnamed') => { return link } catch (error) { $consola.warn('[ERR] unable to fetch image') + toast($i18n.t('toast.downloadError')) return } } From d1dca4106807aca5701f373ef1a9eca028939fc6 Mon Sep 17 00:00:00 2001 From: Matej yangwao <5887929+yangwao@users.noreply.github.com> Date: Mon, 2 Oct 2023 14:42:29 +0200 Subject: [PATCH 297/507] Update components/create/CreateCollection.vue Co-authored-by: roiLeo --- components/create/CreateCollection.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/create/CreateCollection.vue b/components/create/CreateCollection.vue index 687370dc44..94e6e8968e 100644 --- a/components/create/CreateCollection.vue +++ b/components/create/CreateCollection.vue @@ -132,7 +132,7 @@ Date: Mon, 2 Oct 2023 14:42:34 +0200 Subject: [PATCH 298/507] Update components/create/CreateNft.vue Co-authored-by: roiLeo --- components/create/CreateNft.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/create/CreateNft.vue b/components/create/CreateNft.vue index 01ff1bd48a..f665aae6be 100644 --- a/components/create/CreateNft.vue +++ b/components/create/CreateNft.vue @@ -175,7 +175,7 @@ Date: Mon, 2 Oct 2023 20:52:44 +0800 Subject: [PATCH 299/507] fix: Remove Paybis from fiat-on ramp modal --- components/shared/OnRampModal.vue | 7 ------- 1 file changed, 7 deletions(-) diff --git a/components/shared/OnRampModal.vue b/components/shared/OnRampModal.vue index 90ff23d5a2..fc2a9bcc7c 100644 --- a/components/shared/OnRampModal.vue +++ b/components/shared/OnRampModal.vue @@ -73,7 +73,6 @@ import { showNotification } from '@/utils/notification' enum Provider { TRANSAK, - PAYBIS, RAMP, } @@ -113,12 +112,6 @@ const providers = computed(() => [ supports: ['DOT', 'KSM'], value: Provider.RAMP, }, - { - image: getImage('paybis'), - disabled: true, - supports: ['DOT'], - value: Provider.PAYBIS, - }, ]) const onClose = () => { From ae7a21a7d4a3985a8fc985d1790865fd47b62e3a Mon Sep 17 00:00:00 2001 From: daiagi Date: Mon, 2 Oct 2023 20:05:06 +0700 Subject: [PATCH 300/507] use menu class --- components/navbar/ProfileDropdown.vue | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/components/navbar/ProfileDropdown.vue b/components/navbar/ProfileDropdown.vue index fe09bd726b..361ba01ae2 100644 --- a/components/navbar/ProfileDropdown.vue +++ b/components/navbar/ProfileDropdown.vue @@ -12,7 +12,7 @@ diff --git a/libs/ui/src/components/NeoNftCard/NeoNftCard.vue b/libs/ui/src/components/NeoNftCard/NeoNftCard.vue index f935e0d9f4..cc6b0053cb 100644 --- a/libs/ui/src/components/NeoNftCard/NeoNftCard.vue +++ b/libs/ui/src/components/NeoNftCard/NeoNftCard.vue @@ -74,12 +74,12 @@ + + From b53d6449b5bd5f7b692a82ee057f75ad6feb5ae6 Mon Sep 17 00:00:00 2001 From: hassnian Date: Tue, 3 Oct 2023 11:21:22 +0500 Subject: [PATCH 321/507] fix: list cart multiple items --- .../ListingCartMultipleItemsCart.vue | 14 +++----------- .../listingCart/shared/ListingCartPriceInput.vue | 1 + 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/components/common/listingCart/multipleItemsCart/ListingCartMultipleItemsCart.vue b/components/common/listingCart/multipleItemsCart/ListingCartMultipleItemsCart.vue index 5b1e6429dc..75439ad710 100644 --- a/components/common/listingCart/multipleItemsCart/ListingCartMultipleItemsCart.vue +++ b/components/common/listingCart/multipleItemsCart/ListingCartMultipleItemsCart.vue @@ -32,11 +32,7 @@ import ListingCartItem from './ListingCartItem.vue' import ListingCartPriceInput from '../shared/ListingCartPriceInput.vue' import ListingCartFloorPrice from '../shared/ListingCartFloorPrice.vue' -const emit = defineEmits([ - 'update:fixedPrice', - 'update:floorPricePercentAdjustment', - 'setFixedPrice', -]) +const emit = defineEmits(['update:fixedPrice', 'setFixedPrice']) const listingCartStore = useListingCartStore() @@ -47,14 +43,10 @@ const props = defineProps<{ const floorPricePercentAdjustment = useVModel( props, - 'floorPricePercentAdjustment', - emit, - { eventName: 'update:floorPricePercentAdjustment' } + 'floorPricePercentAdjustment' ) -const fixedPrice = useVModel(props, 'fixedPrice', emit, { - eventName: 'update:fixedPrice', -}) +const fixedPrice = useVModel(props, 'fixedPrice') function setFixedPrice(value) { emit('setFixedPrice', value) diff --git a/components/common/listingCart/shared/ListingCartPriceInput.vue b/components/common/listingCart/shared/ListingCartPriceInput.vue index 7a3e141149..8f02b0d85f 100644 --- a/components/common/listingCart/shared/ListingCartPriceInput.vue +++ b/components/common/listingCart/shared/ListingCartPriceInput.vue @@ -14,6 +14,7 @@ v-if="check" no-shadow class="shade-border-color ml-2 height-40" + icon-pack="fas" icon="check" @click="emit('confirm')" />
From c1fe652f3cb3a7d4da93bc39e0944b67127462b6 Mon Sep 17 00:00:00 2001 From: Preschian Febryantara Date: Tue, 3 Oct 2023 13:24:41 +0700 Subject: [PATCH 322/507] fix: switch prefetch with distance --- composables/useListInfiniteScroll.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/composables/useListInfiniteScroll.ts b/composables/useListInfiniteScroll.ts index 07e35f3f11..33f751301c 100644 --- a/composables/useListInfiniteScroll.ts +++ b/composables/useListInfiniteScroll.ts @@ -42,11 +42,17 @@ export default function ({ const containerRef = ref(window) - useInfiniteScroll(containerRef, () => { - if (canLoadNextPage.value) { - reachBottomHandler() - } - }) + useInfiniteScroll( + containerRef, + () => { + if (canLoadNextPage.value) { + reachBottomHandler() + } + }, + { + distance: 1600, + }, + ) const scrollContainerId = ref( defaultScrollContainerId ?? INFINITE_SCROLL_CONTAINER_ID, From 1b29f964fdfcec484bdb8df7eb8c3749a93d70ca Mon Sep 17 00:00:00 2001 From: Preschian Febryantara Date: Tue, 3 Oct 2023 13:27:09 +0700 Subject: [PATCH 323/507] fix: empty results --- components/items/Items.vue | 8 +------- components/items/ItemsGrid/ItemsGrid.vue | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/components/items/Items.vue b/components/items/Items.vue index 87494ec792..cead8c26c8 100644 --- a/components/items/Items.vue +++ b/components/items/Items.vue @@ -1,7 +1,7 @@ From 4665ccfd928ded0e4b136d4cca36f596122b8635 Mon Sep 17 00:00:00 2001 From: Preschian Febryantara Date: Tue, 3 Oct 2023 13:27:25 +0700 Subject: [PATCH 324/507] fix: empty results --- components/items/ItemsGrid/ItemsGrid.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/items/ItemsGrid/ItemsGrid.vue b/components/items/ItemsGrid/ItemsGrid.vue index 46045c28f0..556329fa2e 100644 --- a/components/items/ItemsGrid/ItemsGrid.vue +++ b/components/items/ItemsGrid/ItemsGrid.vue @@ -30,7 +30,7 @@ class="my-5"> - + From 39bdc73e9562885de0138b81cb057ba9cec3bceb Mon Sep 17 00:00:00 2001 From: Preschian Febryantara Date: Tue, 3 Oct 2023 13:41:27 +0700 Subject: [PATCH 325/507] chore: distance 1000 --- composables/useListInfiniteScroll.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composables/useListInfiniteScroll.ts b/composables/useListInfiniteScroll.ts index 33f751301c..9a27839d27 100644 --- a/composables/useListInfiniteScroll.ts +++ b/composables/useListInfiniteScroll.ts @@ -50,7 +50,7 @@ export default function ({ } }, { - distance: 1600, + distance: 1000, }, ) From 267661230a28fb070f64125b693a72e716a17fdf Mon Sep 17 00:00:00 2001 From: daiagi Date: Tue, 3 Oct 2023 13:44:34 +0700 Subject: [PATCH 326/507] revert back to unstacked nft cards --- components/items/ItemsGrid/ItemsGridImage.vue | 73 ++++++------------- components/items/ItemsGrid/useItemsGrid.ts | 44 +++-------- composables/useNft.ts | 6 -- .../src/components/NeoNftCard/NeoNftCard.vue | 5 +- .../subsquid/ahk/nftListWithSearch.graphql | 69 ------------------ 5 files changed, 34 insertions(+), 163 deletions(-) delete mode 100644 queries/subsquid/ahk/nftListWithSearch.graphql diff --git a/components/items/ItemsGrid/ItemsGridImage.vue b/components/items/ItemsGrid/ItemsGridImage.vue index a4579ea9d7..443fb0d92c 100644 --- a/components/items/ItemsGrid/ItemsGridImage.vue +++ b/components/items/ItemsGrid/ItemsGridImage.vue @@ -19,7 +19,7 @@ :media-player-cover="mediaPlayerCover" media-hover-on-cover-play> @@ -49,5 +47,8 @@ const floor = computed(() => formatBalance(props.nft.collection.floor, decimals.value, chainSymbol.value) ) -const setPrice = (id, price) => listingCartStore.setItemPrice({ id, price }) +const listingCartItem = computed({ + get: () => listingCartStore.getItem(props.nft.id).listPrice, + set: (price) => listingCartStore.setItemPrice({ id: props.nft.id, price }), +}) From d706591ec14ea41ce57e3d3cd2f33983481d5caa Mon Sep 17 00:00:00 2001 From: roiLeo Date: Tue, 3 Oct 2023 12:00:22 +0200 Subject: [PATCH 341/507] =?UTF-8?q?=F0=9F=94=A7=20Identity=20Popover?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/identity/module/IdentityPopover.vue | 3 ++- components/identity/utils/useIdentityStats.ts | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/components/identity/module/IdentityPopover.vue b/components/identity/module/IdentityPopover.vue index de67dbc705..d8db9f8e77 100644 --- a/components/identity/module/IdentityPopover.vue +++ b/components/identity/module/IdentityPopover.vue @@ -3,6 +3,7 @@ class="tippy-container" interactive :animate-fill="false" + :append-to="body" boundary="viewport" placement="bottom" :delay="0" @@ -25,7 +26,7 @@ import IdentityPopoverHeader from './IdentityPopoverHeader.vue' import IdentityPopoverFooter from './IdentityPopoverFooter.vue' const address = inject('address') - +const body = ref(document.body) const { nftEntities } = useIdentitySoldData({ address, }) diff --git a/components/identity/utils/useIdentityStats.ts b/components/identity/utils/useIdentityStats.ts index eb87c3c915..e9bac99b79 100644 --- a/components/identity/utils/useIdentityStats.ts +++ b/components/identity/utils/useIdentityStats.ts @@ -35,9 +35,9 @@ const useLastBought = ({ address }) => { const whichData = ({ data, type }) => { const totalCount = { - created: data?.created?.totalCount || data?.totalCreated, - collected: data?.collected?.totalCount || data?.totalCollected, - sold: data?.sold?.totalCount || data?.totalSold, + created: data.value?.created?.totalCount || data.value?.totalCreated, + collected: data.value?.collected?.totalCount || data.value?.totalCollected, + sold: data.value?.sold?.totalCount || data.value?.totalSold, } return totalCount[type] || 0 From bba609f63877dbbada9e44188fa2b67db47a51bb Mon Sep 17 00:00:00 2001 From: Preschian Febryantara Date: Tue, 3 Oct 2023 17:10:04 +0700 Subject: [PATCH 342/507] fix: adjust isLandingPage --- components/Navbar.vue | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/components/Navbar.vue b/components/Navbar.vue index bf7a4b6476..d4fc5e6e2b 100644 --- a/components/Navbar.vue +++ b/components/Navbar.vue @@ -228,14 +228,17 @@ const route = useRoute() const account = computed(() => identityStore.getAuthAddress) const isCreateVisible = computed(() => createVisible(urlPrefix.value)) -const isLandingPage = computed(() => route.name === 'index') +const isLandingPage = computed( + () => route.name === 'index' || route.name === 'prefix', +) const logoSrc = computed(() => - isDarkMode.value ? '/Koda_Beta_dark.svg' : '/Koda_Beta.svg' + isDarkMode.value ? '/Koda_Beta_dark.svg' : '/Koda_Beta.svg', ) const showSearchOnNavbar = computed( - () => !isLandingPage.value || !showTopNavbar.value || isBurgerMenuOpened.value + () => + !isLandingPage.value || !showTopNavbar.value || isBurgerMenuOpened.value, ) const handleMobileChainSelect = () => { From d52aad915f44d1e666f4cddc3ca3498f478f8763 Mon Sep 17 00:00:00 2001 From: Preschian Febryantara Date: Tue, 3 Oct 2023 17:14:53 +0700 Subject: [PATCH 343/507] revert: readd onbeforemount --- pages/[prefix]/index.vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pages/[prefix]/index.vue b/pages/[prefix]/index.vue index 4f38ea607e..456e476953 100644 --- a/pages/[prefix]/index.vue +++ b/pages/[prefix]/index.vue @@ -8,4 +8,10 @@ import LandingPage from '@/components/landing/LandingPage.vue' definePageMeta({ layout: 'full-width-layout', }) + +const router = useRouter() + +onBeforeMount(() => { + router.replace('/') +}) From 32774669d7a53ddc75a429fe497d895f67ccdbe6 Mon Sep 17 00:00:00 2001 From: hassnian Date: Tue, 3 Oct 2023 15:24:25 +0500 Subject: [PATCH 344/507] add: extract tab count query --- components/profile/ProfileActivitySummery.vue | 21 ------- components/profile/ProfileDetail.vue | 44 ++++++++++++--- queries/profileStatsById.graphql | 43 +-------------- queries/profileTabCounts.graphql | 55 +++++++++++++++++++ .../subsquid/general/profileStatsById.graphql | 42 +------------- .../subsquid/general/profileTabCounts.graphql | 55 +++++++++++++++++++ 6 files changed, 148 insertions(+), 112 deletions(-) create mode 100644 queries/profileTabCounts.graphql create mode 100644 queries/subsquid/general/profileTabCounts.graphql diff --git a/components/profile/ProfileActivitySummery.vue b/components/profile/ProfileActivitySummery.vue index 534082b515..b2014e31f4 100644 --- a/components/profile/ProfileActivitySummery.vue +++ b/components/profile/ProfileActivitySummery.vue @@ -64,19 +64,16 @@ diff --git a/components/collection/CollectionInfo.vue b/components/collection/CollectionInfo.vue index 8bea6d50f1..bd49a77977 100644 --- a/components/collection/CollectionInfo.vue +++ b/components/collection/CollectionInfo.vue @@ -3,7 +3,7 @@ class="is-flex is-justify-content-space-between mobile-flex-direction-column gap">
-
+
{{ $t('activity.creator') }}
@@ -55,7 +55,6 @@ import CollectionInfoLine from './collectionInfoLine.vue' import CommonTokenMoney from '@/components/shared/CommonTokenMoney.vue' import IdentityIndex from '@/components/identity/IdentityIndex.vue' import HeroButtons from '@/components/collection/HeroButtons.vue' -import Markdown from '@/components/shared/Markdown.vue' import { NeoButton } from '@kodadot1/brick' import { @@ -98,12 +97,10 @@ const visibleDescription = computed(() => { ) }) -// watch(collectionId, getData, { immediate: true }) - const { collection: collectionInfo } = useCollectionMinimal({ collectionId: collectionId.value, }) -const { stats: stats } = useCollectionDetails({ +const { stats } = useCollectionDetails({ collectionId: collectionId.value, }) diff --git a/components/collection/utils/useCollectionDetails.ts b/components/collection/utils/useCollectionDetails.ts index f9cc1b85c4..ff62986fff 100644 --- a/components/collection/utils/useCollectionDetails.ts +++ b/components/collection/utils/useCollectionDetails.ts @@ -82,8 +82,8 @@ export const useBuyEvents = ({ collectionId }) => { }, }) const highestBuyPrice = ref(0) - watch(data, (data) => { - const max = data?.value?.stats?.[0]?.max + watch(data, (result) => { + const max = result?.stats?.[0]?.max if (max) { highestBuyPrice.value = parseInt(max) } @@ -125,8 +125,8 @@ export const useCollectionMinimal = ({ collectionId }) => { }) watch(data, (result) => { - if (result?.value.collectionEntityById) { - collection.value = result.value.collectionEntityById + if (result?.collectionEntityById) { + collection.value = result.collectionEntityById } }) diff --git a/layouts/explore-layout.vue b/layouts/explore-layout.vue index e9b29e525a..ee50d439ff 100644 --- a/layouts/explore-layout.vue +++ b/layouts/explore-layout.vue @@ -62,7 +62,7 @@ useHead({ const isExplore = computed(() => route.path.includes('/explore')) const isCollection = computed(() => - route.name?.includes('prefix-collection-id') + route.name?.toString().includes('prefix-collection-id') ) From 00d058de9b4ca305f6895a8742e13aab84150cbc Mon Sep 17 00:00:00 2001 From: Preschian Febryantara Date: Wed, 4 Oct 2023 17:26:03 +0700 Subject: [PATCH 359/507] fix: import neo icon --- components/rmrk/Gallery/GalleryCard.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/components/rmrk/Gallery/GalleryCard.vue b/components/rmrk/Gallery/GalleryCard.vue index b8e452033b..a0e2fecb2e 100644 --- a/components/rmrk/Gallery/GalleryCard.vue +++ b/components/rmrk/Gallery/GalleryCard.vue @@ -43,6 +43,7 @@ diff --git a/libs/ui/src/components/MediaItem/type/IFrameMedia.vue b/libs/ui/src/components/MediaItem/type/IFrameMedia.vue index 3119054f3d..314f4d8541 100644 --- a/libs/ui/src/components/MediaItem/type/IFrameMedia.vue +++ b/libs/ui/src/components/MediaItem/type/IFrameMedia.vue @@ -1,11 +1,11 @@