diff --git a/public/env.js b/public/env.js index 01c4f61a8..9bc5d57d0 100644 --- a/public/env.js +++ b/public/env.js @@ -22,4 +22,5 @@ window.pagopa_env = { FEATURE_FLAG_NOTIFICATION_CONFIG: 'true', FEATURE_FLAG_ESERVICE_PERSONAL_DATA: 'true', FEATURE_FLAG_USE_SIGNED_DOCUMENT: 'true', + DOCUMENTATION_URL: 'https://developer.pagopa.it/pdnd-interoperabilita/guides/manuale-operativo-pdnd-interoperabilita/v1.0', } diff --git a/setupTests.ts b/setupTests.ts index 14d0856ce..30ba331bd 100644 --- a/setupTests.ts +++ b/setupTests.ts @@ -27,6 +27,7 @@ export const testConfigs = { FEATURE_FLAG_NOTIFICATION_CONFIG: 'true', FEATURE_FLAG_ESERVICE_PERSONAL_DATA: 'true', FEATURE_FLAG_USE_SIGNED_DOCUMENT: 'true', + DOCUMENTATION_URL: 'https://developer.pagopa.it/pdnd-interoperabilita/guides/manuale-operativo-pdnd-interoperabilita/v1.0', } // runs a cleanup after each test case (e.g. clearing jsdom) diff --git a/src/components/layout/Header.tsx b/src/components/layout/Header.tsx index cca63577f..16ada8e70 100644 --- a/src/components/layout/Header.tsx +++ b/src/components/layout/Header.tsx @@ -1,8 +1,8 @@ import React from 'react' import { useNavigate } from '@/router' -import { assistanceLink, documentationLink, pagoPaLink } from '@/config/constants' +import { assistanceLink, pagoPaLink } from '@/config/constants' import { HeaderAccount, HeaderProduct, type ProductSwitchItem } from '@pagopa/mui-italia' -import { FE_LOGIN_URL, SELFCARE_BASE_URL, STAGE } from '@/config/env' +import { DOCUMENTATION_URL, FE_LOGIN_URL, SELFCARE_BASE_URL, STAGE } from '@/config/env' import type { PartySwitchItem } from '@pagopa/mui-italia/dist/components/PartySwitch' import { useTranslation } from 'react-i18next' import type { TFunction } from 'i18next' @@ -179,7 +179,7 @@ export const Header: React.FC = ({ jwt, isSupport }) => { }} onAssistanceClick={goToAssistance} onDocumentationClick={() => { - window.open(documentationLink, '_blank') + window.open(DOCUMENTATION_URL, '_blank') }} // enableAssistanceButton={STAGE === 'UAT' || STAGE === 'PROD'} /> diff --git a/src/components/shared/EserviceTemplate/EServiceTemplateUsefulLinksSection.tsx b/src/components/shared/EserviceTemplate/EServiceTemplateUsefulLinksSection.tsx index 5427dc8b8..f9ba2167e 100644 --- a/src/components/shared/EserviceTemplate/EServiceTemplateUsefulLinksSection.tsx +++ b/src/components/shared/EserviceTemplate/EServiceTemplateUsefulLinksSection.tsx @@ -5,6 +5,7 @@ import { Stack } from '@mui/material' import React from 'react' import LaunchIcon from '@mui/icons-material/Launch' import { useTranslation } from 'react-i18next' +import { implementAndManageEServiceTemplateLink, updateEserviceInstanceLink } from '@/config/constants' export const EServiceTemplateUsefulLinksSection: React.FC = () => { const { t } = useTranslation('eserviceTemplate', { @@ -15,14 +16,14 @@ export const EServiceTemplateUsefulLinksSection: React.FC = () => { } > {t('usefulLinks.implementAndManageEServiceTemplate')} } > diff --git a/src/components/shared/banners/NotificationsBanner.tsx b/src/components/shared/banners/NotificationsBanner.tsx index 3c1febb94..7b755f698 100644 --- a/src/components/shared/banners/NotificationsBanner.tsx +++ b/src/components/shared/banners/NotificationsBanner.tsx @@ -5,7 +5,7 @@ import Button from '@mui/material/Button' import SettingsIcon from '@mui/icons-material/Settings' import OpenInNewIcon from '@mui/icons-material/OpenInNew' import { useNavigate } from '@/router' -import { documentationLink } from '@/config/constants' +import { DOCUMENTATION_URL } from '@/config/env' export const NotificationsBanner: React.FC = () => { const { title, text, action1Label, action2Label, isOpen, closeBanner } = useNotificationsBanner() @@ -35,7 +35,7 @@ export const NotificationsBanner: React.FC = () => { color="inherit" endIcon={} key="action2" - onClick={() => window.open(documentationLink, '_blank')} + onClick={() => window.open(DOCUMENTATION_URL, '_blank')} aria-label="Open in new tab button" > {action2Label} diff --git a/src/config/constants.ts b/src/config/constants.ts index b48098e9b..f434e994f 100644 --- a/src/config/constants.ts +++ b/src/config/constants.ts @@ -1,5 +1,6 @@ import { getCurrentSelfCareProductId } from '@/utils/common.utils' import type { InteropFEConfigs } from './env' +import { DOCUMENTATION_URL } from '@/config/env' export const DEFAULT_LANG = 'it' export const STORAGE_KEY_SESSION_TOKEN = 'token' @@ -17,28 +18,29 @@ export const pagoPaLink = { ariaLabel: 'Vai al sito di PagoPA S.p.A.', title: 'Vai al sito di PagoPA S.p.A.', } -export const documentationLink = 'https://docs.pagopa.it/interoperabilita-1' export const assistanceLink = `https://selfcare.pagopa.it/assistenza?productId=${getCurrentSelfCareProductId()}` -export const attributesHelpLink = `${documentationLink}/manuale-operativo/attributi` -export const verifyVoucherGuideLink = `https://developer.pagopa.it/pdnd-interoperabilita/guides/manuale-operativo-pdnd-interoperabilita/v1.0/riferimenti-tecnici/utilizzare-i-voucher` -export const manageEServiceGuideLink = `${documentationLink}/manuale-operativo/e-service` -export const importExportEServiceGuideLink = `${documentationLink}/manuale-operativo/e-service#esportare-ed-importare-un-e-service` -export const implementAndManageEServiceGuideLink = `${documentationLink}/come-integrare-i-propri-servizi-su-pdnd-interoperabilita` -export const voucherVerificationGuideLink = `${documentationLink}/manuale-operativo/utilizzare-i-voucher#verifica-di-un-voucher-da-parte-di-un-erogatore-di-e-service` -export const interfaceVerificationGuideLink = `${documentationLink}/manuale-operativo/e-service#verificare-lintegrita-di-un-file-di-interfaccia` -export const purposeUpgradeGuideLink = `${documentationLink}/manuale-operativo/finalita` -export const agreementUpgradeGuideLink = `${documentationLink}/manuale-operativo/richieste-di-fruizione#fruitore-aggiornare-una-richiesta-di-fruizione` -export const clientKeyGuideLink = `${documentationLink}/manuale-operativo/client-e-materiale-crittografico` -export const generateKeyGuideLink = `${documentationLink}/manuale-operativo/generare-e-caricare-chiavi-di-sicurezza` -export const payloadVerificationGuideLink = `${documentationLink}/manuale-operativo/utilizzare-i-voucher#verifiche-sul-payload` -export const apiGuideLink = `${documentationLink}/manuale-operativo/api-esposte-da-pdnd-interoperabilita` -export const delegationGuideLink = `${documentationLink}/manuale-operativo/deleghe` -export const delegationEServiceGuideLink = `${documentationLink}/manuale-operativo/e-service#impostazioni-per-le-deleghe` +export const attributesHelpLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/attributi` +export const verifyVoucherGuideLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/utilizzare-i-voucher` +export const manageEServiceGuideLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/e-service` +export const importExportEServiceGuideLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/e-service` +export const implementAndManageEServiceGuideLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/e-service/operazioni-e-ciclo-di-vita` +export const voucherVerificationGuideLink = `${DOCUMENTATION_URL}/tutorial/tutorial-per-lerogatore/come-verificare-la-validita-di-un-voucher-bearer` +export const interfaceVerificationGuideLink = `${DOCUMENTATION_URL}/manuale-operativo/e-service#verificare-lintegrita-di-un-file-di-interfaccia` +export const purposeUpgradeGuideLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/finalita` +export const agreementUpgradeGuideLink = `${DOCUMENTATION_URL}/tutorial/tutorial-per-il-fruitore/come-aggiornare-una-richiesta-di-fruizione` +export const clientKeyGuideLink = `${DOCUMENTATION_URL}/manuale-operativo/client-e-materiale-crittografico` +export const generateKeyGuideLink = `${DOCUMENTATION_URL}/manuale-operativo/generare-e-caricare-chiavi-di-sicurezza` +export const payloadVerificationGuideLink = `${DOCUMENTATION_URL}/manuale-operativo/utilizzare-i-voucher#verifiche-sul-payload` +export const apiGuideLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/api-esposte-da-pdnd` +export const delegationGuideLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/deleghe` +export const delegationEServiceGuideLink = `${DOCUMENTATION_URL}/manuale-operativo/e-service#impostazioni-per-le-deleghe` export const openApiCheckerLink = 'https://italia.github.io/api-oas-checker/' export const eserviceNamingBestPracticeLink = 'https://italia.github.io/pdnd-guida-nomenclatura-eservice/' -export const keychainGuideLink = `${documentationLink}/manuale-operativo/utilizzare-i-voucher#garanzia-dellintegrita-della-risposta` -export const keychainSetupGuideLink = `${documentationLink}/manuale-operativo/utilizzare-i-voucher#precondizioni` +export const keychainGuideLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/utilizzare-i-voucher/garanzia-dellintegrita-della-risposta` +export const keychainSetupGuideLink = `${DOCUMENTATION_URL}/manuale-operativo/utilizzare-i-voucher#precondizioni` +export const implementAndManageEServiceTemplateLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/template-e-service/operazioni-e-ciclo-di-vita` +export const updateEserviceInstanceLink = `${DOCUMENTATION_URL}/riferimenti-tecnici/template-e-service/relazione-tra-template-e-istanza` export const SH_ESERVICES_TO_HIDE_TEMP: Partial>> = { diff --git a/src/config/env.ts b/src/config/env.ts index a67ad77dd..c0dfb5542 100644 --- a/src/config/env.ts +++ b/src/config/env.ts @@ -43,6 +43,7 @@ const EndpointConfigs = z.object({ BACKEND_FOR_FRONTEND_URL: z.url(), INTEROP_RESOURCES_BASE_URL: z.url(), SELFCARE_BASE_URL: z.url(), + DOCUMENTATION_URL: z.url().default('https://developer.pagopa.it/pdnd-interoperabilita/guides/manuale-operativo-pdnd-interoperabilita/v1.0') }) const FEConfigs = z.object({ @@ -116,6 +117,7 @@ export const { FEATURE_FLAG_ESERVICE_PERSONAL_DATA, FEATURE_FLAG_USE_SIGNED_DOCUMENT, DELEGATIONS_ALLOWED_ORIGINS, + DOCUMENTATION_URL, } = parseConfigs() export const APP_MODE = parseAppMode() diff --git a/src/pages/NotificationUserConfigPage/NotificationUserConfig.page.tsx b/src/pages/NotificationUserConfigPage/NotificationUserConfig.page.tsx index aadcc4410..eb934fb01 100644 --- a/src/pages/NotificationUserConfigPage/NotificationUserConfig.page.tsx +++ b/src/pages/NotificationUserConfigPage/NotificationUserConfig.page.tsx @@ -12,7 +12,7 @@ import { type UserNotificationConfigUpdateSeed, } from '@/api/api.generatedTypes' import omit from 'lodash/omit' -import { documentationLink } from '@/config/constants' +import { DOCUMENTATION_URL } from '@/config/env' const NotificationUserConfigPage: React.FC = () => { const { activeTab, updateActiveTab } = useActiveTab('inApp') @@ -24,7 +24,7 @@ const NotificationUserConfigPage: React.FC = () => { description={ , + 1: , }} > {t('description')} diff --git a/src/pages/ProviderEServiceDetailsPage/components/ProviderEServiceDetailsTab/ProviderEServiceTechnicalInfoSection/ProviderEServiceUsefulLinksSection.tsx b/src/pages/ProviderEServiceDetailsPage/components/ProviderEServiceDetailsTab/ProviderEServiceTechnicalInfoSection/ProviderEServiceUsefulLinksSection.tsx index 17eaa9ab0..fc769ef6c 100644 --- a/src/pages/ProviderEServiceDetailsPage/components/ProviderEServiceDetailsTab/ProviderEServiceTechnicalInfoSection/ProviderEServiceUsefulLinksSection.tsx +++ b/src/pages/ProviderEServiceDetailsPage/components/ProviderEServiceDetailsTab/ProviderEServiceTechnicalInfoSection/ProviderEServiceUsefulLinksSection.tsx @@ -40,13 +40,6 @@ export const ProviderEServiceUsefulLinksSection: React.FC = () => { > {t('usefulLinks.wellKnown')} - } - > - {t('usefulLinks.interfaceChecksum')} - ) diff --git a/src/types/common.types.ts b/src/types/common.types.ts index d848f0f61..5802c3a0c 100644 --- a/src/types/common.types.ts +++ b/src/types/common.types.ts @@ -20,6 +20,7 @@ export type PagoPAEnvVars = { SIGNALHUB_PERSONAL_DATA_PROCESS_URL: string FEATURE_FLAG_ESERVICE_PERSONAL_DATA: string DELEGATIONS_ALLOWED_ORIGINS: string + DOCUMENTATION_URL: string } export type ExtendedWindow = Window & {