Merge branch 'master' of github.com:xwiki-labs/cryptpad
commit
5b22406dd7
@ -0,0 +1,91 @@
|
|||||||
|
@import (reference) "./colortheme-all.less";
|
||||||
|
@import (reference) "./avatar.less";
|
||||||
|
@import (reference) "./tools.less";
|
||||||
|
|
||||||
|
.usergrid_main() {
|
||||||
|
--LessLoader_require: LessLoader_currentFile();
|
||||||
|
};
|
||||||
|
& {
|
||||||
|
.cp-usergrid-container {
|
||||||
|
.cp-usergrid-grid {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
&.cp-usergrid-empty {
|
||||||
|
.cp-usergrid-grid, .cp-usergrid-filter {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.cp-usergrid-filter {
|
||||||
|
display: flex;
|
||||||
|
input {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
&::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
|
||||||
|
color: @colortheme_alertify-primary-text;
|
||||||
|
opacity: 1; /* Firefox */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
margin-bottom: 15px;
|
||||||
|
&:empty {
|
||||||
|
margin: 0;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.cp-usergrid-user {
|
||||||
|
width: 70px;
|
||||||
|
height: 70px;
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 5px;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
margin-right: 6px;
|
||||||
|
cursor: default;
|
||||||
|
transition: order 0.5s, background-color 0.5s;
|
||||||
|
margin-top: 1px;
|
||||||
|
.tools_unselectable();
|
||||||
|
|
||||||
|
&:nth-child(6n) {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.cp-selected {
|
||||||
|
background-color: @colortheme_alertify-primary;
|
||||||
|
color: @colortheme_alertify-primary-text;
|
||||||
|
order: -1 !important;
|
||||||
|
}
|
||||||
|
.cp-usergrid-user-avatar {
|
||||||
|
min-height: 40px;
|
||||||
|
}
|
||||||
|
.cp-usergrid-user-name {
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 18px;
|
||||||
|
}
|
||||||
|
border: 1px solid @colortheme_alertify-primary;
|
||||||
|
|
||||||
|
&:not(.large) {
|
||||||
|
.avatar_main(40px);
|
||||||
|
}
|
||||||
|
&.large {
|
||||||
|
.avatar_main(25px);
|
||||||
|
width: 140px;
|
||||||
|
height: 35px;
|
||||||
|
flex-flow: row;
|
||||||
|
margin-right: 15px;
|
||||||
|
margin-bottom: 1px;
|
||||||
|
&:nth-child(3n) {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
/*
|
||||||
|
* You can override the translation text using this file.
|
||||||
|
* The recommended method is to make a copy of this file (/customize.dist/translations/messages.{LANG}.js)
|
||||||
|
in a 'customize' directory (/customize/translations/messages.{LANG}.js).
|
||||||
|
* If you want to check all the existing translation keys, you can open the internal language file
|
||||||
|
but you should not change it directly (/common/translations/messages.{LANG}.js)
|
||||||
|
*/
|
||||||
|
define(['/common/translations/messages.ja.js'], function (Messages) {
|
||||||
|
// Replace the existing keys in your copied file here:
|
||||||
|
// Messages.button_newpad = "New Rich Text Document";
|
||||||
|
|
||||||
|
return Messages;
|
||||||
|
});
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,95 @@
|
|||||||
|
(function () {
|
||||||
|
var factory = function (Util, Cred, nThen) {
|
||||||
|
nThen = nThen; // XXX
|
||||||
|
var Invite = {};
|
||||||
|
|
||||||
|
/*
|
||||||
|
TODO key derivation
|
||||||
|
|
||||||
|
scrypt(seed, passwd) => {
|
||||||
|
curve: {
|
||||||
|
private,
|
||||||
|
public,
|
||||||
|
},
|
||||||
|
ed: {
|
||||||
|
private,
|
||||||
|
public,
|
||||||
|
}
|
||||||
|
cryptKey,
|
||||||
|
channel
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
var BYTES_REQUIRED = 256;
|
||||||
|
|
||||||
|
Invite.deriveKeys = function (seed, passwd, cb) {
|
||||||
|
cb = cb; // XXX
|
||||||
|
// TODO validate has cb
|
||||||
|
// TODO onceAsync the cb
|
||||||
|
// TODO cb with err if !(seed && passwd)
|
||||||
|
|
||||||
|
Cred.deriveFromPassphrase(seed, passwd, BYTES_REQUIRED, function (bytes) {
|
||||||
|
var dispense = Cred.dispenser(bytes);
|
||||||
|
dispense = dispense; // XXX
|
||||||
|
|
||||||
|
// edPriv => edPub
|
||||||
|
// curvePriv => curvePub
|
||||||
|
// channel
|
||||||
|
// cryptKey
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Invite.createSeed = function () {
|
||||||
|
// XXX
|
||||||
|
// return a seed
|
||||||
|
};
|
||||||
|
|
||||||
|
Invite.create = function (cb) {
|
||||||
|
cb = cb; // XXX
|
||||||
|
// TODO validate has cb
|
||||||
|
// TODO onceAsync the cb
|
||||||
|
// TODO cb with err if !(seed && passwd)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// required
|
||||||
|
// password
|
||||||
|
// validateKey
|
||||||
|
// creatorEdPublic
|
||||||
|
// for owner
|
||||||
|
// ephemeral
|
||||||
|
// signingKey
|
||||||
|
// for owner to write invitation
|
||||||
|
// derived
|
||||||
|
// edPriv
|
||||||
|
// edPublic
|
||||||
|
// for invitee ownership
|
||||||
|
// curvePriv
|
||||||
|
// curvePub
|
||||||
|
// for acceptance OR
|
||||||
|
// authenticated decline message via mailbox
|
||||||
|
// channel
|
||||||
|
// for owned deletion
|
||||||
|
// for team pinning
|
||||||
|
// cryptKey
|
||||||
|
// for protecting channel content
|
||||||
|
};
|
||||||
|
|
||||||
|
return Invite;
|
||||||
|
};
|
||||||
|
if (typeof(module) !== 'undefined' && module.exports) {
|
||||||
|
module.exports = factory(
|
||||||
|
require("../common-util"),
|
||||||
|
require("../common-credential.js"),
|
||||||
|
require("nthen")
|
||||||
|
);
|
||||||
|
} else if ((typeof(define) !== 'undefined' && define !== null) && (define.amd !== null)) {
|
||||||
|
define([
|
||||||
|
'/common/common-util.js',
|
||||||
|
'/common/common-credential.js',
|
||||||
|
'/bower_components/nthen/index.js',
|
||||||
|
], function (Util, Cred, nThen) {
|
||||||
|
return factory(Util, nThen);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}());
|
@ -0,0 +1 @@
|
|||||||
|
{}
|
@ -1,87 +0,0 @@
|
|||||||
@import (reference) '../../customize/src/less2/include/framework.less';
|
|
||||||
@import (reference) '../../customize/src/less2/include/drive.less';
|
|
||||||
@import (reference) '../../customize/src/less2/include/messenger.less';
|
|
||||||
@import (reference) '../../customize/src/less2/include/sidebar-layout.less';
|
|
||||||
@import (reference) "../../customize/src/less2/include/tools.less";
|
|
||||||
|
|
||||||
|
|
||||||
&.cp-app-team {
|
|
||||||
.framework_min_main(
|
|
||||||
@bg-color: @colortheme_team-bg,
|
|
||||||
@warn-color: @colortheme_team-warn,
|
|
||||||
@color: @colortheme_team-color
|
|
||||||
);
|
|
||||||
|
|
||||||
.drive_main();
|
|
||||||
.messenger_main();
|
|
||||||
.sidebar-layout_main();
|
|
||||||
|
|
||||||
@roster-bg-color: #efefef;
|
|
||||||
|
|
||||||
#cp-sidebarlayout-container {
|
|
||||||
div#cp-sidebarlayout-rightside.cp-rightside-drive {
|
|
||||||
padding: 0;
|
|
||||||
& > .cp-team-chat {
|
|
||||||
display: flex;
|
|
||||||
height: 100%;
|
|
||||||
margin: 0;
|
|
||||||
.cp-app-contacts-container {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
& > .cp-team-drive {
|
|
||||||
display: flex;
|
|
||||||
height: 100%;
|
|
||||||
margin: 0;
|
|
||||||
.cp-app-drive-container {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.cp-team-list-avatar {
|
|
||||||
.avatar_main(30px);
|
|
||||||
}
|
|
||||||
.cp-team-avatar {
|
|
||||||
.avatar_main(300px);
|
|
||||||
}
|
|
||||||
.cp-team-roster {
|
|
||||||
.avatar_main(50px);
|
|
||||||
.cp-team-roster-member {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
margin: 5px;
|
|
||||||
padding: 2px;
|
|
||||||
max-width: 500px;
|
|
||||||
background-color: @roster-bg-color;
|
|
||||||
&:hover {
|
|
||||||
background-color: darken(@roster-bg-color, 5%);
|
|
||||||
}
|
|
||||||
.cp-avatar {
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
.cp-team-member-name {
|
|
||||||
flex: 1;
|
|
||||||
overflow: hidden;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
.tools_unselectable();
|
|
||||||
}
|
|
||||||
.cp-team-member-actions {
|
|
||||||
.fa {
|
|
||||||
height: 25px;
|
|
||||||
width: 25px;
|
|
||||||
display: inline-flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
cursor: pointer;
|
|
||||||
&:hover {
|
|
||||||
background-color: darken(@roster-bg-color, 10%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue