mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
192 lines
7.1 KiB
JavaScript
192 lines
7.1 KiB
JavaScript
export function isInternalPage(pageParams) {
|
|
return noStringDefined(pageParams.externalLink)
|
|
}
|
|
|
|
function noStringDefined(string) {
|
|
return !string || string === 0
|
|
}
|
|
|
|
function pageLink(pageParams) {
|
|
return isInternalPage(pageParams) ? pageParams.internalLink : pageParams.externalLink
|
|
}
|
|
|
|
class PageParams {
|
|
constructor(pageParams) {
|
|
this.name = pageParams.name
|
|
this.externalLink = pageParams.externalLink
|
|
this.internalLink = pageParams.internalLink
|
|
this.internalPage = pageParams.internalPage
|
|
}
|
|
|
|
assign(assignPageParams) {
|
|
let pageParams = this
|
|
pageParams = {
|
|
...pageParams,
|
|
...assignPageParams,
|
|
internalPage: { ...pageParams.internalPage, ...assignPageParams.internalPage },
|
|
}
|
|
return pageParams
|
|
}
|
|
|
|
get link() {
|
|
return pageLink(this)
|
|
}
|
|
}
|
|
|
|
export const defaultPageParamsPages = {
|
|
ORGANIZATION: new PageParams({
|
|
name: 'organization',
|
|
|
|
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
|
|
headTitleIdent: 'site.made', // localized string identifier
|
|
headlineIdent: 'site.made', // localized string identifier. on null it's hidden, on empty string default is used
|
|
hasContainer: true,
|
|
hasBaseCard: true,
|
|
hasLoginInHeader: true,
|
|
|
|
defaultHeadlineIdent: 'site.made',
|
|
htmlIdent: 'html.organization',
|
|
},
|
|
}),
|
|
DONATE: new PageParams({
|
|
name: 'donate',
|
|
|
|
externalLink: null, // 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
|
|
headTitleIdent: 'site.donate', // localized string identifier
|
|
headlineIdent: 'site.donate', // localized string identifier. on null it's hidden, on empty string default is used
|
|
hasContainer: true,
|
|
hasBaseCard: true,
|
|
hasLoginInHeader: true,
|
|
|
|
defaultHeadlineIdent: 'site.donate',
|
|
htmlIdent: 'html.donate',
|
|
},
|
|
}),
|
|
IMPRINT: new PageParams({
|
|
name: 'imprint',
|
|
|
|
externalLink: null, // 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
|
|
headTitleIdent: 'site.imprint', // localized string identifier
|
|
headlineIdent: 'site.imprint', // localized string identifier. on null it's hidden, on empty string default is used
|
|
hasContainer: true,
|
|
hasBaseCard: true,
|
|
hasLoginInHeader: true,
|
|
|
|
defaultHeadlineIdent: 'site.imprint',
|
|
htmlIdent: 'html.imprint',
|
|
},
|
|
}),
|
|
TERMS_AND_CONDITIONS: new PageParams({
|
|
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
|
|
headTitleIdent: 'site.termsAndConditions', // localized string identifier
|
|
headlineIdent: 'site.termsAndConditions', // localized string identifier. on null it's hidden, on empty string default is used
|
|
hasContainer: true,
|
|
hasBaseCard: true,
|
|
hasLoginInHeader: true,
|
|
|
|
defaultHeadlineIdent: 'site.termsAndConditions',
|
|
htmlIdent: 'html.termsAndConditions',
|
|
},
|
|
}),
|
|
CODE_OF_CONDUCT: new PageParams({
|
|
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
|
|
headTitleIdent: 'site.code-of-conduct', // localized string identifier
|
|
headlineIdent: 'site.code-of-conduct', // localized string identifier. on null it's hidden, on empty string default is used
|
|
hasContainer: true,
|
|
hasBaseCard: true,
|
|
hasLoginInHeader: true,
|
|
|
|
defaultHeadlineIdent: 'site.code-of-conduct',
|
|
htmlIdent: 'html.codeOfConduct',
|
|
},
|
|
}),
|
|
DATA_PRIVACY: new PageParams({
|
|
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
|
|
headTitleIdent: 'site.data-privacy', // localized string identifier
|
|
headlineIdent: 'site.data-privacy', // localized string identifier. on null it's hidden, on empty string default is used
|
|
hasContainer: true,
|
|
hasBaseCard: true,
|
|
hasLoginInHeader: true,
|
|
|
|
defaultHeadlineIdent: 'site.data-privacy',
|
|
htmlIdent: 'html.dataPrivacy',
|
|
},
|
|
}),
|
|
FAQ: new PageParams({
|
|
name: 'faq',
|
|
|
|
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
|
|
headTitleIdent: 'site.faq', // localized string identifier
|
|
headlineIdent: 'site.faq', // localized string identifier. on null it's hidden, on empty string default is used
|
|
hasContainer: true,
|
|
hasBaseCard: true,
|
|
hasLoginInHeader: true,
|
|
|
|
defaultHeadlineIdent: 'site.faq',
|
|
htmlIdent: 'html.faq',
|
|
},
|
|
}),
|
|
SUPPORT: new PageParams({
|
|
name: 'support',
|
|
|
|
// ATTENTION: has to be defined even for internal page with full URL as example like 'https://staging.ocelot.social/support', because it is used in e-mails as well!
|
|
externalLink: 'https://ocelot.social',
|
|
|
|
// in case internal page content is here 'webapp/locales/html/'
|
|
// ATTENTION: example for internal support page: 'https://staging.ocelot.social/support'. set a full URL please, because it is used in e-mails as well!
|
|
internalLink: '/support', // static, don't change '*/support'! internal page in case no external is defined
|
|
internalPage: {
|
|
footerIdent: 'site.support', // localized string identifier
|
|
headTitleIdent: 'site.support', // localized string identifier
|
|
headlineIdent: 'site.support', // localized string identifier. on null it's hidden, on empty string default is used
|
|
hasContainer: true,
|
|
hasBaseCard: true,
|
|
hasLoginInHeader: true,
|
|
|
|
defaultHeadlineIdent: 'site.support',
|
|
htmlIdent: 'html.support',
|
|
},
|
|
}),
|
|
}
|