From b7dea1ce755b9bcd6a1dc8635f59954e1fecd0ed Mon Sep 17 00:00:00 2001 From: dlaxcess <35979307+dlaxcess@users.noreply.github.com> Date: Wed, 4 May 2022 15:56:17 +0200 Subject: [PATCH] Gridlistdetail (#177) * Grid mode --- gulp/scss/_class.scss | 2 +- gulp/scss/front.scss | 26 +- .../Nft => misc/old/svelte}/NftsList.svelte | 0 svelte/components/Global/Content.svelte | 41 ++ svelte/components/Global/Home.svelte | 13 +- svelte/components/Nft/Nft.svelte | 363 ++++++++---------- svelte/components/Nft/NftGrid.svelte | 48 +++ svelte/components/Nft/NftLine.svelte | 182 +++++++++ svelte/components/Nft/NftList.svelte | 91 +++++ .../components/Nft/NftsListDisplayMode.svelte | 39 ++ svelte/components/Nft/NftsListGrid.svelte | 21 + svelte/components/Nft/NftsListLines.svelte | 31 ++ svelte/helpers/mediasDisplay.ts | 54 +++ svelte/helpers/shortcodes.ts | 13 + svelte/tests/BreadCrumb.svelte | 12 +- svelte/tests/CollectionListSimple.svelte | 28 +- svelte/tests/CollectionSimple.svelte | 8 +- svelte/tests/NftDetail.svelte | 204 ---------- .../common/shortcode/shortcode.php | 2 +- 19 files changed, 720 insertions(+), 458 deletions(-) rename {svelte/components/Nft => misc/old/svelte}/NftsList.svelte (100%) create mode 100644 svelte/components/Global/Content.svelte create mode 100644 svelte/components/Nft/NftGrid.svelte create mode 100644 svelte/components/Nft/NftLine.svelte create mode 100644 svelte/components/Nft/NftList.svelte create mode 100644 svelte/components/Nft/NftsListDisplayMode.svelte create mode 100644 svelte/components/Nft/NftsListGrid.svelte create mode 100644 svelte/components/Nft/NftsListLines.svelte create mode 100644 svelte/helpers/mediasDisplay.ts create mode 100644 svelte/helpers/shortcodes.ts delete mode 100644 svelte/tests/NftDetail.svelte diff --git a/gulp/scss/_class.scss b/gulp/scss/_class.scss index 363a2e6cd..f9b7aee91 100644 --- a/gulp/scss/_class.scss +++ b/gulp/scss/_class.scss @@ -204,7 +204,7 @@ select { background: rgba($green, 0.2); } } - &-sell { + &-sell, &-buy { color: $white; background: $green; &:hover { diff --git a/gulp/scss/front.scss b/gulp/scss/front.scss index 901b20240..ebccb901a 100644 --- a/gulp/scss/front.scss +++ b/gulp/scss/front.scss @@ -63,28 +63,13 @@ } .media { - @include border-radius; - overflow: hidden; - display: inline-block; - vertical-align: middle; - max-width: 100%; - height: 130px; - width: 130px; - - img { - object-fit: cover; - width: 100%; - height: 100%; - } -} - -.media-grid { @include border-radius; overflow: hidden; display: inline-block; vertical-align: middle; width: 100%; - img { + + img, video { object-fit: cover; width: 100%; height: 100%; @@ -294,11 +279,12 @@ padding-top: 100%; position: relative; - img { + img, video { transition: all 300ms ease; position: absolute; top: 0; left: 0; + width:100%; } } @@ -471,6 +457,10 @@ font-weight: bold; margin-bottom: 30px; } + + video { + width: 100%; + } } .modal-close, diff --git a/svelte/components/Nft/NftsList.svelte b/misc/old/svelte/NftsList.svelte similarity index 100% rename from svelte/components/Nft/NftsList.svelte rename to misc/old/svelte/NftsList.svelte diff --git a/svelte/components/Global/Content.svelte b/svelte/components/Global/Content.svelte new file mode 100644 index 000000000..db0792864 --- /dev/null +++ b/svelte/components/Global/Content.svelte @@ -0,0 +1,41 @@ + + +
handleClick(evt)}> + {#if tokenID} + + {:else} + {#key address} + + {/key} + {/if} +
diff --git a/svelte/components/Global/Home.svelte b/svelte/components/Global/Home.svelte index f6aed2d10..dff03c985 100644 --- a/svelte/components/Global/Home.svelte +++ b/svelte/components/Global/Home.svelte @@ -9,19 +9,20 @@ import Create from "../Global/Create.svelte"; import Navigation from "../Global/Navigation.svelte"; - import Nft from "../Nft/Nft.svelte"; - import NftsList from "../Nft/NftsList.svelte"; import NftsListRefresh from "../Nft/NftsListRefresh.svelte"; import Title from "../Global/Title.svelte"; // import BreadCrumb from "../../tests/BreadCrumb.svelte"; import HomeLayout from "../Global/HomeLayout.svelte"; + import Content from "./Content.svelte"; + // import { metamaskProvider } from "main/metamask"; + export let platform: string = "dapp"; + let chainId: number; let address: string; - let tokenID: string; let account: string; let refreshing: boolean; let refresh: number; @@ -62,11 +63,7 @@ {#if chainId && account && address} - {#if tokenID} - - {:else} - - {/if} + {/if} diff --git a/svelte/components/Nft/Nft.svelte b/svelte/components/Nft/Nft.svelte index 586879e32..f9856b81d 100644 --- a/svelte/components/Nft/Nft.svelte +++ b/svelte/components/Nft/Nft.svelte @@ -3,45 +3,34 @@ import type { NftType } from "lib/ktypes"; import { - getShortAddress, nftUrl, explorerCollectionUrl, - nftDescription, - nftDescriptionShort, - nftName, - nftOpenSeaUrl, - addressSame, - textShort, explorerAddressLink, kredeumNftUrl, - getNetwork + getNetwork, + nftOpenSeaUrl, + addressSame } from "lib/kconfig"; - // import { nftKey } from "lib/kconfig"; - import { nftGetImageLink } from "lib/knft-get-metadata"; - import { onMount } from "svelte"; + import { divMedia } from "helpers/mediasDisplay"; + + import { shortcode } from "helpers/shortcodes"; import { nftStore } from "stores/nft/nft"; + import NftTransfer from "./NftTransfer.svelte"; - ///////////////////////////////////////////////// - // - // Display NFT - ///////////////////////////////////////////////// export let chainId: number; export let address: string; export let tokenID: string; export let account: string = undefined; - export let index = 0; - export let more = 0; export let platform: string = "dapp"; - let nft: Readable; // let i = 1; // HANDLE CHANGE : on truthy chainId and address, and whatever account $: account, chainId && address && tokenID && handleChange(); const handleChange = (): void => { - // console.log(`NFT CHANGE #${i++} ${nftKey(chainId, address, tokenID)}`); + // console.log(`NFTDETAIL CHANGE #${i++} ${nftKey(chainId, address, tokenID)}`); // STATE VIEW : sync get Nft nft = nftStore.getOneStore(chainId, address, tokenID); @@ -50,201 +39,173 @@ nftStore.refreshOne(chainId, address, tokenID).catch(console.error); }; - const moreToggle = (): void => { - more = more > 0 ? 0 : (document.getElementById(`more-detail-${index}`)?.offsetHeight || 0) + 70; - }; - - const shortcode = async (_nft: NftType) => { - const data = `[kredeum_sell chain="${_nft.chainName}" collection="${_nft.address}" tokenid="${ - _nft.tokenID - }" ipfs="${_nft.ipfs}"]${nftName(_nft)}[/kredeum_sell]`; - - await navigator.clipboard.writeText(data).catch(() => console.log("Not copied")); - console.log("Copied"); - }; - - const divMediaImage = (src: string, height?: number) => { - const heightString = height ? `height="${height}"` : ""; - return `link`; - }; - - const divMediaVideo = (src: string, small = true) => { - let video: string; - if (small) { - video = '