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) => ( - + ))}
) : (