diff --git a/client/src/pages/networks/components/clusters/button.tsx b/client/src/pages/networks/components/clusters/button.tsx index 8335fc22..5966b2a9 100644 --- a/client/src/pages/networks/components/clusters/button.tsx +++ b/client/src/pages/networks/components/clusters/button.tsx @@ -1,9 +1,9 @@ import { useIntl } from "react-intl" -import { Button, ButtonGroup, Container } from "@dataesr/dsfr-plus" +import { Button, ButtonGroup } from "@dataesr/dsfr-plus" import useSearchData from "../../hooks/useSearchData" import useIntegration from "../../hooks/useIntegration" -import useScreenSize from "../../../../hooks/useScreenSize" import useOptions from "../../hooks/useOptions" +import useScreenSize from "../../../../hooks/useScreenSize" export default function ClustersButton() { const intl = useIntl() @@ -15,24 +15,22 @@ export default function ClustersButton() { if (integrationOptions.showClustersButton === false) return null return ( - - - handleParameterChange("clusters", !parameters.clusters)} - disabled={search.isFetching || Boolean(search.error)} - > - {intl.formatMessage({ - id: parameters.clusters ? "networks.clusters.button.rm" : "networks.clusters.button.add", - })} - - - {screen != "xs" && ( - - {intl.formatMessage({ id: "networks.clusters.button.description" })} - - )} - + + handleParameterChange("clusters", !parameters.clusters)} + disabled={search.isFetching || Boolean(search.error)} + > + {screen === "xs" + ? intl.formatMessage({ + id: parameters.clusters ? "networks.clusters.button.rm.short" : "networks.clusters.button.add.short", + }) + : intl.formatMessage({ + id: parameters.clusters ? "networks.clusters.button.rm" : "networks.clusters.button.add", + })} + + ) } diff --git a/client/src/pages/networks/components/clusters/index.tsx b/client/src/pages/networks/components/clusters/index.tsx index 93099acc..0cc2d99a 100644 --- a/client/src/pages/networks/components/clusters/index.tsx +++ b/client/src/pages/networks/components/clusters/index.tsx @@ -1,6 +1,7 @@ import { Col, Container, Row } from "@dataesr/dsfr-plus" import ClustersButton from "./button" import ContributeButton from "../contribute/button" +import NavigateToSearch from "../navigate-to-search" import NetworkClustersItems from "./items" import NetworkAnalytics from "./analytics" import useIntegration from "../../hooks/useIntegration" @@ -11,6 +12,7 @@ export default function NetworkClusters() { {!integrationId ? ( + diff --git a/client/src/pages/networks/components/contribute/button.tsx b/client/src/pages/networks/components/contribute/button.tsx index 43fc8ba9..ac391e5f 100644 --- a/client/src/pages/networks/components/contribute/button.tsx +++ b/client/src/pages/networks/components/contribute/button.tsx @@ -1,4 +1,4 @@ -import { Button, Container } from "@dataesr/dsfr-plus" +import { Button, ButtonGroup } from "@dataesr/dsfr-plus" import { useIntl } from "react-intl" import useScreenSize from "../../../../hooks/useScreenSize" @@ -8,7 +8,7 @@ export default function ContributeButton() { const search = window.location.search?.slice(1) || "q=*" return ( - + - + ) } diff --git a/client/src/pages/networks/components/navigate-to-search/index.tsx b/client/src/pages/networks/components/navigate-to-search/index.tsx new file mode 100644 index 00000000..ad426641 --- /dev/null +++ b/client/src/pages/networks/components/navigate-to-search/index.tsx @@ -0,0 +1,36 @@ +import { Button, ButtonGroup } from "@dataesr/dsfr-plus" +import { useIntl } from "react-intl" +import { useNavigate, useSearchParams } from "react-router-dom" +import useOptions from "../../hooks/useOptions" +import useScreenSize from "../../../../hooks/useScreenSize" + +export default function NavigateToSearch() { + const intl = useIntl() + const { screen } = useScreenSize() + const { currentSource } = useOptions() + const [searchParams] = useSearchParams() + const navigate = useNavigate() + + const navigateToNetwork = () => { + const searchQuery = searchParams.get("q") ? `q=${searchParams.get("q")}` : "" + const searchFilters = searchParams.get("filters") ? `filters=${searchParams.get("filters")}` : "" + navigate(`/search/${currentSource}?${searchQuery}&${searchFilters}`) + } + + return ( + + + {screen === "xs" + ? intl.formatMessage({ id: `networks.navigate-to-search.${currentSource}.short` }) + : intl.formatMessage({ id: `networks.navigate-to-search.${currentSource}` })} + + + ) +} diff --git a/client/src/pages/networks/locales/en.json b/client/src/pages/networks/locales/en.json index ba9f2555..e2923da4 100644 --- a/client/src/pages/networks/locales/en.json +++ b/client/src/pages/networks/locales/en.json @@ -74,7 +74,7 @@ "networks.filters.button.label": "Filters", "networks.clusters.button.rm": "Hide communities* information", "networks.clusters.button.add": "Display communities* information", - "networks.clusters.button.description": "* Using the Louvain method. Community labels are then calculated by generative AI from the community's corpus of publications.", + "networks.clusters.button.description": "* Using the Louvain method. Community labels are then calculated by generative AI from the community's corpus of documents.", "networks.search.error204.title": "No Result", "networks.search.error204.text": "This search returns no data.", "networks.exports.title": "Export", @@ -162,5 +162,9 @@ "networks.section.clusters.badge-publications": "Publications", "networks.section.clusters.see-more": "See more ({count})", "networks.section.clusters.see-less": "Show less", - "networks.contribute.button": "Report an error" + "networks.contribute.button": "Report an error", + "networks.navigate-to-search.publications": "Search associated publications", + "networks.navigate-to-search.publications.short": "Associated publications", + "networks.navigate-to-search.patents": "Search associated patents", + "networks.navigate-to-search.patents.short": "Search associated patents" } diff --git a/client/src/pages/networks/locales/fr.json b/client/src/pages/networks/locales/fr.json index 40d44fd7..2dd7b517 100644 --- a/client/src/pages/networks/locales/fr.json +++ b/client/src/pages/networks/locales/fr.json @@ -75,8 +75,10 @@ "networks.parameters.modal.display": "Afficher le réseau", "networks.parameters.modal.reset": "Réinitialiser les paramètres", "networks.clusters.button.rm": "Masquer les informations des communautés*", + "networks.clusters.button.rm.short": "Masquer les communautés*", "networks.clusters.button.add": "Afficher les informations des communautés*", - "networks.clusters.button.description": "* Par la méthode de Louvain. Les labels des communautés sont ensuite calculés par IA générative à partir du corpus des publications de la communauté.", + "networks.clusters.button.add.short": "Afficher les communautés*", + "networks.clusters.button.description": "* Par la méthode de Louvain. Les labels des communautés sont ensuite calculés par IA générative à partir du corpus de documents de la communauté.", "networks.search.error204.title": "Pas de résultat", "networks.search.error204.text": "Cette recherche ne retourne aucune donnée.", "networks.exports.title": "Exporter", @@ -166,5 +168,9 @@ "networks.section.clusters.badge-publications": "Publications", "networks.section.clusters.see-more": "En voir plus ({count})", "networks.section.clusters.see-less": "Réduire", - "networks.contribute.button": "Signaler une erreur" + "networks.contribute.button": "Signaler une erreur", + "networks.navigate-to-search.publications": "Rechercher les publications associées", + "networks.navigate-to-search.publications.short": "Publications associées", + "networks.navigate-to-search.patents": "Rechercher les brevets associés", + "networks.navigate-to-search.patents.short": "Brevets associés" }
- {intl.formatMessage({ id: "networks.clusters.button.description" })} -