diff --git a/customize.dist/src/less/cryptpad.less b/customize.dist/src/less/cryptpad.less
index a067e62c6..c65fdafae 100644
--- a/customize.dist/src/less/cryptpad.less
+++ b/customize.dist/src/less/cryptpad.less
@@ -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;
diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index cb88b4987..071791fb9 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -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 = '
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.
\n' +
'
Faîtes attention de ne pas perdre vos identifiants, puisqu\'il est impossible de les récupérer
';
+ out.login_hello = 'Bonjour {0},'; // {0} is the username
+ out.login_accessDrive = 'Accédez à votre drive';
// index.html
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 95257b256..29bee7bd3 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -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 = '
Your username and password are used to generate a unique key which is never known by our server.
\n' +
'
Be careful not to forget your credentials, as they are impossible to recover
';
+ out.login_hello = 'Hello {0},'; // {0} is the username
+ out.login_accessDrive = 'Access your drive';
// index.html
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 1f11e2783..a7bbf746b 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -65,22 +65,26 @@ define([
};
var userHashKey = common.userHashKey = 'User_hash';
+ var userNameKey = common.userNameKey = 'User_name';
var fileHashKey = common.fileHashKey = 'FS_hash';
- var login = common.login = function (hash, remember, cb) {
+ var login = common.login = function (hash, name, remember, cb) {
if (!hash) { throw new Error('expected a user hash'); }
+ if (!name) { throw new Error('expected a user name'); }
if (!remember) {
sessionStorage.setItem(userHashKey, hash);
+ sessionStorage.setItem(userNameKey, name);
}
else {
localStorage.setItem(userHashKey, hash);
+ localStorage.setItem(userNameKey, name);
}
if (cb) { cb(); }
};
var logout = common.logout = function (cb) {
[
-// fileHashKey,
+ userNameKey,
userHashKey,
].forEach(function (k) {
sessionStorage.removeItem(k);
diff --git a/www/common/toolbar.js b/www/common/toolbar.js
index 055e60fb6..fcc45a438 100644
--- a/www/common/toolbar.js
+++ b/www/common/toolbar.js
@@ -1,7 +1,8 @@
define([
'/customize/messages.js',
+ '/customize/application_config.js',
'/bower_components/jquery/dist/jquery.min.js'
-], function (Messages) {
+], function (Messages, Config) {
var $ = window.jQuery;
var Bar = {
@@ -349,24 +350,24 @@ define([
if (config.displayed.indexOf('newpad') !== -1) {
var pads_options = [];
- ['pad', 'code', 'slide', 'poll'].forEach(function (p) {
+ Config.availablePadTypes.forEach(function (p) {
pads_options.push({
tag: 'a',
attributes: {
- 'target': '_blank', // TODO: open in the same window?
+ 'target': '_blank',
'href': '/' + p,
},
- content: Messages.type[p] // Pretty name of the language value
+ content: Messages.type[p]
});
});
- var $newButton = $('
').append($('
', {'class': 'fa fa-plus'})).append(Messages.newPadButton);
+ var $newButton = $('').append($('', {'class': 'fa fa-th-large'})).append(Messages.appsButton);
var dropdownConfig = {
text: $newButton.html(), // Button initial text
options: pads_options, // Entries displayed in the menu
left: true, // Open to the left of the button
};
var $newPadBlock = Cryptpad.createDropdown(dropdownConfig);
- $newPadBlock.find('button').attr('title', Messages.newPadButtonTitle);
+ $newPadBlock.find('button').attr('title', Messages.appsButtonTitle);
$newPadBlock.appendTo($userContainer);
}
diff --git a/www/drive/main.js b/www/drive/main.js
index ad8852028..3f145f4fe 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -452,6 +452,12 @@ define([
$menu.find('a.own').parent('li').hide();
}
+ $menu.find('[data-type]').each(function (idx, el) {
+ if (AppConfig.availablePadTypes.indexOf($(el).attr('data-type')) === -1) {
+ $(el).hide();
+ }
+ });
+
$menu.css({
display: "block",
left: e.pageX,
@@ -893,6 +899,7 @@ define([
options.push({tag: 'hr'});
}
AppConfig.availablePadTypes.forEach(function (type) {
+ if (type === 'drive') { return; }
var path = filesOp.isPathInTrash(currentPath) ? '' : '/#?path=' + encodeURIComponent(currentPath);
var attributes = {
'class': 'newdoc',
diff --git a/www/user/main.js b/www/user/main.js
index 414691ad3..c1da83fe2 100644
--- a/www/user/main.js
+++ b/www/user/main.js
@@ -131,7 +131,7 @@ define([
APP.setAccountName(getAccountName(proxy));
APP.setDisplayName(getDisplayName(proxy));
- Cryptpad.login(opt.userHash, opt.remember);
+ Cryptpad.login(opt.userHash, getAccountName(proxy), opt.remember);
APP.revealLogin(false);
APP.revealUser(true);
APP.revealLogout(true);