Merge branch 'front-page' of https://git.xwikisas.com/xwiki-labs/cryptpad into front-page
This commit is contained in:
commit
10e50fc5c7
BIN
customize.dist/images/ludovic.jpg
Normal file
BIN
customize.dist/images/ludovic.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 MiB |
@ -77,25 +77,19 @@ define([
|
|||||||
};
|
};
|
||||||
|
|
||||||
var infopageTopbar = function () {
|
var infopageTopbar = function () {
|
||||||
return h('div.cp-topbar',
|
return h('nav.navbar.navbar-toggleable-md',
|
||||||
h('div',
|
h('button.navbar-toggler.navbar-toggler-right', {'type':'button'}, {'data-toggle':'collapse'}, {'data-target':'#menuCollapse'}, {'aria-controls': 'menuCollapse'}, {'aria-expanded':'false'}, {'aria-label':'Toggle navigation'},
|
||||||
h('a.navbar-brand', { href: 'index.html'}, [
|
|
||||||
h( 'img', { src: '/customize/CryptPad-white-logo.svg' })
|
|
||||||
])
|
|
||||||
),
|
|
||||||
h('div.navbar.navbar-toggleable-md.navbar-light.navbar-inverse',
|
|
||||||
h('button.navbar-toggler.navbar-toggler-right', {'type':'button'}, {'data-toggle':'collapse'}, {'data-target':'#menuCollapse'}, {'aria-controls': 'menuCollapse'}, {'aria-expanded':'false'}, {'aria-label':'Toggle navigation'},
|
|
||||||
[h('i.fa.fa-bars ')
|
[h('i.fa.fa-bars ')
|
||||||
]),
|
]),
|
||||||
h('div.collapse.navbar-collapse.justify-content-end.flex-column#menuCollapse', [
|
h('a.navbar-brand', { href: '/'}),
|
||||||
|
h('div.collapse.navbar-collapse.justify-content-end#menuCollapse', [
|
||||||
h('a.nav-item.nav-link', { href: '/what-is-cryptpad.html'}, Msg.topbar_whatIsCryptpad),
|
h('a.nav-item.nav-link', { href: '/what-is-cryptpad.html'}, Msg.topbar_whatIsCryptpad),
|
||||||
h('a.nav-item.nav-link', { href: 'https://blog.cryptpad.fr/'}, Msg.blog),
|
h('a.nav-item.nav-link', { href: 'https://blog.cryptpad.fr/'}, Msg.blog),
|
||||||
h('a.nav-item.nav-link', { href: '/contact.html'}, Msg.contact),
|
h('a.nav-item.nav-link', { href: '/contact.html'}, Msg.contact),
|
||||||
h('a.nav-item.nav-link', { href: '/about.html'}, Msg.about),
|
h('a.nav-item.nav-link', { href: '/about.html'}, Msg.about),
|
||||||
h('a.cp-login-btn', { href: '/login'}, Msg.login_login),
|
h('a.nav-item.nav-link.cp-login-btn', { href: '/login'}, Msg.login_login),
|
||||||
h('a.cp-register-btn', { href: '/register'}, Msg.login_register)
|
h('a.nav-item.nav-link.cp-register-btn', { href: '/register'}, Msg.login_register)
|
||||||
])
|
])
|
||||||
)
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -138,9 +132,9 @@ define([
|
|||||||
setHTML(h('div#bio'), '')
|
setHTML(h('div#bio'), '')
|
||||||
]),
|
]),
|
||||||
h('div.col-md-4', [
|
h('div.col-md-4', [
|
||||||
h('img.bio-avatar', {'src': '/customize/images/avatar.png'}),
|
h('img.bio-avatar', {'src': '/customize/images/ludovic.jpg'}),
|
||||||
h('h3', "Ludovic Dubost"),
|
h('h3', "Ludovic Dubost"),
|
||||||
setHTML(h('div#bio'), '')
|
setHTML(h('div#bio'), '<p>A graduate of PolyTech (X90) and Telecom School in Paris, Ludovic Dubost started his career as a software architect for Netscape Communications Europe. He then became CTO of NetValue, one of the first French start-ups that went public. He left NetValue after the company was purchased by Nielsen/NetRatings and in 2004 launched XWiki, the next generation wiki.</p><p>Since the very beginning, Ludovic has been immensely helpful to the CryptPad project. He believed in the idea when there was nothing more than the collaborative pad and his help with sales strategy for the project.</p>')
|
||||||
])
|
])
|
||||||
]),
|
]),
|
||||||
]),
|
]),
|
||||||
@ -280,9 +274,11 @@ define([
|
|||||||
if (showingMore) {
|
if (showingMore) {
|
||||||
$('.cp-more, .cp-callout-more-lessmsg').addClass('cp-hidden');
|
$('.cp-more, .cp-callout-more-lessmsg').addClass('cp-hidden');
|
||||||
$('.cp-callout-more-moremsg').removeClass('cp-hidden');
|
$('.cp-callout-more-moremsg').removeClass('cp-hidden');
|
||||||
|
if ( $( window ).width() >991 ) $('.navbar').css('margin-top','-1em');
|
||||||
} else {
|
} else {
|
||||||
$('.cp-more, .cp-callout-more-lessmsg').removeClass('cp-hidden');
|
$('.cp-more, .cp-callout-more-lessmsg').removeClass('cp-hidden');
|
||||||
$('.cp-callout-more-moremsg').addClass('cp-hidden');
|
$('.cp-callout-more-moremsg').addClass('cp-hidden');
|
||||||
|
$('.navbar').css('margin-top','0');
|
||||||
}
|
}
|
||||||
showingMore = !showingMore;
|
showingMore = !showingMore;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,43 +62,39 @@
|
|||||||
//font-style: italic;
|
//font-style: italic;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.cp-topbar {
|
.navbar {
|
||||||
//position: absolute;
|
width: 100%;
|
||||||
background: transparent;
|
margin-top: -1em;
|
||||||
|
@media only screen and (max-device-width: 991px) {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
.navbar-brand {
|
||||||
|
background: url(/customize/CryptPad-white-logo.svg) no-repeat;
|
||||||
|
width: 250px;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
a {
|
a {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
padding: 0.5em 0.5em 0.5em 0.5em;
|
border: 2px solid transparent;
|
||||||
|
&:visited {
|
||||||
|
color: rgba(255,255,255,.8);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
.nav-link {
|
||||||
|
padding: 0.5em 0.7em;
|
||||||
|
&:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
.cp-register-btn {
|
||||||
|
border: 2px solid #fff;
|
||||||
}
|
}
|
||||||
button:focus {
|
button:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
.collapse {
|
.navbar-toggler {
|
||||||
a {
|
margin-top: 10px;
|
||||||
display: block;
|
color: #fff;
|
||||||
}
|
|
||||||
}
|
|
||||||
.navbar-toggler-left {
|
|
||||||
top: -0.59rem;
|
|
||||||
}
|
|
||||||
.cp-left {
|
|
||||||
.fa-bars {
|
|
||||||
font-size: 1.6rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
a.cp-logo {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
height: 5vh;
|
|
||||||
margin-top: -4px;
|
|
||||||
}
|
|
||||||
&:hover {
|
|
||||||
img {
|
|
||||||
transform: none;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
a.cp-logo {
|
|
||||||
display: none;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@callout-padding: 15px;
|
@callout-padding: 15px;
|
||||||
@ -119,9 +115,9 @@ a:hover {
|
|||||||
color: black;
|
color: black;
|
||||||
&:hover { text-decoration-line: none; }
|
&:hover { text-decoration-line: none; }
|
||||||
}
|
}
|
||||||
div {
|
div h4 {
|
||||||
@media only screen and (min-device-width: 576px) and (max-device-width: 767px) {
|
@media only screen and (min-device-width: 576px) and (max-device-width: 767px) {
|
||||||
left: 4.5em !important;
|
font-size: 1.3em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -192,11 +188,6 @@ h4 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.navbar-inverse .navbar-toggler {
|
|
||||||
border-color: transparent;
|
|
||||||
margin-top: -12px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
@media (min-width: 576px) and (max-width: 767px) {
|
@media (min-width: 576px) and (max-width: 767px) {
|
||||||
.container {
|
.container {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
@ -208,22 +199,25 @@ h4 {
|
|||||||
}
|
}
|
||||||
@media (max-width: 991px) {
|
@media (max-width: 991px) {
|
||||||
#menuCollapse {
|
#menuCollapse {
|
||||||
/*position: absolute;
|
|
||||||
left: -131px;*/
|
|
||||||
margin-top: 0.5em;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
#menuCollapse a {
|
|
||||||
width: 100%;
|
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.navbar-nav a {
|
.navbar-nav a {
|
||||||
text-align: right !important;
|
text-align: right !important;
|
||||||
}
|
}
|
||||||
.cp-right .cp-login-btn {
|
.cp-register-btn {
|
||||||
padding: 0.5em;
|
margin-right: 13px;
|
||||||
|
margin-left: 83vw;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (max-width: 687px) {
|
||||||
|
.cp-register-btn {
|
||||||
|
margin-left: 75vw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.collapsing a {
|
@media (max-width: 467px) {
|
||||||
text-align: right !important;
|
.cp-register-btn {
|
||||||
|
margin-left: 63vw;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -165,12 +165,22 @@ define([
|
|||||||
|
|
||||||
var channels = Msg.channels = window.channels = {};
|
var channels = Msg.channels = window.channels = {};
|
||||||
|
|
||||||
|
var msgAlreadyKnown = function (channel, sig) {
|
||||||
|
return channel.messages.some(function (message) {
|
||||||
|
return message[0] === sig;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
var pushMsg = function (common, channel, cryptMsg) {
|
var pushMsg = function (common, channel, cryptMsg) {
|
||||||
var msg = channel.encryptor.decrypt(cryptMsg);
|
var msg = channel.encryptor.decrypt(cryptMsg);
|
||||||
|
|
||||||
|
var sig = cryptMsg.slice(0, 64);
|
||||||
|
if (msgAlreadyKnown(channel, sig)) { return; }
|
||||||
|
|
||||||
var parsedMsg = JSON.parse(msg);
|
var parsedMsg = JSON.parse(msg);
|
||||||
if (parsedMsg[0] === Types.message) {
|
if (parsedMsg[0] === Types.message) {
|
||||||
parsedMsg.shift();
|
parsedMsg.shift();
|
||||||
channel.messages.push([cryptMsg.slice(0,64), parsedMsg]);
|
channel.messages.push([sig, parsedMsg]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
var proxy;
|
var proxy;
|
||||||
|
|||||||
@ -1813,7 +1813,7 @@ define([
|
|||||||
(parseInt(verArr[0]) === parseInt(storedArr[0]) &&
|
(parseInt(verArr[0]) === parseInt(storedArr[0]) &&
|
||||||
parseInt(verArr[1]) > parseInt(storedArr[1]));
|
parseInt(verArr[1]) > parseInt(storedArr[1]));
|
||||||
if (!shouldUpdate) { return; }
|
if (!shouldUpdate) { return; }
|
||||||
common.alert(Messages._getKey('newVersion', [verArr.join('.')]), null, true);
|
//common.alert(Messages._getKey('newVersion', [verArr.join('.')]), null, true);
|
||||||
localStorage[CRYPTPAD_VERSION] = ver;
|
localStorage[CRYPTPAD_VERSION] = ver;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user