diff --git a/.github/diagram.svg b/.github/diagram.svg index 4f67a3cfcf..c7789877d1 100644 --- a/.github/diagram.svg +++ b/.github/diagram.svg @@ -1 +1 @@ -utilsutilsteststestsstoresstoresqueriesqueriespagespageslibslibscomposablescomposablescomponentscomponentspublicpublicconfigconfige2ee2esubsquidsubsquid[prefix][prefix]uiuistaticstatictransactiontransactionmassmintmassminttransfertransfersharedsharedsearchsearchrmrkrmrkprofileprofilenavbarnavbarmigratemigratemassmintmassmintlandinglandingitemsitemsidentityidentitygallerygalleryexploreexplorecreatecreatecommoncommoncollectioncollectioncarouselcarouselbsxbsxblogbloggeneralgeneralsrcsrcfiltersfiltersGalleryGallerystepsstepslandinglandingItemsGridItemsGridlistingCartlistingCartunlockableunlockabledropdropactivityactivityOfferOffercomponentscomponentsmodulesmoduleseventseventsMediaItemMediaItem.ahk.csv.filters.graphql.js.mjs.scss.tab.ts.txt.ui.vue.xml.yamleach dot sized by file size \ No newline at end of file +utilsutilsteststestsstoresstoresqueriesqueriespluginspluginsparamsparamspagespageslibslibslayoutslayoutscomposablescomposablescomponentscomponentspublicpublicconfigconfigapiapie2ee2esubsquidsubsquid[prefix][prefix]uiuistaticstatictransactiontransactionmassmintmassminttransfertransfersharedsharedseriesseriessearchsearchrmrkrmrkprofileprofilenavbarnavbarmigratemigratemassmintmassmintlandinglandingitemsitemsidentityidentitygallerygalleryexploreexploredropsdropscreatecreatecommoncommoncollectioncollectioncarouselcarouselbsxbsxbasebasedropdropblogbloggeneralgeneralsrcsrcfiltersfiltersGalleryGallerystepsstepslandinglandingItemsGridItemsGridlistingCartlistingCartunlockableunlockabledropdropactivityactivityOfferOffercomponentscomponentsmodulesmoduleseventseventsMediaItemMediaItem.ahk.csv.filters.graphql.js.mjs.scss.tab.ts.txt.ui.vue.xml.yamleach dot sized by file size \ No newline at end of file diff --git a/assets/styles/abstracts/_animations.scss b/assets/styles/abstracts/_animations.scss index 72a2137d4d..9e869c4bc2 100644 --- a/assets/styles/abstracts/_animations.scss +++ b/assets/styles/abstracts/_animations.scss @@ -105,7 +105,8 @@ animation: dots 1.5s infinite; } -@mixin shineEffect($shineColor, $shineHover) { +@mixin shineEffect($shineColor, $shineHover, $overChild: true) { + position: relative; overflow: hidden; &::before, @@ -117,7 +118,7 @@ background-color: $shineColor; transform: skewX(-30deg); transition: background-color 0.3s; - z-index: 0; + z-index: 1; } &::before { @@ -138,6 +139,12 @@ background-color: $shineHover } } + + @if not $overChild { + > :first-child { + z-index: 2; + } + } } @keyframes shine1 { diff --git a/assets/styles/abstracts/_theme.scss b/assets/styles/abstracts/_theme.scss index cfe52f4565..e5305ede0f 100644 --- a/assets/styles/abstracts/_theme.scss +++ b/assets/styles/abstracts/_theme.scss @@ -22,7 +22,7 @@ $themes: ( 'k-redaccent2': #ffe6e6, 'k-grey': #999999, 'k-grey-fix': #999999, - 'k-grey-light': #ECECEC, + 'k-grey-light': #f5f5f5, 'k-pink': #ffb6ef, 'k-yellow': #feffb6, 'warning-yellow': #fffbcc, @@ -72,7 +72,7 @@ $themes: ( 'k-redaccent2': #390b0b, 'k-grey': #cccccc, 'k-grey-fix': #999999, - 'k-grey-light': #ECECEC, + 'k-grey-light': #1f1f1f, 'k-pink': #7a2a68, 'k-yellow': #363234, 'warning-yellow': #3f3500, diff --git a/assets/styles/components/_content-markdown.scss b/assets/styles/components/_content-markdown.scss index 812f016975..b4c3c62962 100644 --- a/assets/styles/components/_content-markdown.scss +++ b/assets/styles/components/_content-markdown.scss @@ -4,4 +4,7 @@ code { font-family: monospace; } + a { + color: var(--k-blue) !important; + } } diff --git a/assets/styles/global.scss b/assets/styles/global.scss index f9d41b85dd..7164593029 100644 --- a/assets/styles/global.scss +++ b/assets/styles/global.scss @@ -336,15 +336,15 @@ a.has-text-grey { } } -.border-k-grey { +.border-top-k-shade { @include ktheme() { - border-color: theme('k-grey') !important; + border-top: 1px solid theme('k-shade'); } } -.border-top-k-shade { +.border-bottom-k-shade { @include ktheme() { - border-top: 1px solid theme('k-shade'); + border-bottom: 1px solid theme('k-shade'); } } @@ -550,6 +550,11 @@ a.has-text-grey { border-radius: 50%; } +.is-rounded-small { + border-radius: 4rem; +} + + .w-half { width: 50%; } @@ -567,6 +572,10 @@ a.has-text-grey { font-size: 1.6rem; } +.is-size-8 { + font-size: 0.5rem; +} + .is-max-width-fit-content { max-width: fit-content; } diff --git a/components/base/MediaItem.vue b/components/base/MediaItem.vue index 9e258d2a32..73b5c5b1e8 100644 --- a/components/base/MediaItem.vue +++ b/components/base/MediaItem.vue @@ -192,9 +192,8 @@ defineExpose({ isLewdBlurredLayer }) top: 0; height: 100%; width: 100%; - @include ktheme() { - color: theme('text-color'); - } + background-color: rgb(0 0 0 / 50%); + color: #fff; .nsfw-desc { max-width: 18.75rem; diff --git a/components/carousel/CarouselTypeGenerative.vue b/components/carousel/CarouselTypeGenerative.vue index 354f18916d..cbde2acf1b 100644 --- a/components/carousel/CarouselTypeGenerative.vue +++ b/components/carousel/CarouselTypeGenerative.vue @@ -12,6 +12,6 @@ import { useCarouselGenerativeNftEvents } from './utils/useCarouselEvents' const { nfts, ids } = await useCarouselGenerativeNftEvents( ['176'], - ['38', '40', '46'], + ['38', '40', '46', '49', '50'], ) diff --git a/components/collection/CollectionInfo.vue b/components/collection/CollectionInfo.vue index 09552aa925..c20d405f4e 100644 --- a/components/collection/CollectionInfo.vue +++ b/components/collection/CollectionInfo.vue @@ -34,6 +34,10 @@ :value="stats.uniqueOwners" />
+ route.params.id) const chain = computed( () => diff --git a/components/collection/CustomizeModal.vue b/components/collection/CustomizeModal.vue new file mode 100644 index 0000000000..9343755ed2 --- /dev/null +++ b/components/collection/CustomizeModal.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/components/collection/HeroButtonCustomizeCollection.vue b/components/collection/HeroButtonCustomizeCollection.vue new file mode 100644 index 0000000000..a236c0f621 --- /dev/null +++ b/components/collection/HeroButtonCustomizeCollection.vue @@ -0,0 +1,35 @@ + + + diff --git a/components/collection/HeroButtons.vue b/components/collection/HeroButtons.vue index d35e8c7db6..9dc128700f 100644 --- a/components/collection/HeroButtons.vue +++ b/components/collection/HeroButtons.vue @@ -67,11 +67,11 @@
- - - + + +
{{ $i18n.t('moreActions.reportCollection') }} @@ -100,8 +100,6 @@ import { NeoModal, } from '@kodadot1/brick' import { useCollectionMinimal } from '@/components/collection/utils/useCollectionDetails' -import HeroButtonDeleteCollection from './HeroButtonDeleteCollection.vue' -import HeroButtonDeleteNfts from './HeroButtonDeleteNfts.vue' const route = useRoute() const { isCurrentOwner } = useAuth() @@ -118,6 +116,8 @@ const { collection } = useCollectionMinimal({ collectionId: collectionId.value, }) const collectionIssuer = computed(() => collection.value?.issuer) +const collectionNftCount = computed(() => collection.value?.nftCount) +const collectionMaxCount = computed(() => collection.value?.max) const { twitter } = useIdentity({ address: collectionIssuer, diff --git a/components/collection/drop/AddFundsModal.vue b/components/collection/drop/AddFundsModal.vue new file mode 100644 index 0000000000..37a2c03664 --- /dev/null +++ b/components/collection/drop/AddFundsModal.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/components/collection/drop/DropConfirmModal.vue b/components/collection/drop/DropConfirmModal.vue deleted file mode 100644 index 1ea79e9515..0000000000 --- a/components/collection/drop/DropConfirmModal.vue +++ /dev/null @@ -1,106 +0,0 @@ - - - - - diff --git a/components/collection/drop/DropContainer.vue b/components/collection/drop/DropContainer.vue index 06fda0be89..c788eaeb7b 100644 --- a/components/collection/drop/DropContainer.vue +++ b/components/collection/drop/DropContainer.vue @@ -3,7 +3,8 @@ + :minted="justMinted" + @model-value="isLoading = false" />
@@ -13,12 +14,6 @@ :collection-id="collectionId" :description="description" />
- -
-
Total available items
-
{{ totalAvailableMintCount }} / {{ totalCount }}
-
diff --git a/components/collection/drop/Generative.vue b/components/collection/drop/Generative.vue index e283696ae5..3bb85e6d02 100644 --- a/components/collection/drop/Generative.vue +++ b/components/collection/drop/Generative.vue @@ -1,9 +1,5 @@ diff --git a/components/collection/drop/GenerativePreview.vue b/components/collection/drop/GenerativePreview.vue index cc73345639..fef2c54c21 100644 --- a/components/collection/drop/GenerativePreview.vue +++ b/components/collection/drop/GenerativePreview.vue @@ -77,9 +77,6 @@ const generativeImageUrl = ref( const isLoading = ref(false) -watch([accountId], () => { - generateNft(true) -}) const displayUrl = computed(() => { return generativeImageUrl.value || props.image }) @@ -93,6 +90,16 @@ const generateNft = (isDefault: boolean = false) => { isLoading.value = false }, 3000) } + +watch( + accountId, + () => { + generateNft(true) + }, + { + immediate: true, + }, +) diff --git a/components/collection/drop/modal/DropConfirmModal.vue b/components/collection/drop/modal/DropConfirmModal.vue new file mode 100644 index 0000000000..bee2a51302 --- /dev/null +++ b/components/collection/drop/modal/DropConfirmModal.vue @@ -0,0 +1,80 @@ + + diff --git a/components/collection/drop/modal/EmailSignup.vue b/components/collection/drop/modal/EmailSignup.vue new file mode 100644 index 0000000000..b5f67e422b --- /dev/null +++ b/components/collection/drop/modal/EmailSignup.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/components/collection/drop/modal/SuccessfulDrop.vue b/components/collection/drop/modal/SuccessfulDrop.vue new file mode 100644 index 0000000000..a0684620a0 --- /dev/null +++ b/components/collection/drop/modal/SuccessfulDrop.vue @@ -0,0 +1,172 @@ + + + diff --git a/components/collection/unlockable/UnlockableContainer.vue b/components/collection/unlockable/UnlockableContainer.vue index 2e0a95532d..cb17c5a282 100644 --- a/components/collection/unlockable/UnlockableContainer.vue +++ b/components/collection/unlockable/UnlockableContainer.vue @@ -3,7 +3,8 @@ + :minted="justMinted" + @model-value="isLoading = false" />
@@ -14,11 +15,6 @@ :description="description" />
-
- Total available items - {{ totalAvailableMintCount }} / {{ maxCount }} -
@@ -132,8 +128,9 @@ const isLoading = ref(false) const { isLogIn } = useAuth() const { hours, minutes, seconds } = useCountDown(countDownTime) const justMinted = ref('') -const { currentAccountMintedToken, mintedDropCount, fetchDropStatus } = - useDropStatus(props.drop.alias) +const { currentAccountMintedToken, fetchDropStatus } = useDropStatus( + props.drop.alias, +) onMounted(async () => { const res = await getLatestWaifuImages() @@ -158,26 +155,12 @@ const handleSelectImage = (image: string) => { selectedImage.value = image } -const { data: collectionData } = useGraphql({ - queryName: 'unlockableCollectionById', - variables: { - id: collectionId.value, - }, -}) - const hasUserMinted = computed(() => currentAccountMintedToken.value ? `${collectionId.value}-${currentAccountMintedToken.value.id}` : justMinted.value, ) -const maxCount = computed( - () => collectionData.value?.collectionEntity?.max || 300, -) -const totalAvailableMintCount = computed( - () => maxCount.value - Math.min(mintedDropCount.value, maxCount.value), -) - const { data, refetch } = useGraphql({ queryName: 'collectionMintedBetween', variables: { diff --git a/components/collection/unlockable/UnlockableLandingMobileBanner.vue b/components/collection/unlockable/UnlockableLandingMobileBanner.vue index c676a94dd6..2541cbb2b3 100644 --- a/components/collection/unlockable/UnlockableLandingMobileBanner.vue +++ b/components/collection/unlockable/UnlockableLandingMobileBanner.vue @@ -9,7 +9,7 @@ alt="unlockable icon" /> {{ $t('mint.unlockable.mintLive') }}
- + {{ $t('mint.unlockable.takeMe') }}
diff --git a/components/collection/unlockable/UnlockableLandingTag.vue b/components/collection/unlockable/UnlockableLandingTag.vue index 25f98b5050..c2d7e40147 100644 --- a/components/collection/unlockable/UnlockableLandingTag.vue +++ b/components/collection/unlockable/UnlockableLandingTag.vue @@ -14,7 +14,7 @@
+ to="/ahp/drops/wallstreet"> {{ $t('mint.unlockable.takeMe') }}
diff --git a/components/collection/unlockable/UnlockableLoader.vue b/components/collection/unlockable/UnlockableLoader.vue index 0880ce2a70..59026d18d7 100644 --- a/components/collection/unlockable/UnlockableLoader.vue +++ b/components/collection/unlockable/UnlockableLoader.vue @@ -23,8 +23,7 @@ {{ $t('mint.unlockable.loader.viewNFTLater2') }} - {{ displaySeconds }} - {{ $t('mint.unlockable.loader.viewNFTLater3') }} + {{ displayDuration }}
@@ -50,6 +49,7 @@ diff --git a/components/migrate/landing/content/Index.vue b/components/migrate/landing/content/Index.vue index 758b06340f..d4d273c295 100644 --- a/components/migrate/landing/content/Index.vue +++ b/components/migrate/landing/content/Index.vue @@ -35,10 +35,10 @@
- + - +
@@ -56,23 +56,8 @@ import { NeoIcon, NeoTooltip } from '@kodadot1/brick' import Identity from '@/components/identity/IdentityIndex.vue' -const { sourceSelected, destinationSelected } = useMigrate() - const { accountId } = useAuth() const { urlPrefix } = usePrefix() - -const toReview = (collectionId, itemCount) => { - navigateTo({ - path: '/migrate/review', - query: { - accountId: accountId.value, - collectionId: collectionId, - source: sourceSelected.value?.value, - destination: destinationSelected.value?.value, - itemCount, - }, - }) -} diff --git a/components/migrate/steps/Review.vue b/components/migrate/steps/Review.vue index 156b6bf02e..2bd02f4a9d 100644 --- a/components/migrate/steps/Review.vue +++ b/components/migrate/steps/Review.vue @@ -1,33 +1,56 @@