From 779def1bb48453fa496ee387ed60b8a6c8a3dd09 Mon Sep 17 00:00:00 2001 From: Fabio Bonelli Date: Mon, 29 Jul 2024 19:57:44 +0200 Subject: [PATCH] use APIs --- _layouts/software-details.html | 2 +- assets/js/components/PubliccodeBadge.js | 15 ++++++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/_layouts/software-details.html b/_layouts/software-details.html index 41dca0c1e7f8..3a767757ec42 100644 --- a/_layouts/software-details.html +++ b/_layouts/software-details.html @@ -429,7 +429,7 @@

Stato publiccode.yml - +

diff --git a/assets/js/components/PubliccodeBadge.js b/assets/js/components/PubliccodeBadge.js index e8f1a079bcf0..041149b1b4c5 100644 --- a/assets/js/components/PubliccodeBadge.js +++ b/assets/js/components/PubliccodeBadge.js @@ -23,17 +23,15 @@ const useStyle = createUseStyles({ }, }); -export const PubliccodeBadge = React.memo(({ repo }) => { +export const PubliccodeBadge = React.memo(({ softwareId }) => { const [publiccodeState, setPubliccodeState] = useState('loading'); - const classes = useStyle(publiccodeState) - useEffect(async () => { const res = await fetch(logUrl); if (res.status >= 200 || res.status <= 299) { const data = await res.json(); - const good = data.find(entry => entry?.message?.includes('activity index in the last')); + const good = data[0]?.message.includes('GOOD publiccode.yml'); setPubliccodeState(good ? 'good' : 'error'); } else { @@ -41,15 +39,14 @@ export const PubliccodeBadge = React.memo(({ repo }) => { } }); - const repoPath = repo.replaceAll(/^(.+):\/\/|.git$/ig, ''); - const logUrl = `https://crawler.developers.italia.it/${repoPath}/log.json` + const logUrl = `https://api.developers.italia.it/v1/software/${softwareId}/logs` return ( <>
{publiccodeState === 'loading' && } - {publiccodeState !== 'loading' && publiccodeState } + {publiccodeState !== 'loading' && publiccodeState}
@@ -59,14 +56,14 @@ export const PubliccodeBadge = React.memo(({ repo }) => { target="_blank" aria-label="Log file of the latest publiccode.yml crawling" > - (JSON log) + (log) ); }); PubliccodeBadge.propTypes = { - repo: PropTypes.string.isRequired, + software: PropTypes.string.isRequired, }; PubliccodeBadge.displayName = 'PubliccodeBadge';