diff --git a/backend/src/config/links.js b/backend/src/config/links.js
index b111726f3..07b97aa60 100644
--- a/backend/src/config/links.js
+++ b/backend/src/config/links.js
@@ -1,6 +1,7 @@
// this file is duplicated in `backend/src/config/links.js` and `webapp/constants/links.js` and replaced on rebranding by https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/tree/master/branding/constants/
export default {
- LANDING_PAGE: '/login', // examples: '/login', '/registration', '/organization', or external 'https://ocelot.social'
+ // Wolle LANDING_PAGE: '/login', // examples: '/login', '/registration', '/organization', or external 'https://ocelot.social'
+ LANDING_PAGE: '/organization', // examples: '/login', '/registration', '/organization', or external 'https://ocelot.social'
// you can find and store templates at https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/tree/master/branding/templates/
diff --git a/webapp/constants/links.js b/webapp/constants/links.js
index b111726f3..aa96fc2f3 100644
--- a/webapp/constants/links.js
+++ b/webapp/constants/links.js
@@ -1,17 +1,135 @@
// this file is duplicated in `backend/src/config/links.js` and `webapp/constants/links.js` and replaced on rebranding by https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/tree/master/branding/constants/
-export default {
- LANDING_PAGE: '/login', // examples: '/login', '/registration', '/organization', or external 'https://ocelot.social'
- // you can find and store templates at https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/tree/master/branding/templates/
+const ORGANIZATION = {
+ name: 'organization',
+
+ // Wolle externalLink: 'https://ocelot.social',
+ externalLink: null, // if string is defined and not empty it's dominating
+
+ // in case internal page content is here 'webapp/locales/html/'
+ internalLink: '/organization', // static, don't change! internal page in case no external is defined
+ internalPage: {
+ footerIdent: 'site.made', // localized string identifier
+ // Wolle headlineIdent: null, // on null default is used, on empty string it's hidden
+ headlineIdent: '', // localized string identifier. on null default is used, on empty string it's hidden
+ hasBaseCard: true,
+ hasLoginInHeader: true,
+ },
+}
+const DONATE = {
+ name: 'donate',
+
+ // Wolle externalLink: 'https://ocelot-social.herokuapp.com/donations', // we use 'ocelot-social.herokuapp.com' at the moment, because redirections of 'ocelot.social' subpages are not working correctly
+ externalLink: '', // if string is defined and not empty it's dominating
+
+ // in case internal page content is here 'webapp/locales/html/'
+ internalLink: '/donate', // static, don't change! internal page in case no external is defined
+ internalPage: {
+ footerIdent: 'site.donate', // localized string identifier
+ headlineIdent: null, // localized string identifier. on null default is used, on empty string it's hidden
+ hasBaseCard: true,
+ hasLoginInHeader: true,
+ },
+}
+const IMPRINT = {
+ name: 'imprint',
+
+ // Wolle externalLink: 'https://ocelot-social.herokuapp.com/imprint', // we use 'ocelot-social.herokuapp.com' at the moment, because redirections of 'ocelot.social' subpages are not working correctly
+ externalLink: '', // if string is defined and not empty it's dominating
+
+ // in case internal page content is here 'webapp/locales/html/'
+ internalLink: '/imprint', // static, don't change! internal page in case no external is defined
+ internalPage: {
+ footerIdent: 'site.imprint', // localized string identifier
+ headlineIdent: null, // localized string identifier. on null default is used, on empty string it's hidden
+ hasBaseCard: true,
+ hasLoginInHeader: true,
+ },
+}
+const TERMS_AND_CONDITIONS = {
+ name: 'terms-and-conditions',
+
+ externalLink: null, // if string is defined and not empty it's dominating
+
+ // in case internal page content is here 'webapp/locales/html/'
+ internalLink: '/terms-and-conditions', // static, don't change! internal page in case no external is defined
+ internalPage: {
+ footerIdent: 'site.termsAndConditions', // localized string identifier
+ headlineIdent: null, // localized string identifier. on null default is used, on empty string it's hidden
+ hasBaseCard: true,
+ hasLoginInHeader: true,
+ },
+}
+const CODE_OF_CONDUCT = {
+ name: 'code-of-conduct',
+
+ externalLink: null, // if string is defined and not empty it's dominating
+
+ // in case internal page content is here 'webapp/locales/html/'
+ internalLink: '/code-of-conduct', // static, don't change! internal page in case no external is defined
+ internalPage: {
+ footerIdent: 'site.code-of-conduct', // localized string identifier
+ headlineIdent: null, // localized string identifier. on null default is used, on empty string it's hidden
+ hasBaseCard: true,
+ hasLoginInHeader: true,
+ },
+}
+const DATA_PRIVACY = {
+ name: 'data-privacy',
+
+ externalLink: null, // if string is defined and not empty it's dominating
+
+ // in case internal page content is here 'webapp/locales/html/'
+ internalLink: '/data-privacy', // static, don't change! internal page in case no external is defined
+ internalPage: {
+ footerIdent: 'site.data-privacy', // localized string identifier
+ headlineIdent: null, // localized string identifier. on null default is used, on empty string it's hidden
+ hasBaseCard: true,
+ hasLoginInHeader: true,
+ },
+}
+const FAQ = {
+ name: 'faq',
+
+ // Wolle externalLink: 'https://ocelot.social',
+ externalLink: null, // if string is defined and not empty it's dominating
+
+ // in case internal page content is here 'webapp/locales/html/'
+ internalLink: '/faq', // static, don't change! internal page in case no external is defined
+ internalPage: {
+ footerIdent: 'site.faq', // localized string identifier
+ // Wolle headlineIdent: null, // on null default is used, on empty string it's hidden
+ headlineIdent: null, // localized string identifier. on null default is used, on empty string it's hidden
+ hasBaseCard: true,
+ hasLoginInHeader: true,
+ },
+}
+
+export default {
+ // Wolle LANDING_PAGE: '/login', // examples: '/login', '/registration', '/organization', or external 'https://ocelot.social'
+ LANDING_PAGE: '/organization', // examples: '/login', '/registration', '/organization', or external 'https://ocelot.social'
+
+ // you can find and store templates for 👇🏼 at https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/tree/master/branding/templates/
SUPPORT: 'https://ocelot.social', // example for internal support page: 'https://staging.ocelot.social/support'. set a full URL please, because it is used in e-mails as well!
- // on null or empty strings internal pages are used, see 'webapp/locales/html/'
- ORGANIZATION: 'https://ocelot.social',
- DONATE: 'https://ocelot-social.herokuapp.com/donations', // we use 'ocelot-social.herokuapp.com' at the moment, because redirections of 'ocelot.social' subpages are not working correctly
- IMPRINT: 'https://ocelot-social.herokuapp.com/imprint', // we use 'ocelot-social.herokuapp.com' at the moment, because redirections of 'ocelot.social' subpages are not working correctly
- TERMS_AND_CONDITIONS: null,
- CODE_OF_CONDUCT: null,
- DATA_PRIVACY: null,
- FAQ: 'https://ocelot.social',
+ ORGANIZATION,
+ DONATE,
+ IMPRINT,
+ TERMS_AND_CONDITIONS,
+ CODE_OF_CONDUCT,
+ DATA_PRIVACY,
+ FAQ,
+
+ FOOTER_LINK_LIST: [
+ ORGANIZATION,
+ TERMS_AND_CONDITIONS,
+ CODE_OF_CONDUCT,
+ DATA_PRIVACY,
+ FAQ,
+ // DONATE,
+ // Wolle
+ DONATE,
+ IMPRINT,
+ ],
}
diff --git a/webapp/locales/de.json b/webapp/locales/de.json
index de8e98888..aa63d455a 100644
--- a/webapp/locales/de.json
+++ b/webapp/locales/de.json
@@ -781,6 +781,7 @@
"contact": "Kontakt",
"data-privacy": "Datenschutzerklärung",
"director": "Geschäftsführer",
+ "donate": "Spenden",
"error-occurred": "Ein Fehler ist aufgetreten.",
"faq": "FAQ",
"germany": "Deutschland",
diff --git a/webapp/locales/en.json b/webapp/locales/en.json
index 0ad660272..06086f04d 100644
--- a/webapp/locales/en.json
+++ b/webapp/locales/en.json
@@ -781,6 +781,7 @@
"contact": "Contact",
"data-privacy": "Data privacy",
"director": "Managing Director",
+ "donate": "Donate",
"error-occurred": "An error occurred.",
"faq": "FAQ",
"germany": "Germany",
diff --git a/webapp/locales/html/de/donate.html b/webapp/locales/html/de/donate.html
new file mode 100644
index 000000000..773c5db32
--- /dev/null
+++ b/webapp/locales/html/de/donate.html
@@ -0,0 +1,5 @@
+
+
+
+
+
Hier steht was zu den Spenden.
diff --git a/webapp/locales/html/de/index.js b/webapp/locales/html/de/index.js index 4daae480e..341ab9bdd 100644 --- a/webapp/locales/html/de/index.js +++ b/webapp/locales/html/de/index.js @@ -5,6 +5,7 @@ import codeOfConduct from './code-of-conduct.html' import dataPrivacy from './data-privacy.html' import faq from './faq.html' import imprint from './imprint.html' +import donate from './donate.html' export default { organization, @@ -14,4 +15,5 @@ export default { dataPrivacy, faq, imprint, + donate, } diff --git a/webapp/locales/html/en/donate.html b/webapp/locales/html/en/donate.html new file mode 100644 index 000000000..c82001587 --- /dev/null +++ b/webapp/locales/html/en/donate.html @@ -0,0 +1,5 @@ + + + +Here's what it says about donations.
diff --git a/webapp/locales/html/en/index.js b/webapp/locales/html/en/index.js index 4daae480e..341ab9bdd 100644 --- a/webapp/locales/html/en/index.js +++ b/webapp/locales/html/en/index.js @@ -5,6 +5,7 @@ import codeOfConduct from './code-of-conduct.html' import dataPrivacy from './data-privacy.html' import faq from './faq.html' import imprint from './imprint.html' +import donate from './donate.html' export default { organization, @@ -14,4 +15,5 @@ export default { dataPrivacy, faq, imprint, + donate, } diff --git a/webapp/nuxt.config.js b/webapp/nuxt.config.js index 08eb66989..b4fc3aa7c 100644 --- a/webapp/nuxt.config.js +++ b/webapp/nuxt.config.js @@ -45,6 +45,7 @@ export default { 'imprint', 'data-privacy', 'faq', + 'donate', ], // pages to keep alive keepAlivePages: ['index'], diff --git a/webapp/pages/donate.spec.js b/webapp/pages/donate.spec.js new file mode 100644 index 000000000..2fae9d67a --- /dev/null +++ b/webapp/pages/donate.spec.js @@ -0,0 +1,38 @@ +import { mount } from '@vue/test-utils' +import Donate from './donate.vue' +import VueMeta from 'vue-meta' + +const localVue = global.localVue +localVue.use(VueMeta, { keyName: 'head' }) + +describe('donate.vue', () => { + let wrapper + let mocks + + beforeEach(() => { + mocks = { + $t: (t) => t, + } + }) + + describe('mount', () => { + const Wrapper = () => { + return mount(Donate, { + mocks, + localVue, + }) + } + + beforeEach(() => { + wrapper = Wrapper() + }) + + it('renders', () => { + expect(wrapper.is('div')).toBe(true) + }) + + it('has correct content', () => { + expect(wrapper.vm.$metaInfo.title).toBe('site.donate') + }) + }) +}) diff --git a/webapp/pages/donate.vue b/webapp/pages/donate.vue new file mode 100644 index 000000000..a3e25bb46 --- /dev/null +++ b/webapp/pages/donate.vue @@ -0,0 +1,21 @@ + +