diff --git a/client/src/Routes.tsx b/client/src/Routes.tsx
index c51f8c1..863d128 100644
--- a/client/src/Routes.tsx
+++ b/client/src/Routes.tsx
@@ -3,7 +3,6 @@ import { Route, Switch } from 'react-router-dom'
import withTracker from './hoc/withTracker'
import About from './routes/About'
-import Details from './routes/Details/'
import Home from './routes/Home'
import NotFound from './routes/NotFound'
import Publish from './routes/Publish/'
@@ -13,6 +12,7 @@ import History from './routes/History'
import Channels from './routes/Channels'
import Styleguide from './routes/Styleguide'
+import Asset from './components/templates/Asset'
import Channel from './components/templates/Channel'
const Routes = () => (
@@ -22,7 +22,7 @@ const Routes = () => (
-
+
diff --git a/client/src/components/atoms/CategoryImage.module.scss b/client/src/components/atoms/CategoryImage.module.scss
index ba72b0b..11cf5f8 100644
--- a/client/src/components/atoms/CategoryImage.module.scss
+++ b/client/src/components/atoms/CategoryImage.module.scss
@@ -11,3 +11,10 @@
opacity: .8;
transition: .2s ease-out;
}
+
+.header {
+ composes: categoryImage;
+ height: 8rem;
+ margin-top: $spacer;
+ opacity: .5;
+}
diff --git a/client/src/components/atoms/CategoryImage.tsx b/client/src/components/atoms/CategoryImage.tsx
index a02df06..677a1a7 100644
--- a/client/src/components/atoms/CategoryImage.tsx
+++ b/client/src/components/atoms/CategoryImage.tsx
@@ -138,13 +138,18 @@ const categoryImageFile = (category: string) => {
}
}
-export default class CategoryImage extends PureComponent<{ category: string }> {
+export default class CategoryImage extends PureComponent<{
+ category: string
+ header?: boolean
+}> {
public render() {
const image = categoryImageFile(this.props.category)
return (
{
) : latestAssets && latestAssets.length ? (
{latestAssets.map((asset: any) => (
-
+
))}
) : (
diff --git a/client/src/components/organisms/AssetsUser.tsx b/client/src/components/organisms/AssetsUser.tsx
index bb675d1..a9d6083 100644
--- a/client/src/components/organisms/AssetsUser.tsx
+++ b/client/src/components/organisms/AssetsUser.tsx
@@ -3,7 +3,7 @@ import { Link } from 'react-router-dom'
import { Logger } from '@oceanprotocol/squid'
import { User } from '../../context'
import Spinner from '../atoms/Spinner'
-import Asset from '../molecules/Asset'
+import AssetTeaser from '../molecules/AssetTeaser'
import styles from './AssetsUser.module.scss'
export default class AssetsUser extends PureComponent<
@@ -82,7 +82,7 @@ export default class AssetsUser extends PureComponent<
)
.filter(asset => !!asset)
.map((asset: any) => (
-
{channelAssets.map((asset: any) => (
-
+
))}
) : (
diff --git a/client/src/routes/Details/AssetDetails.module.scss b/client/src/components/templates/Asset/AssetDetails.module.scss
similarity index 97%
rename from client/src/routes/Details/AssetDetails.module.scss
rename to client/src/components/templates/Asset/AssetDetails.module.scss
index de65a0c..e951084 100644
--- a/client/src/routes/Details/AssetDetails.module.scss
+++ b/client/src/components/templates/Asset/AssetDetails.module.scss
@@ -1,4 +1,4 @@
-@import '../../styles/variables';
+@import '../../../styles/variables';
.metaPrimary {
margin-bottom: $spacer;
diff --git a/client/src/routes/Details/AssetDetails.test.tsx b/client/src/components/templates/Asset/AssetDetails.test.tsx
similarity index 100%
rename from client/src/routes/Details/AssetDetails.test.tsx
rename to client/src/components/templates/Asset/AssetDetails.test.tsx
diff --git a/client/src/routes/Details/AssetDetails.tsx b/client/src/components/templates/Asset/AssetDetails.tsx
similarity index 98%
rename from client/src/routes/Details/AssetDetails.tsx
rename to client/src/components/templates/Asset/AssetDetails.tsx
index 382a816..7f75164 100644
--- a/client/src/routes/Details/AssetDetails.tsx
+++ b/client/src/components/templates/Asset/AssetDetails.tsx
@@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'
import { Link } from 'react-router-dom'
import Moment from 'react-moment'
import { DDO, MetaData, File } from '@oceanprotocol/squid'
-import Markdown from '../../components/atoms/Markdown'
+import Markdown from '../../atoms/Markdown'
import styles from './AssetDetails.module.scss'
import AssetFilesDetails from './AssetFilesDetails'
diff --git a/client/src/routes/Details/AssetFile.module.scss b/client/src/components/templates/Asset/AssetFile.module.scss
similarity index 96%
rename from client/src/routes/Details/AssetFile.module.scss
rename to client/src/components/templates/Asset/AssetFile.module.scss
index cfd3591..82dc7c7 100644
--- a/client/src/routes/Details/AssetFile.module.scss
+++ b/client/src/components/templates/Asset/AssetFile.module.scss
@@ -1,4 +1,4 @@
-@import '../../styles/variables';
+@import '../../../styles/variables';
.buttonMain {
margin: auto;
diff --git a/client/src/routes/Details/AssetFile.test.tsx b/client/src/components/templates/Asset/AssetFile.test.tsx
similarity index 99%
rename from client/src/routes/Details/AssetFile.test.tsx
rename to client/src/components/templates/Asset/AssetFile.test.tsx
index a15a298..9b3c7a2 100644
--- a/client/src/routes/Details/AssetFile.test.tsx
+++ b/client/src/components/templates/Asset/AssetFile.test.tsx
@@ -5,7 +5,7 @@ import { render, fireEvent } from 'react-testing-library'
import { DDO } from '@oceanprotocol/squid'
import { StateMock } from '@react-mock/state'
import ReactGA from 'react-ga'
-import { User } from '../../context'
+import { User } from '../../../context'
import AssetFile, { messages } from './AssetFile'
const file = {
diff --git a/client/src/routes/Details/AssetFile.tsx b/client/src/components/templates/Asset/AssetFile.tsx
similarity index 96%
rename from client/src/routes/Details/AssetFile.tsx
rename to client/src/components/templates/Asset/AssetFile.tsx
index 8bdb771..1d17d54 100644
--- a/client/src/routes/Details/AssetFile.tsx
+++ b/client/src/components/templates/Asset/AssetFile.tsx
@@ -1,9 +1,9 @@
import React, { PureComponent } from 'react'
import { Logger, DDO, File } from '@oceanprotocol/squid'
import filesize from 'filesize'
-import Button from '../../components/atoms/Button'
-import Spinner from '../../components/atoms/Spinner'
-import { User } from '../../context'
+import Button from '../../atoms/Button'
+import Spinner from '../../atoms/Spinner'
+import { User } from '../../../context'
import styles from './AssetFile.module.scss'
import ReactGA from 'react-ga'
diff --git a/client/src/routes/Details/AssetFilesDetails.module.scss b/client/src/components/templates/Asset/AssetFilesDetails.module.scss
similarity index 73%
rename from client/src/routes/Details/AssetFilesDetails.module.scss
rename to client/src/components/templates/Asset/AssetFilesDetails.module.scss
index c52cfe6..ee6ab28 100644
--- a/client/src/routes/Details/AssetFilesDetails.module.scss
+++ b/client/src/components/templates/Asset/AssetFilesDetails.module.scss
@@ -1,4 +1,4 @@
-@import '../../styles/variables';
+@import '../../../styles/variables';
.files {
text-align: center;
diff --git a/client/src/routes/Details/AssetFilesDetails.test.tsx b/client/src/components/templates/Asset/AssetFilesDetails.test.tsx
similarity index 92%
rename from client/src/routes/Details/AssetFilesDetails.test.tsx
rename to client/src/components/templates/Asset/AssetFilesDetails.test.tsx
index dca46a4..d719725 100644
--- a/client/src/routes/Details/AssetFilesDetails.test.tsx
+++ b/client/src/components/templates/Asset/AssetFilesDetails.test.tsx
@@ -4,8 +4,8 @@ import React from 'react'
import { render } from 'react-testing-library'
import { DDO } from '@oceanprotocol/squid'
import AssetFilesDetails from './AssetFilesDetails'
-import { User } from '../../context'
-import { userMockConnected } from '../../../__mocks__/user-mock'
+import { User } from '../../../context'
+import { userMockConnected } from '../../../../__mocks__/user-mock'
describe('AssetFilesDetails', () => {
it('renders without crashing', () => {
diff --git a/client/src/routes/Details/AssetFilesDetails.tsx b/client/src/components/templates/Asset/AssetFilesDetails.tsx
similarity index 89%
rename from client/src/routes/Details/AssetFilesDetails.tsx
rename to client/src/components/templates/Asset/AssetFilesDetails.tsx
index 4199e82..7054171 100644
--- a/client/src/routes/Details/AssetFilesDetails.tsx
+++ b/client/src/components/templates/Asset/AssetFilesDetails.tsx
@@ -1,8 +1,8 @@
import React, { PureComponent } from 'react'
import { DDO, File } from '@oceanprotocol/squid'
import AssetFile from './AssetFile'
-import { User } from '../../context'
-import Web3message from '../../components/organisms/Web3message'
+import { User } from '../../../context'
+import Web3message from '../../organisms/Web3message'
import styles from './AssetFilesDetails.module.scss'
export default class AssetFilesDetails extends PureComponent<{
diff --git a/client/src/routes/Details/index.test.tsx b/client/src/components/templates/Asset/index.test.tsx
similarity index 100%
rename from client/src/routes/Details/index.test.tsx
rename to client/src/components/templates/Asset/index.test.tsx
diff --git a/client/src/routes/Details/index.tsx b/client/src/components/templates/Asset/index.tsx
similarity index 69%
rename from client/src/routes/Details/index.tsx
rename to client/src/components/templates/Asset/index.tsx
index eaefb6c..d1b047e 100644
--- a/client/src/routes/Details/index.tsx
+++ b/client/src/components/templates/Asset/index.tsx
@@ -1,11 +1,12 @@
import React, { Component } from 'react'
import { DDO, MetaData, Logger } from '@oceanprotocol/squid'
-import Route from '../../components/templates/Route'
-import Spinner from '../../components/atoms/Spinner'
-import { User } from '../../context'
+import Route from '../Route'
+import Spinner from '../../atoms/Spinner'
+import { User } from '../../../context'
import AssetDetails from './AssetDetails'
-import stylesApp from '../../App.module.scss'
-import Content from '../../components/atoms/Content'
+import stylesApp from '../../../App.module.scss'
+import Content from '../../atoms/Content'
+import CategoryImage from '../../atoms/CategoryImage'
interface DetailsProps {
location: Location
@@ -46,7 +47,17 @@ export default class Details extends Component {
const { metadata, ddo } = this.state
return metadata.base.name !== '' ? (
-
+
+ )
+ }
+ >
diff --git a/client/src/components/templates/Channel.tsx b/client/src/components/templates/Channel.tsx
index 0470185..0afd3f0 100644
--- a/client/src/components/templates/Channel.tsx
+++ b/client/src/components/templates/Channel.tsx
@@ -4,7 +4,7 @@ import { History } from 'history'
import Spinner from '../../components/atoms/Spinner'
import Route from '../../components/templates/Route'
import { User } from '../../context'
-import Asset from '../../components/molecules/Asset'
+import AssetTeaser from '../molecules/AssetTeaser'
import Pagination from '../../components/molecules/Pagination'
import styles from './Channel.module.scss'
import Content from '../../components/atoms/Content'
@@ -101,7 +101,7 @@ export default class Channel extends PureComponent {
) : this.state.results && this.state.results.length ? (
{this.state.results.map((asset: any) => (
-
+
))}
) : (
diff --git a/client/src/components/templates/Route.tsx b/client/src/components/templates/Route.tsx
index 48ce946..ae19abe 100644
--- a/client/src/components/templates/Route.tsx
+++ b/client/src/components/templates/Route.tsx
@@ -8,12 +8,14 @@ import Markdown from '../atoms/Markdown'
const Route = ({
title,
description,
+ image,
wide,
children,
className
}: {
title: string
description?: string
+ image?: any
children: any
wide?: boolean
className?: string
@@ -29,6 +31,7 @@ const Route = ({
{title}
+ {image && image}
{description && (
{
) : this.state.results && this.state.results.length ? (
{this.state.results.map((asset: any) => (
-
+
))}
) : (