cryptpad/customize.dist/pages.js

201 lines
6.8 KiB
JavaScript
Raw Normal View History

2017-06-21 16:02:38 +00:00
define([
'/common/hyperscript.js',
'/common/common-language.js',
'/customize/application_config.js',
2017-09-07 14:39:20 +00:00
'/customize/messages.js',
'jquery',
], function (h, Language, AppConfig, Msg, $) {
2017-06-21 16:02:38 +00:00
var Pages = {};
Pages.setHTML = function (e, html) {
e.innerHTML = html;
return e;
};
2017-06-21 16:02:38 +00:00
var languageSelector = function () {
var options = [];
var languages = Msg._languages;
var selected = Msg._languageUsed;
var keys = Object.keys(languages).sort();
keys.forEach(function (l) {
2020-11-05 11:59:15 +00:00
var attr = { value: l, role: 'option'};
if (selected === l) { attr.selected = 'selected'; }
options.push(h('option', attr, languages[l]));
});
2020-11-05 11:59:15 +00:00
var select = h('select', {role: 'listbox', 'label': 'language'}, options);
$(select).change(function () {
Language.setLanguage($(select).val() || '', null, function () {
window.location.reload();
});
});
return select;
};
var footerCol = function (title, L, literal) {
2020-11-12 16:05:51 +00:00
return h('div.col-sm-3', [
h('ul.list-unstyled', [
2017-08-04 15:44:02 +00:00
h('li.footer-title', {
'data-localization': title,
}, title? Msg[title]: literal )
].concat(L.map(function (l) {
return h('li', [ l ]);
}))
)
]);
};
var footLink = function (ref, loc, text) {
var attrs = {
href: ref,
};
if (!/^\//.test(ref)) {
attrs.target = '_blank';
attrs.rel = 'noopener noreferrer';
}
if (loc) {
attrs['data-localization'] = loc;
text = Msg[loc];
}
return h('a', attrs, text);
};
var imprintUrl = AppConfig.imprint && (typeof(AppConfig.imprint) === "boolean" ?
'/imprint.html' : AppConfig.imprint);
2021-02-26 07:34:01 +00:00
Pages.versionString = "v4.2.0";
// used for the about menu
Pages.imprintLink = AppConfig.imprint ? footLink(imprintUrl, 'imprint') : undefined;
Pages.privacyLink = footLink(AppConfig.privacy, 'privacy');
Pages.githubLink = footLink('https://github.com/xwiki-labs/cryptpad', null, 'GitHub');
2020-10-26 14:35:39 +00:00
Pages.docsLink = footLink('https://docs.cryptpad.fr', 'docs_link');
Pages.infopageFooter = function () {
return h('footer', [
h('div.container', [
h('div.row', [
2020-11-12 16:05:51 +00:00
h('div.col-sm-3', [
2020-10-26 14:35:39 +00:00
h('div.cp-logo-foot', [
h('img', {
src: '/customize/CryptPad_logo.svg',
2020-11-05 11:04:04 +00:00
"aria-hidden": true,
alt: ''
2020-10-26 14:35:39 +00:00
}),
h('span.logo-font', 'CryptPad')
2017-08-16 08:51:08 +00:00
])
], ''),
footerCol('footer_product', [
footLink('/what-is-cryptpad.html', 'topbar_whatIsCryptpad'),
2020-10-26 14:35:39 +00:00
Pages.docsLink,
2020-11-19 20:32:59 +00:00
footLink('/features.html', 'pricing'),
Pages.githubLink,
footLink('https://opencollective.com/cryptpad/contribute/', 'footer_donate'),
]),
footerCol('footer_aboutUs', [
footLink('/contact.html', 'contact'),
2020-10-26 14:35:39 +00:00
footLink('https://github.com/xwiki-labs/cryptpad/wiki/Contributors', 'footer_team'),
footLink('http://www.xwiki.com', null, 'XWiki SAS'),
]),
footerCol('footer_legal', [
footLink('/terms.html', 'footer_tos'),
Pages.privacyLink,
Pages.imprintLink,
]),
])
]),
2020-10-26 14:35:39 +00:00
h('div.cp-version-footer', [
languageSelector(),
2020-10-29 15:26:41 +00:00
h('span', "CryptPad " + Pages.versionString)
2020-10-26 14:35:39 +00:00
])
]);
};
Pages.infopageTopbar = function () {
2017-08-04 14:48:01 +00:00
var rightLinks;
var username = window.localStorage.getItem('User_name');
if (username === null) {
rightLinks = [
h('a.nav-item.nav-link.cp-login-btn', { href: '/login/'}, Msg.login_login),
h('a.nav-item.nav-link.cp-register-btn', { href: '/register/'}, Msg.login_register)
2017-08-04 14:48:01 +00:00
];
} else {
rightLinks = h('a.nav-item.nav-link.cp-user-btn', { href: '/drive/' }, [
2017-08-04 14:48:01 +00:00
h('i.fa.fa-user-circle'),
" ",
username
]);
}
2018-03-22 09:49:20 +00:00
var button = h('button.navbar-toggler', {
'type':'button',
/*'data-toggle':'collapse',
'data-target':'#menuCollapse',
'aria-controls': 'menuCollapse',
'aria-expanded':'false',
'aria-label':'Toggle navigation'*/
}, h('i.fa.fa-bars '));
$(button).click(function () {
if ($('#menuCollapse').is(':visible')) {
return void $('#menuCollapse').slideUp();
}
$('#menuCollapse').slideDown();
});
2018-03-20 10:05:43 +00:00
return h('nav.navbar.navbar-expand-lg',
h('a.navbar-brand', { href: '/index.html'}, [
2020-11-05 11:04:04 +00:00
h('img', {
src: '/customize/CryptPad_logo.svg?',
'aria-hidden': true,
alt: ''
}), 'CryptPad'
]),
2018-03-22 09:49:20 +00:00
button,
2018-03-20 10:05:43 +00:00
h('div.collapse.navbar-collapse.justify-content-end#menuCollapse', [
h('a.nav-item.nav-link', { href: 'https://blog.cryptpad.fr/'}, Msg.blog),
2020-11-19 20:32:59 +00:00
h('a.nav-item.nav-link', { href: '/features.html'}, Msg.pricing),
h('a.nav-item.nav-link', { href: '/what-is-cryptpad.html'}, Msg.about),
2020-11-19 20:30:21 +00:00
h('a.nav-item.nav-link', { href: 'https://docs.cryptpad.fr'}, Msg.docs_link),
2018-03-20 10:05:43 +00:00
].concat(rightLinks))
);
};
Pages.crowdfundingButton = function (onClick) {
var _link = h('a', {
href: "https://opencollective.com/cryptpad/",
target: '_blank',
rel: 'noopener',
});
var crowdFunding = h('button', [
Msg.crowdfunding_button
]);
$(crowdFunding).click(function () {
_link.click();
if (typeof(onClick) === 'function') { onClick(); }
});
return crowdFunding;
};
2021-01-21 13:35:16 +00:00
Pages.subscribeButton = function (onClick) {
var _link = h('a', {
href: AppConfig.upgradeURL || "/accounts/",
2021-01-21 13:35:16 +00:00
});
var subscribe = h('button', [
Msg.features_f_subscribe,
2021-01-21 13:35:16 +00:00
]);
$(subscribe).click(function () {
_link.click();
if (typeof(onClick) === 'function') { onClick(); }
});
return subscribe;
};
2017-06-21 16:02:38 +00:00
return Pages;
});