Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging

This commit is contained in:
ansuz
2017-02-02 18:49:17 +01:00
12 changed files with 138 additions and 54 deletions

View File

@@ -4,7 +4,7 @@ define(function() {
/* Select the buttons displayed on the main page to create new collaborative sessions
* Existing types : pad, code, poll, slide
*/
config.availablePadTypes = ['pad', 'code', 'slide', 'poll'];
config.availablePadTypes = ['drive', 'pad', 'code', 'slide', 'poll'];
/* Cryptpad apps use a common API to display notifications to users
* by default, notifications are hidden after 5 seconds

View File

@@ -70,14 +70,14 @@
<div id="main">
<div class="mainOverlay"></div>
<div id="main-container">
<div id="data">
<div id="data" class="hidden">
<p class="left" data-localization="main_p1"><!-- Zero Knowledge collaborative realtime editor. Protected from the NSA. --></p>
<div id="buttons" class="buttons"><button class="btn btn-secondary nologin" data-localization="login_nologin"></button></div>
</div>
<div id="userForm" class="form-group">
<div id="userForm" class="form-group hidden">
<!--<center>
<h1 data-localization="form_title"></h1>
</center>-->
@@ -89,6 +89,11 @@
<div style="display: none;"><span class="remember form-check"><label for="rememberme" class="form-check-label" data-localization-append="login_remember"><input type="checkbox" id="rememberme" class="form-check-input" checked="checked"></label></span><br></div>
<button class="btn btn-secondary login half first" data-localization="login_login"></button> <button class="btn btn-primary register half" data-localization="login_register"></button><br>
</div>
<div id="loggedIn" class="hidden">
<p id="loggedInHello"></p>
<p><button class="btn btn-primary nologin" data-localization="login_accessDrive"></button></p>
<p><button id="loggedInLogOut" class="btn btn-secondary" data-localization="logoutButton"></button></p>
</div>
</div>
</div>
<div class="page category first" id="knowmore">

View File

@@ -679,9 +679,6 @@ html.cp,
background-color: #000;
opacity: 0.35;
}
.cp #mainBlock.hidden {
display: none;
}
.cp #noscriptContainer {
color: black;
position: absolute;
@@ -714,6 +711,9 @@ html.cp,
background-attachment: fixed;
background-position: center;
}
.cp #main .hidden {
display: none !important;
}
.cp #main_other {
padding: 0 15vw;
background-color: #fafafa;
@@ -783,6 +783,32 @@ html.cp,
margin-top: 20px;
margin-bottom: 5px;
}
.cp #main #loggedIn,
.cp #main_other #loggedIn {
color: #fff;
display: inline-block;
position: absolute;
top: 50%;
right: 0;
margin-left: 50px;
width: 350px;
max-width: 35%;
transform: translateY(-50%);
text-align: center;
font-weight: bold;
}
.cp #main #loggedIn button,
.cp #main_other #loggedIn button {
font-weight: bold;
cursor: pointer;
}
.cp #main #loggedIn p,
.cp #main_other #loggedIn p {
margin: 20px;
padding: 0;
font-size: 20px;
line-height: 1.5em;
}
.cp #main #userForm,
.cp #main_other #userForm {
position: absolute;

View File

@@ -6,37 +6,55 @@ define([
'/customize/languageSelector.js',
'/bower_components/jquery/dist/jquery.min.js',
], function (Messages, Config, Cryptpad, LilUri, LS) {
if (Cryptpad.isLoggedIn()) {
document.location.href = '/drive';
return;
}
var $ = window.$;
var USE_TABLE = Config.USE_HOMEPAGE_TABLE;
var USE_FS_STORE = Config.USE_FS_STORE;
var $main = $('#mainBlock');
var APP = window.APP = {
Cryptpad: Cryptpad,
};
// Language selector
var $sel = $('#language-selector');
Cryptpad.createLanguageSelector(undefined, $sel);
$sel.find('button').addClass('btn').addClass('btn-secondary');
$sel.show();
$(window).click(function () {
$('.cryptpad-dropdown').hide();
});
// main block is hidden in case javascript is disabled
$('#mainBlock').removeClass('hidden');
$main.removeClass('hidden');
var padTypes = {
'/pad/': Messages.type.pad,
'/code/': Messages.type.code,
'/poll/': Messages.type.poll,
'/slide/': Messages.type.slide,
};
// Make sure we don't display non-translated content (empty button)
$main.find('#data').removeClass('hidden');
var now = new Date();
var hasRecent = false;
if (Cryptpad.isLoggedIn()) {
var name = localStorage[Cryptpad.userNameKey] || sessionStorage[Cryptpad.userNameKey];
var $loggedInBlock = $main.find('#loggedIn');
var $hello = $loggedInBlock.find('#loggedInHello');
var $logout = $loggedInBlock.find('#loggedInLogOut');
$hello.text(Messages._getKey('login_hello', [name]));
$('#buttons').find('.nologin').hide();
$logout.click(function () {
Cryptpad.logout(function () {
window.location.reload();
});
});
$loggedInBlock.removeClass('hidden');
//return;
} else {
$main.find('#userForm').removeClass('hidden');
}
var displayCreateButtons = function () {
var $parent = $('#buttons');
var options = [];
Config.availablePadTypes.forEach(function (el) {
if (el === 'drive') { return; }
options.push({
tag: 'a',
attributes: {
@@ -55,17 +73,6 @@ define([
$block.find('button').addClass('btn').addClass('btn-success');
$block.appendTo($parent);
};
// Language selector
var $sel = $('#language-selector');
Cryptpad.createLanguageSelector(undefined, $sel);
$sel.find('button').addClass('btn').addClass('btn-secondary');
$sel.show();
$(window).click(function () {
$sel.find('.cryptpad-dropdown').hide();
});
var addButtonHandlers = function () {
$('button.login').click(function (e) {
var username = $('#name').val();

View File

@@ -3,14 +3,14 @@
<div id="main">
<div class="mainOverlay"></div>
<div id="main-container">
<div id="data">
<div id="data" class="hidden">
<p class="left" data-localization="main_p1"><!-- Zero Knowledge collaborative realtime editor. Protected from the NSA. --></p>
<div id="buttons" class="buttons"><button class="btn btn-secondary nologin" data-localization="login_nologin"></button></div>
</div>
<div id="userForm" class="form-group">
<div id="userForm" class="form-group hidden">
<!--<center>
<h1 data-localization="form_title"></h1>
</center>-->
@@ -22,6 +22,11 @@
<div style="display: none;"><span class="remember form-check"><label for="rememberme" class="form-check-label" data-localization-append="login_remember"><input type="checkbox" id="rememberme" class="form-check-input" checked="checked"></label></span><br></div>
<button class="btn btn-secondary login half first" data-localization="login_login"></button> <button class="btn btn-primary register half" data-localization="login_register"></button><br>
</div>
<div id="loggedIn" class="hidden">
<p id="loggedInHello"></p>
<p><button class="btn btn-primary nologin" data-localization="login_accessDrive"></button></p>
<p><button id="loggedInLogOut" class="btn btn-secondary" data-localization="logoutButton"></button></p>
</div>
</div>
</div>
<div class="page category first" id="knowmore">

View File

@@ -251,11 +251,6 @@ body.html {
opacity: 0.35;
}
}
#mainBlock {
&.hidden {
display: none;
}
}
#noscriptContainer {
color: black;
position: absolute;
@@ -287,6 +282,9 @@ body.html {
background-size: cover;
background-attachment: fixed;
background-position: center;
.hidden {
display: none !important;
}
}
#main_other {
padding: 0 @main-border-width;
@@ -355,6 +353,31 @@ body.html {
}
}
#loggedIn {
color: @main-color;
display: inline-block;
position: absolute;
top: 50%;
right: 0;
margin-left: 50px;
width: 350px;
max-width: 35%;
transform: translateY(-50%);
text-align: center;
font-weight: bold;
button {
font-weight: bold;
cursor: pointer;
}
p {
margin: 20px;
padding: 0;
font-size: 20px;
line-height: 1.5em;
}
}
#userForm {
position: absolute;
right: 0;

View File

@@ -13,6 +13,7 @@ define(function () {
out.type.code = 'Code';
out.type.poll = 'Sondage';
out.type.slide = 'Présentation';
out.type.drive = 'Drive';
out.errorBox_errorType_disconnected = 'Connexion perdue';
out.errorBox_errorExplanation_disconnected = [
@@ -82,8 +83,8 @@ define(function () {
out.shareSuccess = 'URL copiée dans le presse-papiers';
out.shareFailed = "Échec de la copie de l'URL dans le presse-papiers";
out.newPadButton = 'Nouveau';
out.newPadButtonTitle = 'Créer un nouveau document';
out.appsButton = 'Apps';
out.appsButtonTitle = 'Accéder aux autres applications';
out.presentButton = 'PRÉSENTER';
out.presentButtonTitle = "Entrer en mode présentation";
@@ -278,6 +279,8 @@ define(function () {
out.loginText = '<p>Votre nom d\'utilisateur et votre mot d epasse sont utilisés pour générer une clé unique qui reste inconnue de notre serveur.</p>\n' +
'<p>Faîtes attention de ne pas perdre vos identifiants, puisqu\'il est impossible de les récupérer</p>';
out.login_hello = 'Bonjour {0},'; // {0} is the username
out.login_accessDrive = 'Accédez à votre drive';
// index.html

View File

@@ -14,6 +14,7 @@ define(function () {
out.type.code = 'Code';
out.type.poll = 'Poll';
out.type.slide = 'Presentation';
out.type.drive = 'Drive';
out.errorBox_errorType_disconnected = 'Connection Lost';
out.errorBox_errorExplanation_disconnected = [
@@ -87,8 +88,8 @@ define(function () {
out.shareSuccess = 'Copied URL to clipboard';
out.shareFailed = "Failed to copy URL to clipboard";
out.newPadButton = 'New';
out.newPadButtonTitle = 'Create a new document';
out.appsButton = 'Apps';
out.appsButtonTitle = 'Access other applications';
out.presentButton = 'PRESENT';
out.presentButtonTitle = "Enter presentation mode";
@@ -280,6 +281,8 @@ define(function () {
out.loginText = '<p>Your username and password are used to generate a unique key which is never known by our server.</p>\n' +
'<p>Be careful not to forget your credentials, as they are impossible to recover</p>';
out.login_hello = 'Hello {0},'; // {0} is the username
out.login_accessDrive = 'Access your drive';
// index.html