Merge branch 'soon' of github.com:xwiki-labs/cryptpad into soon
commit
3be7a387b4
@ -0,0 +1,129 @@
|
||||
@import (reference) "./colortheme-all.less";
|
||||
@import (reference) "./variables.less";
|
||||
|
||||
.buttons_main() {
|
||||
@alertify-fore: @colortheme_modal-fg;
|
||||
@alertify-btn-fg: @alertify-fore;
|
||||
@alertify-light-bg: fade(@alertify-fore, 25%);
|
||||
@alertify_padding-base: @variables_padding;
|
||||
@alertify-input-bg: @colortheme_modal-input;
|
||||
@alertify-input-fg: @colortheme_modal-input-fg;
|
||||
|
||||
input:not(.form-control), textarea {
|
||||
background-color: @alertify-input-fg;
|
||||
color: @cryptpad_text_col;
|
||||
border: 1px solid @alertify-input-bg;
|
||||
width: 100%;
|
||||
font-size: 100%;
|
||||
padding: @alertify_padding-base;
|
||||
&[readonly] {
|
||||
background-color: @alertify-light-bg;
|
||||
color: @cryptpad_text_col;
|
||||
border-color: @alertify-input-fg;
|
||||
}
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: hidden;
|
||||
padding: 8px;
|
||||
&[readonly] {
|
||||
resize: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
button:not(.pure-button):not(.md-button):not(.mdl-button) {
|
||||
|
||||
background-color: @colortheme_alertify-cancel;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
align-items: center;
|
||||
padding: 0 6px;
|
||||
line-height: 36px;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
border-radius: 0;
|
||||
|
||||
.fa {
|
||||
margin-right: 0.2em;
|
||||
}
|
||||
|
||||
color: @alertify-btn-fg;
|
||||
border: 1px solid @alertify-btn-fg;
|
||||
|
||||
&.no-margin {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
&:hover, &:active {
|
||||
background-color: lighten(@alertify-fore, 35%);
|
||||
}
|
||||
|
||||
&.safe, &.danger, &.btn-safe, &.btn-danger {
|
||||
color: @colortheme_old-base;
|
||||
white-space: normal;
|
||||
font-weight: bold;
|
||||
}
|
||||
&.danger, &.btn-danger {
|
||||
background-color: @colortheme_alertify-red;
|
||||
border-color: @colortheme_alertify-red-border;
|
||||
color: @colortheme_alertify-red-color;
|
||||
&:hover, &:active {
|
||||
background-color: contrast(@colortheme_modal-bg, darken(@colortheme_alertify-red, 10%), lighten(@colortheme_alertify-red, 10%));
|
||||
}
|
||||
}
|
||||
|
||||
&.safe, &.btn-safe {
|
||||
background-color: @colortheme_alertify-green;
|
||||
border-color: @colortheme_alertify-green-border;
|
||||
color: @colortheme_alertify-green-color;
|
||||
&:hover, &:active {
|
||||
background-color: contrast(@colortheme_modal-bg, darken(@colortheme_alertify-green, 10%), lighten(@colortheme_alertify-green, 10%));
|
||||
}
|
||||
}
|
||||
|
||||
&.primary, &.btn-primary {
|
||||
background-color: @colortheme_alertify-primary;
|
||||
color: @colortheme_alertify-primary-text;
|
||||
border-color: @colortheme_alertify-primary-border;
|
||||
font-weight: bold;
|
||||
&:hover, &:active {
|
||||
background-color: contrast(@colortheme_modal-bg, darken(@colortheme_alertify-primary, 10%), lighten(@colortheme_alertify-primary, 10%));
|
||||
}
|
||||
}
|
||||
|
||||
&.cancel, &.btn-cancel {
|
||||
border-color: @colortheme_alertify-cancel-border;
|
||||
color: @colortheme_alertify-cancel-border;
|
||||
&:hover, &:hover {
|
||||
background-color: fade(@colortheme_alertify-cancel-border, 25%);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
&:focus {
|
||||
//border: 1px dotted @alertify-base;
|
||||
box-shadow: 0px 0px 5px @colortheme_alertify-primary;
|
||||
outline: none;
|
||||
}
|
||||
&::-moz-focus-inner {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
cursor: not-allowed !important;
|
||||
background-color: @colortheme_alertify-disabled;
|
||||
color: @colortheme_alertify-disabled-text;
|
||||
border-color: @colortheme_alertify-disabled-border;
|
||||
&:hover, &:active {
|
||||
background-color: @colortheme_alertify-disabled;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
(function () {
|
||||
var factory = function (Util, Nacl, Scrypt) {
|
||||
var Invite = {};
|
||||
|
||||
Invite.deriveSeeds = function (safeSeed) {
|
||||
// take the hash of the provided seed
|
||||
var seed = safeSeed.replace(/\-/g, '/');
|
||||
var u8_seed = Nacl.hash(Nacl.util.decodeBase64(seed));
|
||||
|
||||
// hash the first half again for scrypt's input
|
||||
var subseed1 = Nacl.hash(u8_seed.subarray(0, 32));
|
||||
// hash the remainder for the invite content
|
||||
var subseed2 = Nacl.hash(u8_seed.subarray(32));
|
||||
|
||||
return {
|
||||
scrypt: Nacl.util.encodeBase64(subseed1),
|
||||
preview: Nacl.util.encodeBase64(subseed2),
|
||||
};
|
||||
};
|
||||
|
||||
Invite.deriveSalt = function (password, instance_salt) {
|
||||
return (password || '') + (instance_salt || '');
|
||||
};
|
||||
|
||||
// seed => bytes64
|
||||
Invite.deriveBytes = function (scrypt_seed, salt, cb) {
|
||||
Scrypt(scrypt_seed,
|
||||
salt,
|
||||
8, // memoryCost (n)
|
||||
1024, // block size parameter (r)
|
||||
192, // dkLen
|
||||
200, // interruptStep
|
||||
cb,
|
||||
'base64'); // format, could be 'base64'
|
||||
};
|
||||
|
||||
return Invite;
|
||||
};
|
||||
if (typeof(module) !== 'undefined' && module.exports) {
|
||||
module.exports = factory(
|
||||
require("../common-util"),
|
||||
require("tweetnacl/nacl-fast"),
|
||||
require("scrypt-async")
|
||||
);
|
||||
} else if ((typeof(define) !== 'undefined' && define !== null) && (define.amd !== null)) {
|
||||
define([
|
||||
'/common/common-util.js',
|
||||
'/bower_components/tweetnacl/nacl-fast.min.js',
|
||||
'/bower_components/scrypt-async/scrypt-async.min.js',
|
||||
], function (Util) {
|
||||
return factory(Util, window.nacl, window.scrypt);
|
||||
});
|
||||
}
|
||||
}());
|
@ -1,2 +1,37 @@
|
||||
{
|
||||
"type": {
|
||||
"pad": "Teksti",
|
||||
"code": "Koodi",
|
||||
"poll": "Kysely",
|
||||
"kanban": "Kanban",
|
||||
"slide": "Esitys",
|
||||
"drive": "CryptDrive",
|
||||
"whiteboard": "Tussitaulu",
|
||||
"file": "Tiedosto",
|
||||
"media": "Media",
|
||||
"todo": "Tehtävälista",
|
||||
"contacts": "Yhteystiedot",
|
||||
"sheet": "Taulukko (Beta)",
|
||||
"teams": "Teams"
|
||||
},
|
||||
"button_newpad": "Uusi Teksti-padi",
|
||||
"button_newcode": "Uusi Koodi-padi",
|
||||
"button_newpoll": "Uusi Kysely",
|
||||
"button_newslide": "Uusi Esitys",
|
||||
"button_newwhiteboard": "Uusi Tussitaulu",
|
||||
"button_newkanban": "Uusi Kanban",
|
||||
"button_newsheet": "Uusi Taulukko",
|
||||
"common_connectionLost": "<b>Yhteys palvelimelle katkennut</b><br>Sovellus on vain luku-tilassa, kunnes yhteys palaa.",
|
||||
"websocketError": "Yhdistäminen websocket-palvelimelle epäonnistui...",
|
||||
"typeError": "Tämä padi ei ole yhteensopiva valitun sovelluksen kanssa",
|
||||
"onLogout": "Olet kirjautunut ulos, {0}klikkaa tästä{1} kirjautuaksesi sisään tai paina <em>Esc-näppäintä</em> käyttääksesi padia vain luku-tilassa.",
|
||||
"wrongApp": "Reaaliaikaisen sisällön näyttäminen selaimessa epäonnistui. Ole hyvä ja yritä sivun lataamista uudelleen.",
|
||||
"padNotPinned": "Tämä padi vanhenee kolmen kuukauden käyttämättömyyden jälkeen, {0}kirjaudu sisään{1} tai [2}rekisteröidy{3} säilyttääksesi sen.",
|
||||
"padNotPinnedVariable": "Tämä padi vanhenee {4} päivän käyttämättömyyden jälkeen, {0}kirjaudu sisään{1} tai {2}rekisteröidy{3} säilyttääksesi sen.",
|
||||
"anonymousStoreDisabled": "Tämän CryptPad-instanssin ylläpitäjä on estänyt anonyymien käyttäjien pääsyn tallennustilaan. Kirjaudu sisään käyttääksesi CryptDrivea.",
|
||||
"expiredError": "Tämä padi on vanhentunut, eikä se ole enää saatavilla.",
|
||||
"deletedError": "Tämä padi on poistettu omistajansa toimesta, eikä se ole enää saatavilla.",
|
||||
"inactiveError": "Tämä padi on poistettu käyttämättömyyden vuoksi. Paina Esc-näppäintä luodaksesi uuden padin.",
|
||||
"chainpadError": "Sisältöä päivitettäessä tapahtui vakava virhe. Tämä sivu on vain luku-tilassa, jotta tekemäsi muutokset eivät katoaisi.<br>Paina <em>Esc-näppäintä</em> jatkaaksesi padin katselua vain luku-tilassa, tai lataa sivu uudelleen yrittääksesi muokkaamista.",
|
||||
"invalidHashError": "Pyytämäsi dokumentin URL-osoite on virheellinen."
|
||||
}
|
||||
|
Loading…
Reference in New Issue