diff --git a/client/src/pages/openalex-ror/components/works-list.jsx b/client/src/pages/openalex-ror/components/works-list.jsx new file mode 100644 index 0000000..f046f77 --- /dev/null +++ b/client/src/pages/openalex-ror/components/works-list.jsx @@ -0,0 +1,28 @@ +import { Button, Link, Text } from '@dataesr/dsfr-plus'; +import { useState } from 'react'; + +export default function WorksList({ works }) { + const [showMore, setShowMore] = useState(false); + + const _works = showMore ? works : works.slice(0, 5); + return ( +
+ + openAlex works: + + {_works.map((work) => ( + + {work} + + ))} + { + works.length > 5 && ( + + ) + } +
+ + ); +} diff --git a/client/src/pages/openalex-ror/results/list-view.jsx b/client/src/pages/openalex-ror/results/list-view.jsx index 8d56204..730cf98 100644 --- a/client/src/pages/openalex-ror/results/list-view.jsx +++ b/client/src/pages/openalex-ror/results/list-view.jsx @@ -1,4 +1,5 @@ -import { Badge, Col, Link, Row, Tag, TagGroup, Text } from '@dataesr/dsfr-plus'; +import { Col, Link, Row, Tag, Text } from '@dataesr/dsfr-plus'; +import WorksList from '../components/works-list'; export default function ListView({ onRowEditComplete, @@ -14,48 +15,40 @@ export default function ListView({ allAffiliations.map((affiliation) => (
  • - + - +
    -
    - ror list: - {affiliation.rors.map((ror) => ( - <> - - - {ror.rorId} - - - - - ))} -
    -
    - openAlex works: - {affiliation.works.slice(0, 5).map((work) => ( - - {work} - - ))} -
    + + + + {affiliation.rors.map((ror) => ( + <> + + + {ror.rorId} + + + + + ))}