diff --git a/app/ResolveRoute.js b/app/ResolveRoute.js
index d057967..1a8f2ea 100644
--- a/app/ResolveRoute.js
+++ b/app/ResolveRoute.js
@@ -112,5 +112,8 @@ export default function resolveRoute(path)
if (match) {
return {page: 'NFTMarketPage', params: match.slice(1)}
}
+ if (path === '/all-nft') {
+ return {page: 'AllNFTPage'}
+ }
return {page: 'NotFound'};
}
diff --git a/app/RootRoute.js b/app/RootRoute.js
index 77d8721..359aeed 100644
--- a/app/RootRoute.js
+++ b/app/RootRoute.js
@@ -39,6 +39,8 @@ export default {
cb(null, [require('@pages/nft/NFTTokenPage')]);
} else if (route.page === 'NFTMarketPage') {
cb(null, [require('@pages/nft/NFTMarketPage')]);
+ } else if (route.page === 'AllNFTPage') {
+ cb(null, [require('@pages/nft/AllNFTPage')])
} else if (route.page === 'Market') {
cb(null, [require('@pages/MarketLoader')]);
} else if (route.page === 'Rating') {
diff --git a/app/components/all.scss b/app/components/all.scss
index fb72464..e48581c 100644
--- a/app/components/all.scss
+++ b/app/components/all.scss
@@ -85,6 +85,7 @@
@import "./pages/Rating";
@import "./pages/UserProfile";
@import "./pages/Witnesses";
+@import "./pages/nft/AllNFTPage";
@import "./pages/nft/NFTCollectionPage";
@import "./pages/nft/NFTMarketPage";
@import "./pages/nft/NFTTokenPage";
diff --git a/app/components/modules/Header.jsx b/app/components/modules/Header.jsx
index 42e8fd4..c810a1d 100644
--- a/app/components/modules/Header.jsx
+++ b/app/components/modules/Header.jsx
@@ -116,6 +116,8 @@ class Header extends React.Component {
page_title = tt('header_jsx.nft_token')
} else if (route.page === `NFTMarketPage`){
page_title = tt('header_jsx.nft_market')
+ } else if (route.page === `AllNFTPage`){
+ page_title = tt('all_nft_page_jsx.title')
} else {
page_name = ''; //page_title = route.page.replace( /([a-z])([A-Z])/g, '$1 $2' ).toLowerCase();
}
diff --git a/app/components/pages/nft/AllNFTPage.jsx b/app/components/pages/nft/AllNFTPage.jsx
new file mode 100644
index 0000000..f72cb7c
--- /dev/null
+++ b/app/components/pages/nft/AllNFTPage.jsx
@@ -0,0 +1,177 @@
+import React from 'react'
+import { connect, } from 'react-redux'
+import tt from 'counterpart'
+import Reveal from 'react-foundation-components/lib/global/reveal'
+
+import DropdownMenu from 'app/components/elements/DropdownMenu'
+import Icon from 'app/components/elements/Icon'
+import LoadingIndicator from 'app/components/elements/LoadingIndicator'
+import NFTTokenItem from 'app/components/elements/nft/NFTTokenItem'
+import NFTTokenTransfer from 'app/components/modules/nft/NFTTokenTransfer'
+import NFTTokenSell from 'app/components/modules/nft/NFTTokenSell'
+import g from 'app/redux/GlobalReducer'
+
+class AllNFTPage extends React.Component {
+ state = {}
+
+ componentDidMount() {
+ this.refetch()
+ }
+
+ refetch = () => {
+ this.props.fetchNFTTokens(0, this.sort, this.sortReversed)
+ }
+
+ showTransfer = (e, tokenIdx) => {
+ e.preventDefault()
+ this.setState({
+ showTransfer: true,
+ tokenIdx,
+ })
+ }
+
+ hideTransfer = () => {
+ this.setState({
+ showTransfer: false,
+ })
+ }
+
+ showSell = (e, tokenIdx) => {
+ e.preventDefault()
+ this.setState({
+ showSell: true,
+ tokenIdx,
+ })
+ }
+
+ hideSell = () => {
+ this.setState({
+ showSell: false,
+ })
+ }
+
+ sortOrder = (e, sort, sortReversed) => {
+ e.preventDefault()
+ this.sort = sort
+ this.sortReversed = sortReversed
+ this.refetch()
+ }
+
+ render() {
+ const { currentUser, nft_tokens, nft_assets, } = this.props
+
+ const tokens = nft_tokens ? nft_tokens.toJS().data : null
+ const assets = nft_assets ? nft_assets.toJS() : {}
+
+ const next_from = nft_tokens && nft_tokens.get('next_from')
+
+ let items = []
+ if (!tokens) {
+ items =