diff --git a/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue b/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue
new file mode 100644
index 00000000..d21c1430
--- /dev/null
+++ b/src/components/Pages/HostingPolicy/HostingPolicyRenderer.vue
@@ -0,0 +1,72 @@
+
+
+
+ An error occurred while trying to load the requested policy. Please try again later.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+ Hosting Policy for Wikibase Cloud Staging Fake Version
+ Rest of the content would be here.
+
+
+
+
+
+
+
diff --git a/src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue b/src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue
index d30f65a0..c3603503 100644
--- a/src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue
+++ b/src/components/Pages/TermsOfUse/TermsOfUseRenderer.vue
@@ -1,6 +1,9 @@
-
+
+ An error occurred while trying to load the requested policy. Please try again later.
+
+
@@ -18,7 +21,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 {
@@ -34,6 +37,7 @@ export default {
data () {
return {
policy: undefined,
+ error: undefined,
}
},
methods: {
@@ -45,10 +49,16 @@ export default {
const response = await this.$api.policyByDate({ policyType, activeFrom })
const metadata = await response.metadata
- this.policy = versions[metadata.active_from]
+ const policy = versions[metadata.content_vue_file]
+
+ if (policy !== undefined) {
+ this.policy = policy
+ } else {
+ this.error = 'missing policy'
+ }
} catch (error) {
+ this.error = 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',