mirror of
https://github.com/oceanprotocol/commons.git
synced 2023-03-15 18:03:00 +01:00
category link component
This commit is contained in:
parent
9c352e740b
commit
65f04b9f62
23
client/src/components/atoms/CategoryLink.tsx
Normal file
23
client/src/components/atoms/CategoryLink.tsx
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import React from 'react'
|
||||||
|
import { Link } from 'react-router-dom'
|
||||||
|
|
||||||
|
const CategoryLink = ({
|
||||||
|
category,
|
||||||
|
children,
|
||||||
|
className,
|
||||||
|
...props
|
||||||
|
}: {
|
||||||
|
category: string
|
||||||
|
children?: any
|
||||||
|
className?: string
|
||||||
|
}) => (
|
||||||
|
<Link
|
||||||
|
to={`/search?categories=${encodeURIComponent(category)}`}
|
||||||
|
className={className}
|
||||||
|
{...props}
|
||||||
|
>
|
||||||
|
{children || category}
|
||||||
|
</Link>
|
||||||
|
)
|
||||||
|
|
||||||
|
export default CategoryLink
|
@ -1,8 +1,8 @@
|
|||||||
import React, { PureComponent } from 'react'
|
import React, { PureComponent } from 'react'
|
||||||
import { Link } from 'react-router-dom'
|
|
||||||
import Moment from 'react-moment'
|
import Moment from 'react-moment'
|
||||||
import { DDO, MetaData, File } from '@oceanprotocol/squid'
|
import { DDO, MetaData, File } from '@oceanprotocol/squid'
|
||||||
import Markdown from '../../atoms/Markdown'
|
import Markdown from '../../atoms/Markdown'
|
||||||
|
import CategoryLink from '../../atoms/CategoryLink'
|
||||||
import styles from './AssetDetails.module.scss'
|
import styles from './AssetDetails.module.scss'
|
||||||
import AssetFilesDetails from './AssetFilesDetails'
|
import AssetFilesDetails from './AssetFilesDetails'
|
||||||
|
|
||||||
@ -46,13 +46,7 @@ export default class AssetDetails extends PureComponent<AssetDetailsProps> {
|
|||||||
</span>
|
</span>
|
||||||
|
|
||||||
{base.categories && (
|
{base.categories && (
|
||||||
<Link
|
<CategoryLink category={base.categories[0]} />
|
||||||
to={`/search?categories=${encodeURIComponent(
|
|
||||||
base.categories[0]
|
|
||||||
)}`}
|
|
||||||
>
|
|
||||||
{base.categories[0]}
|
|
||||||
</Link>
|
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{base.files && datafilesLine(base.files)}
|
{base.files && datafilesLine(base.files)}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import React, { ChangeEvent, Component, FormEvent } from 'react'
|
import React, { ChangeEvent, Component, FormEvent } from 'react'
|
||||||
import { Link } from 'react-router-dom'
|
import { History } from 'history'
|
||||||
import { User, Market } from '../context'
|
import { User, Market } from '../context'
|
||||||
import CategoryImage from '../components/atoms/CategoryImage'
|
import CategoryImage from '../components/atoms/CategoryImage'
|
||||||
|
import CategoryLink from '../components/atoms/CategoryLink'
|
||||||
import Button from '../components/atoms/Button'
|
import Button from '../components/atoms/Button'
|
||||||
import Form from '../components/atoms/Form/Form'
|
import Form from '../components/atoms/Form/Form'
|
||||||
import Input from '../components/atoms/Form/Input'
|
import Input from '../components/atoms/Form/Input'
|
||||||
@ -9,7 +10,6 @@ import Route from '../components/templates/Route'
|
|||||||
import styles from './Home.module.scss'
|
import styles from './Home.module.scss'
|
||||||
|
|
||||||
import meta from '../data/meta.json'
|
import meta from '../data/meta.json'
|
||||||
import { History } from 'history'
|
|
||||||
import Content from '../components/atoms/Content'
|
import Content from '../components/atoms/Content'
|
||||||
import AssetsLatest from '../components/organisms/AssetsLatest'
|
import AssetsLatest from '../components/organisms/AssetsLatest'
|
||||||
import ChannelTeaser from '../components/organisms/ChannelTeaser'
|
import ChannelTeaser from '../components/organisms/ChannelTeaser'
|
||||||
@ -83,10 +83,8 @@ export default class Home extends Component<HomeProps, HomeState> {
|
|||||||
)
|
)
|
||||||
.sort((a, b) => a.localeCompare(b)) // sort alphabetically
|
.sort((a, b) => a.localeCompare(b)) // sort alphabetically
|
||||||
.map((category: string) => (
|
.map((category: string) => (
|
||||||
<Link
|
<CategoryLink
|
||||||
to={`/search?categories=${encodeURIComponent(
|
category={category}
|
||||||
category
|
|
||||||
)}`}
|
|
||||||
key={category}
|
key={category}
|
||||||
className={styles.category}
|
className={styles.category}
|
||||||
>
|
>
|
||||||
@ -94,7 +92,7 @@ export default class Home extends Component<HomeProps, HomeState> {
|
|||||||
category={category}
|
category={category}
|
||||||
/>
|
/>
|
||||||
<h3>{category}</h3>
|
<h3>{category}</h3>
|
||||||
</Link>
|
</CategoryLink>
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
</Market.Consumer>
|
</Market.Consumer>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user