From 6e723fdbd740b4f1efbb328ed3bc3b5176be1c61 Mon Sep 17 00:00:00 2001 From: Thomas Arrow Date: Wed, 22 Jul 2026 14:42:57 +0100 Subject: [PATCH 1/5] Add HostingPolicyRenderer Component This commit introduces the HostingPolicyRenderer component which calls the Platform API to render the hosting-policy routes looking like /hosting-policy/:activeFrom It follows a similar pattern to the TermsOfUseRenderer but doesn't include a navigation component since we do not have multiple versions to consider yet. It also introduces a stub hosting policy content for viewing on staging. This won't be visible on production because there is not a corresponding Policy object in the production DB This commit also adjusts the TermsOfUseRenderer to determine the vue component to load using the content_vue_file key from the API response rather than by trying to determine it from the active_from date. Bug: T432340 --- .../HostingPolicy/HostingPolicyRenderer.vue | 62 +++++++++++++++++++ .../hosting-policy/version-1.vue | 18 ++++++ .../Pages/TermsOfUse/TermsOfUseRenderer.vue | 4 +- .../{2022-01-01.vue => version-1.vue} | 0 src/router/index.js | 6 ++ 5 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue create mode 100644 src/components/Pages/HostingPolicy/hosting-policy/version-1.vue rename src/components/Pages/TermsOfUse/terms-of-use/{2022-01-01.vue => version-1.vue} (100%) diff --git a/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue b/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue new file mode 100644 index 00000000..5e97723e --- /dev/null +++ b/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/components/Pages/HostingPolicy/hosting-policy/version-1.vue b/src/components/Pages/HostingPolicy/hosting-policy/version-1.vue new file mode 100644 index 00000000..6d38a82a --- /dev/null +++ b/src/components/Pages/HostingPolicy/hosting-policy/version-1.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue b/src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue index d30f65a0..dfae1c63 100644 --- a/src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue +++ b/src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue @@ -18,7 +18,7 @@ import TermsOfUseNavigationPanel from './TermsOfUseNavigationPanel.vue' export const versions = { - '2022-01-01': () => ({ component: import('./terms-of-use/2022-01-01.vue') }), + 'terms-of-use/version-1.vue': () => ({ component: import('./terms-of-use/version-1.vue') }), } export default { @@ -45,7 +45,7 @@ export default { const response = await this.$api.policyByDate({ policyType, activeFrom }) const metadata = await response.metadata - this.policy = versions[metadata.active_from] + this.policy = versions[metadata.content_vue_file] } catch (error) { console.error(error) alert('Failed to load policy.') diff --git a/src/components/Pages/TermsOfUse/terms-of-use/2022-01-01.vue b/src/components/Pages/TermsOfUse/terms-of-use/version-1.vue similarity index 100% rename from src/components/Pages/TermsOfUse/terms-of-use/2022-01-01.vue rename to src/components/Pages/TermsOfUse/terms-of-use/version-1.vue diff --git a/src/router/index.js b/src/router/index.js index 7b005e77..9c7f89ab 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -22,6 +22,7 @@ import User from '@/components/Pages/User' import Discovery from '@/components/Pages/Discovery/Discovery' import Complaint from '@/components/Pages/Complaint.vue' import HostingPolicy from '@/components/Pages/HostingPolicy.vue' +import HostingPolicyRenderer from '@/components/Pages/HostingPolicy/HostingPolicyRenderer.vue' import DsaInfo from '@/components/Pages/DsaInfo/DsaInfo' Vue.use(Router) @@ -94,6 +95,11 @@ const router = new Router({ name: 'Hosting Policy', component: HostingPolicy, }, + { + path: '/hosting-policy/:activeFrom', + name: 'Hosting Policy', + component: HostingPolicyRenderer, + }, { path: '/privacy-policy', name: 'Privacy', From 3cad5bcafc9c5d5566149aae3286a264db3eb1d6 Mon Sep 17 00:00:00 2001 From: dena Date: Thu, 23 Jul 2026 13:48:34 +0200 Subject: [PATCH 2/5] refine error handling UX --- .../Pages/HostingPolicy/HostingPolicyRenderer.vue | 6 +++++- src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue b/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue index 5e97723e..1248635b 100644 --- a/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue +++ b/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue @@ -1,5 +1,8 @@