diff --git a/packages/metavinci/src/contexts/meta.tsx b/packages/metavinci/src/contexts/meta.tsx index 8cef431..dc97dad 100644 --- a/packages/metavinci/src/contexts/meta.tsx +++ b/packages/metavinci/src/contexts/meta.tsx @@ -27,7 +27,7 @@ export function MetaProvider({ children = null as any }) { accounts.forEach(meta => { try{ const metadata = decodeMetadata(meta.account.data); - if(isValidHttpUrl(metadata.uri)) { + if(isValidHttpUrl(metadata.uri) && metadata.uri.indexOf('arweave') >= 0) { const account: ParsedAccount = { pubkey: meta.pubkey, account: meta.account, @@ -51,11 +51,19 @@ export function MetaProvider({ children = null as any }) { } else { const metadata = mintToMetadata.get(key); if(metadata && metadata.info.uri) { - extendedMetadataFetch.set(key, fetch(metadata.info.uri).catch(() => { + extendedMetadataFetch.set(key, fetch(metadata.info.uri).then(async _ => { + try { + metadata.info.extended = await _.json(); + if(metadata.info.extended.image) { + metadata.info.extended.image = `${metadata.info.uri}/${metadata.info.extended.image}`; + } + } catch { + mintToMetadata.delete(key); + return undefined; + } + }).catch(() => { mintToMetadata.delete(key); return undefined; - }).then(_ => { - metadata.info.extended = _; })); } } diff --git a/packages/metavinci/src/models/nft.ts b/packages/metavinci/src/models/nft.tsx similarity index 94% rename from packages/metavinci/src/models/nft.ts rename to packages/metavinci/src/models/nft.tsx index cd8628f..d7bc83f 100644 --- a/packages/metavinci/src/models/nft.ts +++ b/packages/metavinci/src/models/nft.tsx @@ -6,7 +6,9 @@ import { programIds, sendTransactions, sendTransaction, + notify, } from '@oyster/common'; +import React from 'react'; import { MintLayout, Token } from '@solana/spl-token'; import { WalletAdapter } from '@solana/wallet-base'; import { @@ -155,10 +157,11 @@ export const mintNFT = async ( const updateInstructions: TransactionInstruction[] = []; const updateSigners: Account[] = []; + const arweaveLink = `https://arweave.net/${metadataFile.transactionId}`; await updateMetadata( metadata.symbol, metadata.name, - `https://arweave.net/${metadataFile.transactionId}`, + arweaveLink, mintKey, wallet.publicKey, updateInstructions, @@ -173,6 +176,12 @@ export const mintNFT = async ( true, 'singleGossip', ); + + notify({ + message: 'Art created on Solana', + description: Arweave Link, + type: 'success', + }); } console.log('Result', result); res(result); diff --git a/packages/metavinci/src/views/home/index.less b/packages/metavinci/src/views/home/index.less index 983dfef..8620908 100644 --- a/packages/metavinci/src/views/home/index.less +++ b/packages/metavinci/src/views/home/index.less @@ -22,6 +22,19 @@ header.ant-layout-header.App-Bar { filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.1)); border-radius: 8px; overflow: hidden; + + .ant-card-body { + display: flex; + flex-direction: row; + align-items: flex-start; + padding: 24px; + + /* gradients/metal */ + background: #282828; + box-shadow: inset 0px 4px 20px rgba(0, 0, 0, 0.3); + border-radius: 0px 0px 8px 8px; + + } } footer.ant-layout-footer {