diff --git a/providers/EntrystoreProvider/index.tsx b/providers/EntrystoreProvider/index.tsx index f7e6c584..5c9a21b4 100644 --- a/providers/EntrystoreProvider/index.tsx +++ b/providers/EntrystoreProvider/index.tsx @@ -132,14 +132,21 @@ export const EntrystoreProvider: React.FC = ({ const resourceUri = entry.getResourceURI(); const title = - getSimplifiedLocalizedValue(metadata, "dcterms:title") || - getSimplifiedLocalizedValue(metadata, "skos:prefLabel"); + getSimplifiedLocalizedValue(metadata, "dcterms:title", resourceUri) || + getSimplifiedLocalizedValue(metadata, "skos:prefLabel", resourceUri); const description = - getSimplifiedLocalizedValue(metadata, "skos:definition") || - getSimplifiedLocalizedValue(metadata, "dcterms:description"); + getSimplifiedLocalizedValue(metadata, "skos:definition", resourceUri) || + getSimplifiedLocalizedValue( + metadata, + "dcterms:description", + resourceUri, + ); - const publisherUri = metadata.findFirstValue(null, "dcterms:publisher"); + const publisherUri = metadata.findFirstValue( + resourceUri, + "dcterms:publisher", + ); let publisher = ""; if (pageType !== "mqa") { @@ -151,6 +158,7 @@ export const EntrystoreProvider: React.FC = ({ publisher = getSimplifiedLocalizedValue( publisherEntry.getAllMetadata(), "foaf:name", + publisherUri, ); } } catch (error) {} @@ -177,6 +185,7 @@ export const EntrystoreProvider: React.FC = ({ publisher = getSimplifiedLocalizedValue( publisherEntry.getAllMetadata(), "foaf:name", + publisherUri, ); } } diff --git a/utilities/entrystoreUtil.ts b/utilities/entrystoreUtil.ts index 3848b794..30a12195 100644 --- a/utilities/entrystoreUtil.ts +++ b/utilities/entrystoreUtil.ts @@ -113,8 +113,9 @@ export const getLocalizedValue = async ( export const getSimplifiedLocalizedValue = ( metadata: Metadata, property: string, + resourceURI?: string, ) => { - const values = metadata.find(null, property); + const values = metadata.find(resourceURI || null, property); // Try to find Swedish value first const svValue = values.find((v: MetadataValue) => v.getLanguage() === "sv"); // Fall back to English if no Swedish