diff --git a/.github/workflows/opencatalogi-page-deploy.yml b/.github/workflows/opencatalogi-page-deploy.yml index c06a744bc..43cffc2b2 100644 --- a/.github/workflows/opencatalogi-page-deploy.yml +++ b/.github/workflows/opencatalogi-page-deploy.yml @@ -11,6 +11,7 @@ env: # Change these to your preferences any image url can also be a base encoded ME_URL: "https://api.opencatalogi.nl/api/users/me" API_URL: "https://api.opencatalogi.nl/api" + NEXTCLOUD_API_URL: "https://nextcloud.test.commonground.nu/index.php/apps/opencatalogi/api" ADMIN_URL: "https://api.opencatalogi.nl/admin" BASE_URL: "https://api.opencatalogi.nl" FRONTEND_URL: "https://api.opencatalogi.nl" @@ -83,6 +84,7 @@ jobs: envkey_GATSBY_SHOW_THEME_SWITCHER: ${{ env.SHOW_THEME_SWITCHER }} envkey_GATSBY_ME_URL: ${{ env.ME_URL }} envkey_GATSBY_API_URL: ${{ env.API_URL }} + envkey_NEXTCLOUD_API_URL: ${{ env.NEXTCLOUD_API_URL }} envkey_GATSBY_ADMIN_URL: ${{ env.ADMIN_URL }} envkey_GATSBY_BASE_URL: ${{ env.BASE_URL }} envkey_GATSBY_FRONTEND_URL: ${{ env.FRONTEND_URL }} diff --git a/pwa/src/apiService/apiService.ts b/pwa/src/apiService/apiService.ts index f1b2cce95..aba6cbccb 100644 --- a/pwa/src/apiService/apiService.ts +++ b/pwa/src/apiService/apiService.ts @@ -105,7 +105,7 @@ export default class APIService { const authorization = this.JWT ? { Authorization: "Bearer " + this.JWT } : {}; return axios.create({ - baseURL: "http://localhost:8080/index.php/apps/opencatalogi/api", + baseURL: window.sessionStorage.getItem("NEXTCLOUD_API_URL") ?? "", headers: { Accept: "application/json", "Content-Type": "application/json", diff --git a/pwa/src/hooks/useEnvironment.ts b/pwa/src/hooks/useEnvironment.ts index 803123179..9aef93a8c 100644 --- a/pwa/src/hooks/useEnvironment.ts +++ b/pwa/src/hooks/useEnvironment.ts @@ -31,6 +31,10 @@ export const useEnvironment = () => { ); window.sessionStorage.setItem("API_URL", process.env.GATSBY_API_URL ?? ""); window.sessionStorage.setItem("BASE_URL", process.env.GATSBY_BASE_URL ?? ""); + window.sessionStorage.setItem( + "NEXTCLOUD_API_URL", + process.env.GATSBY_NEXTCLOUD_BASE_URL ?? "http://nextcloud.local/index.php/apps/opencatalogi/api", + ); window.sessionStorage.setItem("NL_DESIGN_THEME_CLASSNAME", process.env.GATSBY_NL_DESIGN_THEME_CLASSNAME ?? ""); window.sessionStorage.setItem("GITHUB_ORGANIZATION_URL", process.env.GATSBY_GITHUB_ORGANIZATION_URL ?? ""); window.sessionStorage.setItem("FAVICON_URL", process.env.GATSBY_FAVICON_URL ?? ""); @@ -80,6 +84,10 @@ export const useEnvironment = () => { config.GATSBY_USE_GITHUB_REPOSITORY_NAME_AS_PATH_PREFIX ?? "", ); window.sessionStorage.setItem("API_URL", config.GATSBY_API_URL ?? ""); + window.sessionStorage.setItem( + "NEXTCLOUD_API_URL", + config.GATSBY_NEXTCLOUD_BASE_URL ?? "http://nextcloud.local/index.php/apps/opencatalogi/api", + ); window.sessionStorage.setItem("BASE_URL", config.GATSBY_BASE_URL ?? ""); window.sessionStorage.setItem("NL_DESIGN_THEME_CLASSNAME", config.GATSBY_NL_DESIGN_THEME_CLASSNAME ?? ""); window.sessionStorage.setItem("GITHUB_ORGANIZATION_URL", config.GATSBY_GITHUB_ORGANIZATION_URL ?? ""); diff --git a/pwa/src/templates/componentDetail/ComponentsDetailTemplate.tsx b/pwa/src/templates/componentDetail/ComponentsDetailTemplate.tsx index c9e25103d..729383f87 100644 --- a/pwa/src/templates/componentDetail/ComponentsDetailTemplate.tsx +++ b/pwa/src/templates/componentDetail/ComponentsDetailTemplate.tsx @@ -150,7 +150,7 @@ export const ComponentsDetailTemplate: React.FC = const imageHasValidSource = (src: string): boolean => { try { const url = new URL(src); - return url.protocol === "htpp:" || url.protocol === "https:"; + return url.protocol === "http:" || url.protocol === "https:"; } catch (_) { return false; } diff --git a/pwa/src/templates/publicationDetail/PublicationsDetailTemplate.module.css b/pwa/src/templates/publicationDetail/PublicationsDetailTemplate.module.css index ada7a021d..4d8dc65ac 100644 --- a/pwa/src/templates/publicationDetail/PublicationsDetailTemplate.module.css +++ b/pwa/src/templates/publicationDetail/PublicationsDetailTemplate.module.css @@ -191,7 +191,7 @@ .cardsContainer { display: grid; - grid-template-columns: 1fr 1fr; + grid-template-columns: 1fr 1fr 1fr; } .cardsContainer > :not(:last-child) { diff --git a/pwa/src/templates/publicationDetail/PublicationsDetailTemplate.tsx b/pwa/src/templates/publicationDetail/PublicationsDetailTemplate.tsx index 3747b91ca..11cf5801e 100644 --- a/pwa/src/templates/publicationDetail/PublicationsDetailTemplate.tsx +++ b/pwa/src/templates/publicationDetail/PublicationsDetailTemplate.tsx @@ -1,13 +1,11 @@ import * as React from "react"; import * as styles from "./PublicationsDetailTemplate.module.css"; import _ from "lodash"; -import clsx from "clsx"; import Skeleton from "react-loading-skeleton"; import componentPlacholderLogo from "../../assets/images/grey.png"; import { Heading, Icon, - Button, DataBadge, BadgeCounter, Link, @@ -15,45 +13,19 @@ import { TableHeaderCell, Heading3, } from "@utrecht/component-library-react/dist/css-module"; -import { - Container, - Tabs, - TabList, - Tab, - TabPanel, - NotificationPopUp as _NotificationPopUp, - DisplaySwitch, - HorizontalOverflowWrapper, -} from "@conduction/components"; +import { Container, Tabs, TabList, Tab, TabPanel, HorizontalOverflowWrapper } from "@conduction/components"; import { navigate } from "gatsby"; -import { IconExternalLink, IconArrowLeft } from "@tabler/icons-react"; +import { IconArrowLeft } from "@tabler/icons-react"; import { useTranslation } from "react-i18next"; import { Table, TableBody, TableCell, TableRow } from "@utrecht/component-library-react/dist/css-module"; -import { QueryClient } from "react-query"; -import { useComponent } from "../../hooks/components"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { - faArrowLeft, - faScroll, -} from "@fortawesome/free-solid-svg-icons"; +import { faBrush, faClock, faHouse, faList, faScroll, faTag } from "@fortawesome/free-solid-svg-icons"; import { OrganizationCard } from "../../components/organizationCard/OrganizationCard"; -import { GitHubLogo } from "../../assets/svgs/GitHub"; -import { DependenciesTemplate } from "../templateParts/dependenciesTemplates/ComponentDependenciesTemplate"; -import { useResultDisplayLayoutContext } from "../../context/resultDisplayLayout"; -import { ComponentCardsAccordionTemplate } from "../templateParts/componentCardsAccordion/ComponentCardsAccordionTemplate"; -import { DownloadTemplate } from "../templateParts/download/DownloadTemplate"; -import { IDisplaySwitchButton } from "@conduction/components/lib/components/displaySwitch/DisplaySwitch"; import { ExpandableLeadParagraph } from "../../components/expandableLeadParagraph/ExpandableLeadParagraph"; import { TOOLTIP_ID } from "../../layout/Layout"; -import { ComponentCard } from "../../components"; -import { getCommongroundRating } from "../../services/getCommongroundRating"; -import { - CommongroundRatingGold, - CommongroundRatingSilver, - CommongroundRatingBronze, -} from "../../assets/svgs/CommongroundRatingImages"; import { usePublication } from "../../hooks/publication"; import { translateDate } from "../../services/dateFormat"; +import { QueryClient } from "react-query"; interface PublicationsDetailTemplateProps { publicationId: string; @@ -61,92 +33,27 @@ interface PublicationsDetailTemplateProps { export const PublicationsDetailTemplate: React.FC = ({ publicationId }) => { const { t } = useTranslation(); - const { resultDisplayLayout, setResultDisplayLayout } = useResultDisplayLayoutContext(); - const [moreInformationVisible, setMoreInformationVisible] = React.useState(false); const [tabIndex, setTabIndex] = React.useState(0); - const NotificationPopUp = _NotificationPopUp.NotificationPopUp; - const tabsRef: any = React.useRef(); - const queryClient = new QueryClient(); - const _useComponent = useComponent(queryClient); - // @ts-expect-error because - const _getComponent = _useComponent.getOne(undefined); + const queryClient = new QueryClient(); const _usePublication = usePublication(queryClient); const _getPublication = _usePublication.getOne(publicationId); - const getConfigComponents = _useComponent.getAllConfig(_getComponent.data?.name); - - const gemma = _getComponent.data?.embedded?.nl?.embedded?.gemma; - const publicationData = _getPublication.data?.data?.data; - - if (_getComponent.isError) return <>Something went wrong...; - - const organisation = _getPublication?.data?.data?.organization; + const organisation = + _getPublication.data?.catalogi?.organisation?.title && _getPublication.data?.catalogi?.organisation; const imageHasValidSource = (src: string): boolean => { try { const url = new URL(src); - return url.protocol === "htpp:" || url.protocol === "https:"; + return url.protocol === "http:" || url.protocol === "https:"; } catch (_) { return false; } }; - const displaySwitchButtons: IDisplaySwitchButton[] = [ - { - label: t("Layer"), - pressed: resultDisplayLayout.dependenciesDisplayLayout === "layer", - handleClick: () => setResultDisplayLayout({ ...resultDisplayLayout, dependenciesDisplayLayout: "layer" }), - icon: { - name: "layer-group", - prefix: "fas", - }, - }, - { - label: t("Relations"), - pressed: resultDisplayLayout.dependenciesDisplayLayout === "relations", - handleClick: () => setResultDisplayLayout({ ...resultDisplayLayout, dependenciesDisplayLayout: "relations" }), - icon: { - name: "circle-nodes", - prefix: "fas", - }, - }, - ]; - - const openModal = (onClick: () => any): void => { - onClick(); - setTimeout(() => { - const element = document.querySelectorAll('[class*="NotificationPopUp"]').item(0) as HTMLElement; - const elementRect = element.getBoundingClientRect(); - const newHeight = - Math.ceil(elementRect.height) % 2 === 0 ? Math.ceil(elementRect.height) : Math.ceil(elementRect.height) + 1; - element.style.height = `${newHeight}px`; - element.style.maxHeight = `${newHeight}px`; - const newWidth = - Math.ceil(elementRect.width) % 2 === 0 ? Math.ceil(elementRect.width) : Math.ceil(elementRect.width) + 1; - element.style.width = `${newWidth}px`; - element.style.maxWidth = newWidth < 1170 ? `${newWidth}px` : `${1170}px`; - }, 300); // Give the modal some time to finish animating - }; - - const getCommongroundImage = (rating: number) => { - switch (rating) { - case 0: - return ; - case 1: - return ; - case 2: - return ; - case 3: - return ; - default: - return ; - } - }; - return (
- {_getPublication?.data?.title} + {_getPublication.data?.title} - - - {_getPublication.data?.metaData && - - - {_getPublication.data?.reference && - - {t("Reference")} - {_getPublication.data.reference} - - } - {_getPublication.data?.license && - - {t("License")} - {_getPublication.data.license} - - } - {_getPublication.data?.category && - - {t("Category")} - {_getPublication.data.category} - - } - {_getPublication.data?.data?.themes && - - {t("Themas")} - {_getPublication.data?.data?.themes.join(', ')} - - } - {_getPublication.data?.status && - - {t("Status")} - {_getPublication.data.status} - - } - {_getPublication.data?.published && - - {t("Published")} - {translateDate('nl', _getPublication.data.published)} - - } - {_getPublication.data?.modified && - - {t("Modified")} - {translateDate('nl',_getPublication.data.modified)} - - } - -
- }
- -
- {/* This button should only be visible for authenticated users; feature will come in the future. */} - {/* */} - - {_getPublication.data?.data?.embedded?.url?.url && ( - + + {organisation.title} + )} - {_getPublication.data?.data?.embedded?.downloads && ( - + {_getPublication.data.reference && ( + + + {_getPublication.data.reference} + )} - - {(gemma?.applicatiefunctie || - gemma?.bedrijfsfuncties || - gemma?.bedrijfsservices || - gemma?.model || - gemma?.referentiecomponenten?.length > 0 || - _getPublication.data?.data?.embedded?.nl?.upl?.length > 0) && ( - <> - - - {moreInformationVisible && ( -
- setMoreInformationVisible(false)} - title={`${t("More information")}:`} - customContent={ - - - - {gemma?.applicatiefunctie && ( - - Applicatiefunctie: - {gemma.applicatiefunctie} - - )} - - {gemma?.bedrijfsfuncties && ( - - Bedrijfsfuncties: - - {gemma.bedrijfsfuncties.join(", ")} - - - )} - - {gemma?.bedrijfsservices && ( - - Bedrijfsservices: - - {gemma.bedrijfsservices.join(", ")} - - - )} - - {gemma?.model && ( - - Model: - {gemma.model} - - )} - - {gemma?.referentiecomponenten?.length > 0 && ( - - Referentie componenten: - - {gemma.referentiecomponenten.join(", ")} - - - )} - - {_getPublication.data?.data?.embedded?.nl?.upl?.length > 0 && ( - - {t("Products")} - - {_getPublication.data?.data?.embedded?.nl?.upl.map( - (product: string, idx: number) => ( - - - - - - {product},{" "} - - - ), - )} - - - )} - -
-
- } - primaryButton={{ - label: t("Close"), - icon: , - handleClick: () => ({}), - }} - layoutClassName={styles.popup} - /> -
- )} - + {_getPublication.data.category && ( + + + {_.upperFirst(_getPublication.data.category)} + + )} + {_getPublication.data.themes && + _getPublication.data.themes.map((theme: any, idx: number) => ( + + + {_.upperFirst(theme)} + + ))} + {_getPublication.data.license && ( + + + {_getPublication.data.license} + + )} + {_getPublication.data.published && ( + + + {translateDate("nl", _getPublication.data.published)} + + )} + {_getPublication.data.modified && ( + + + {translateDate("nl", _getPublication.data.modified)} + )} - {_getPublication.data?.data?.embedded?.nl?.embedded?.commonground?.rating && - _getPublication.data?.data?.embedded?.nl?.embedded?.commonground?.rating !== 0 && ( - - )}
- MetaData + {t("Catalogi")} + {t("MetaData")} {t("Organization")}
- {_getPublication.data?.metaData && - - - {_getPublication.data.metaData?.title && + {_getPublication.data.catalogi && ( +
+ - {t("Title")} - {_getPublication.data.metaData.title ?? t("No title known")} + + {t("Title")} + + {_getPublication.data.catalogi.title ?? t("No title known")} - } - {_getPublication.data.metaData?.version && - {t("Version")} - {_getPublication.data.metaData.version ?? t("No version known") } + + {t("Summary")} + + {_getPublication.data.catalogi.summary || t("No summary known")} - } - {_getPublication.data.metaData?.description && - {t("Description")} - {_getPublication.data.metaData.description ?? t("No description known") } + + {t("Description")} + + {_getPublication.data.catalogi.description || t("No description known")} + + +
+ )} + {!_getPublication.data.catalogi && ( + {t("No catalogus found")} + )} + + {_getPublication.data.catalogi.metadata[0]?.id && ( + + + + {t("Title")} + {t("Version")} + {t("Description")} - } - -
- } + + + + {_getPublication.data.catalogi.metadata.map((data: any, idx: number) => ( + + {data.title || t("No title known")} + {data.version || t("No version known")} + {data.description || t("No description known")} + + ))} + + + )} + {!_getPublication.data.catalogi.metadata[0]?.id && ( + {t("No metadata found")} + )} {organisation && ( )} - {!_getPublication?.data?.data?.organization && ( - {t("No organization found")} - )} - + {!organisation && {t("No organization found")}}
- {(_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open || - getConfigComponents.data?.results?.length > 0 || - _getPublication.data?.data?.embedded?.supportedBy?.length > 0 || - _getPublication.data?.data?.embedded?.usedBy?.length > 0 || - getConfigComponents.data?.results?.length > 0 || - _getPublication.data?.data?.attachments || - _getPublication.data?.data?.data) && ( + + {_getPublication?.data?.attachments[0]?.title && (
setTabIndex(index)}> - {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open && ( - - Componenten & Afhankelijkheden - - {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open.length ?? 0} - - - )} - {_getPublication.data?.data?.embedded?.supportedBy && ( - - {t("Suppliers")} - - {_getPublication.data?.data?.embedded?.supportedBy?.length ?? 0} - - - )} - {_getPublication.data?.data?.embedded?.usedBy && ( - - {t("Reuse")} - - {_getPublication.data?.data?.embedded?.usedBy?.length ?? 0} - - - )} - {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open && ( - - {t("Schema's")} - - {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open.length ?? 0} - - - )} - {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open && ( - - {t("Processes")} - - {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open.length ?? 0} - - - )} - {getConfigComponents.data?.results?.length > 0 && ( - - {t("Configurations")} - - {getConfigComponents.data?.results?.length ?? 0} - - - )} - {_getPublication.data?.attachments?.length > 0 && ( + {_getPublication?.data?.attachments?.length > 0 && ( {t("Attachments")} - {_getPublication.data?.attachments?.length ?? 0} + {_getPublication?.data?.attachments?.length ?? 0} )} - {_getPublication.data?.data?.data && ( - - {t("Extensions")} - - )} - {_getPublication.data?.data?.embedded?.dependsOn && ( - -
- {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open && ( - - )} - - -
-
- )} - {_getPublication.data?.data?.embedded?.supportedBy?.length > 0 && ( - - - - - {t("Name")} - {/* This table row should be visible when the organization has a maintenanceType. feature will come in the future. */} - {/* {t("Type of support")} */} - {t("Email")} - {t("Phone number")} - {t("Website")} - - - - {_getPublication.data?.data?.embedded?.supportedBy?.map((organization: any) => ( - - {organization?.name} - {/* This table row should be visible when the organization has a maintenanceType. feature will come in the future. */} - {/* - {organization?.maintenanceType && organization?.maintenanceType !== "" - ? organization?.maintenanceType - : t("Unavailable")} - */} - - {organization?.email && organization?.email !== "" ? ( - { - e.preventDefault(), navigate(`mailto:${organization?.email}`); - }} - href={`mailto:${organization?.email}`} - aria-label={`${t("Email")}, ${organization?.email}`} - > - {organization?.email} - - ) : ( - t("Unavailable") - )} - - - {organization?.phone && organization?.phone !== "" ? ( - { - e.preventDefault(), navigate(`tel:${organization?.phone}`); - }} - href={`tel:${organization?.phone}`} - aria-label={`${t("Phone number")}, ${organization?.phone}`} - > - {organization?.phone} - - ) : ( - t("Unavailable") - )} - - - {organization?.website && organization?.website !== "" ? ( - { - e.preventDefault(), open(organization?.website ?? ""); - }} - href={organization?.website ?? ""} - aria-label={ - organization?.website - ? `${t("Website")}, ${organization?.website - .replace("https://", "www.") - .replace("/", "")}, ${t("Opens a new window")}` - : "" - } - > - {organization?.website.replace("https://", "www.").replace("/", "")} - - ) : ( - t("Unavailable") - )} - - - ))} - -
-
- )} - {_getPublication.data?.data?.embedded?.usedBy?.length > 0 && ( - -
- {_getPublication.data?.data?.embedded?.usedBy?.map((organization: any) => ( - - ))} -
-
- )} - {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open && ( - - - - )} - {_getPublication.data?.data?.embedded?.dependsOn?.embedded?.open && ( - - - - )} - {getConfigComponents.data?.results?.length > 0 && ( - -
- {getConfigComponents.data?.results?.map((component: any) => { - return ( - - ); - })} -
-
- )} - {_getPublication.data?.attachments?.length > 0 && ( + {_getPublication?.data?.attachments?.length > 0 && ( {t("Published")} {t("Modified")} {t("Access url")} + {t("Download url")} {_getPublication?.data?.attachments.map((attachment: any) => { - return attachment.published === "false" ? ( + return attachment?.published === "false" || !attachment.published ? ( <> ) : ( - {attachment.title} + {attachment?.title}
100 && TOOLTIP_ID} - data-tooltip-content={attachment.description} + data-tooltip-id={attachment?.description?.length > 100 && TOOLTIP_ID} + data-tooltip-content={attachment?.description} > - {attachment.description.length > 100 - ? `${attachment.description.substring(0, 100)}...` - : attachment.description} + {attachment?.description.length > 100 + ? `${attachment?.description.substring(0, 100)}...` + : attachment?.description}
@@ -768,119 +292,41 @@ export const PublicationsDetailTemplate: React.FC - {attachment.license} + {attachment?.license} - {attachment.type} + {attachment?.type} - {attachment.published} + {translateDate("nl", attachment?.published)} - {attachment.modified} + {translateDate("nl", attachment?.modified)} { - e.preventDefault(), open(attachment.downloadURL); + e.preventDefault(), open(attachment?.accessURL); }} - href={`/publications/${_getPublication.data?.data?.id}`} + href={`/publications/${_getPublication.data.id}`} className={styles.tagWidth} > {t("Access url")} + + { + e.preventDefault(), open(attachment?.downloadURL); + }} + href={`/publications/${_getPublication.data.id}`} + className={styles.tagWidth} + > + {t("Download url")} + +
); })} - - Gegevenscatalogus - -
- - -
-
- - - - {_getPublication.data?.license} - - - - - - {_getPublication.data?.published} - - - {_getPublication.data?.modified} - - - { - e.preventDefault(), open(_getPublication.data?.portal); - }} - href={`/publications/${_getPublication.data?.id}`} - className={styles.tagWidth} - > - {t("Access url")} - - -
-
- -
-
- )} - {publicationData && ( - - - - - - {publicationData?.qualifiedAttribution && ( - - Toeschrijving: - -
- {`${t("Name")}: ${publicationData?.contactPoint?.name}`} - {`${t("Email")}: ${publicationData?.contactPoint?.email}`} -
-
-
- )} - - {publicationData?.bedrijfsservices && ( - - Bedrijfsservices: - - {publicationData.bedrijfsservices.join(", ")} - - - )} - - {publicationData?.model && ( - - Model: - {publicationData.model} - - )} - - {publicationData?.spatial > 0 && ( - - Referentie componenten: - {publicationData.spatial.join(", ")} - - )}
diff --git a/pwa/src/templates/templateParts/download/DownloadTemplate.tsx b/pwa/src/templates/templateParts/download/DownloadTemplate.tsx index 1ea29db0d..5c821cb1e 100644 --- a/pwa/src/templates/templateParts/download/DownloadTemplate.tsx +++ b/pwa/src/templates/templateParts/download/DownloadTemplate.tsx @@ -49,10 +49,10 @@ export const DownloadTemplate: React.FC = ({ downloads, b }; const convertedDownloads: TDownloadableItem[] = downloads.map((download: any) => ({ - label: download.naam, - size: getSize(download.grootte), + label: download.naam ?? download.label, + size: getSize(download.grootte ?? download.size), type: download.type, - downloadLink: download.url, + downloadLink: download.url ?? download.downloadLink, })); const getIconFromType = (type: any) => { diff --git a/pwa/src/translations/en.ts b/pwa/src/translations/en.ts index f73af80ea..2d5c42f59 100644 --- a/pwa/src/translations/en.ts +++ b/pwa/src/translations/en.ts @@ -84,6 +84,7 @@ export const en = { Reference: "Reference", Pagination: "Pagination", Extensions: "Extensions", + Summary: "Summary", "Open Catalogs": "Open Catalogs", "Reusable components within the government": "Reusable components within the government", "Information Models": "Information Models", @@ -95,10 +96,12 @@ export const en = { "View all components": "View all components", "Show metadata": "Show metadata", "Access url": "Access url", + "Download url": "Download url", "Hide metadata": "Hide metadata", "No title known": "No title known", "No description known": "No description known", "No version known": "No version known", + "No summary known": "No summary known", "One central place for reuse of information technology within the government": "One central place for reuse of information technology within the government", "No components found with active filters": "No components found with active filters", @@ -119,6 +122,7 @@ export const en = { "Score calculation": "Score calculation", "There is no organization available": "There is no organization available", "No organization found": "No organization found", + "No metadata found": "No metadata found", "There is no description available": "There is no description available", "My catalogi": "My Catalogi", "Software products": "Software products", diff --git a/pwa/src/translations/nl.ts b/pwa/src/translations/nl.ts index 5370d8313..4dd9da58f 100644 --- a/pwa/src/translations/nl.ts +++ b/pwa/src/translations/nl.ts @@ -87,6 +87,7 @@ export const nl = { Reference: "Referentie", Pagination: "Paginering", Extensions: "Extensies", + Summary: "Samenvatting", "Open Catalogs": "OpenCatalogi", "Reusable components within the government": "Herbruikbare componenten binnen de overheid", "Information Models": "Informatiemodellen", @@ -97,9 +98,11 @@ export const nl = { "Show metadata": "Toon metadata", "Hide metadata": "Verberg metadata", "No title known": "Geen titel bekend", - "No description known": "Geen description bekend", - "No version known": "Geen version bekend", + "No description known": "Geen beschrijving bekend", + "No version known": "Geen versie bekend", + "No summary known": "Geen samenvatting bekend", "Access url": "Toegangsurl", + "Download url": "Downloadurl", "One central place for reuse of information technology within the government": "Eén centrale plek voor hergebruik van informatietechnologie binnen de overheid", "No components found with active filters": "Geen componenten gevonden met actieve filters", @@ -120,6 +123,7 @@ export const nl = { "Score calculation": "Score opbouw", "There is no organization available": "Er is geen organisatie beschikbaar", "No organization found": "Geen organisatie gevonden", + "No metadata found": "Geen metadata gevonden", "There is no description available": "Er is geen omschrijving beschikbaar", "My catalogi": "Mijn Catalogi", "Software products": "Software producten", diff --git a/pwa/static/.env.development b/pwa/static/.env.development index a749609ff..2e556243d 100644 --- a/pwa/static/.env.development +++ b/pwa/static/.env.development @@ -6,6 +6,7 @@ GATSBY_USE_GITHUB_REPOSITORY_NAME_AS_PATH_PREFIX=false # Backend-config GATSBY_API_URL=https://api.opencatalogi.nl/api +GATSBY_NEXTCLOUD_API_URL=http://nextcloud.local/index.php/apps/opencatalogi/api GATSBY_BASE_URL=https://api.opencatalogi.nl # Config diff --git a/pwa/static/.env.production b/pwa/static/.env.production index 54402a1aa..4eecde473 100644 --- a/pwa/static/.env.production +++ b/pwa/static/.env.production @@ -5,6 +5,7 @@ GATSBY_USE_GITHUB_REPOSITORY_NAME_AS_PATH_PREFIX=false # Backend-config GATSBY_ME_URL=https://api.opencatalogi.nl/api/users/me GATSBY_API_URL=https://api.opencatalogi.nl/api +GATSBY_NEXTCLOUD_API_URL=https://directory.opencatalogi.nl/index.php/apps/opencatalogi/api GATSBY_ADMIN_URL=https://api.opencatalogi.nl/admin GATSBY_BASE_URL=https://api.opencatalogi.nl GATSBY_FRONTEND_URL=https://api.opencatalogi.nl @@ -13,6 +14,7 @@ GATSBY_ADMIN_DASHBOARD_URL=https://admin.opencatalogi.nl # Config GATSBY_NL_DESIGN_THEME_CLASSNAME=rotterdam-theme + # GATSBY_GITHUB_ORGANIZATION_URL="https://github.com/ConductionNL" GATSBY_FAVICON_URL="https://dev.opencatalogi.nl/static/logo_OpenCatalogi-8b1b0a001c3f37dae4d3f69b5964ec72.png" GATSBY_PAGE_TITLE=