From 971d27d2d35df434f21d5d9bae7be8a9571baa29 Mon Sep 17 00:00:00 2001 From: Harshit Mishra Date: Sun, 9 Aug 2026 21:43:59 +0530 Subject: [PATCH] Do not show logos from Wikidata with deprecated rank Fixes #7292 --- app/assets/javascripts/index_modules/element.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/index_modules/element.js b/app/assets/javascripts/index_modules/element.js index b48e068f8..777a1cab0 100644 --- a/app/assets/javascripts/index_modules/element.js +++ b/app/assets/javascripts/index_modules/element.js @@ -93,9 +93,9 @@ function previewWikidataValue($btn) { function getLocalizedResponse(entity) { const siteScheme = OSM.isDark("bs") ? "Q6545942" : "Q101608434"; - const scheme = ({ qualifiers }) => qualifiers?.P8798?.some(q => q?.datavalue?.value?.id === siteScheme) ?? 0; - const rank = ({ rank }) => ({ preferred: 2, normal: 0, deprecated: -2 })[rank] ?? 0; - const toBestClaim = (out, claim) => (rank(claim) + scheme(claim) > rank(out) + scheme(out)) ? claim : out; + const scheme = ({ qualifiers } = {}) => qualifiers?.P8798?.some(q => q?.datavalue?.value?.id === siteScheme) ?? 0; + const rank = ({ rank } = {}) => ({ preferred: 2, normal: 0 })[rank] ?? 0; + const toBestClaim = (out, claim) => (!out || rank(claim) + scheme(claim) > rank(out) + scheme(out)) ? claim : out; const toFirstOf = (property) => (out, localization) => out ?? property[localization]; const data = { qid: entity.id, @@ -104,7 +104,7 @@ function getLocalizedResponse(entity) { "P8972", // small logo or icon "P154", // logo image "P14" // traffic sign - ].reduce((out, prop) => out ?? entity.claims[prop]?.reduce(toBestClaim)?.mainsnak?.datavalue?.value, null), + ].reduce((out, prop) => out ?? entity.claims[prop]?.filter(claim => claim.rank !== "deprecated").reduce(toBestClaim, null)?.mainsnak?.datavalue?.value, null), description: languagesToRequest.reduce(toFirstOf(entity.descriptions), null), article: wikisToRequest.reduce(toFirstOf(entity.sitelinks), null) }; -- 2.47.3