Merge branch 'inviteUI' of github.com:xwiki-labs/cryptpad into inviteUI
This commit is contained in:
@@ -29,6 +29,7 @@
|
|||||||
color: @cryptpad_text_col;
|
color: @cryptpad_text_col;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// teams invite modal
|
||||||
.cp-teams-invite-block {
|
.cp-teams-invite-block {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -37,7 +38,16 @@
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.cp-teams-invite-message {
|
||||||
|
resize: none;
|
||||||
|
}
|
||||||
.cp-teams-invite-alert {
|
.cp-teams-invite-alert {
|
||||||
margin-top: 15px;
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.cp-teams-invite-spinner {
|
||||||
|
font-size: 1.2em;
|
||||||
|
.fa {
|
||||||
|
margin-right: 10px;;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1640,15 +1640,14 @@ define([
|
|||||||
// Invite from link
|
// Invite from link
|
||||||
var dismissButton = h('span.fa.fa-times');
|
var dismissButton = h('span.fa.fa-times');
|
||||||
var linkContent = h('div.cp-share-modal', [
|
var linkContent = h('div.cp-share-modal', [
|
||||||
h('p', 'XXX Invite link description...'), // XXX
|
h('p', Messages.team_inviteLinkTitle ), // XXX
|
||||||
linkError = h('div.alert.alert-danger', {style : 'display: none;'}),
|
|
||||||
linkForm = h('div.cp-teams-invite-form', [
|
linkForm = h('div.cp-teams-invite-form', [
|
||||||
linkName = h('input', {
|
linkName = h('input', {
|
||||||
placeholder: 'name...' // XXX
|
placeholder: Messages.team_inviteLinkTempName // XXX
|
||||||
}),
|
}),
|
||||||
h('br'),
|
h('br'),
|
||||||
h('div.cp-teams-invite-block', [
|
h('div.cp-teams-invite-block', [
|
||||||
h('span', 'password protection...'), // XXX
|
h('span', Messages.team_inviteLinkSetPassword), // XXX
|
||||||
h('a.cp-teams-help.fa.fa-question-circle', {
|
h('a.cp-teams-help.fa.fa-question-circle', {
|
||||||
href: origin + '/faq.html#security-pad_password',
|
href: origin + '/faq.html#security-pad_password',
|
||||||
target: "_blank",
|
target: "_blank",
|
||||||
@@ -1657,30 +1656,32 @@ define([
|
|||||||
]), // XXX
|
]), // XXX
|
||||||
linkPassword = UI.passwordInput({
|
linkPassword = UI.passwordInput({
|
||||||
id: 'cp-teams-invite-password',
|
id: 'cp-teams-invite-password',
|
||||||
placeholder: 'password...' // XXX
|
placeholder: Messages.login_password // XXX
|
||||||
}),
|
}),
|
||||||
h('div.cp-teams-invite-block',
|
h('div.cp-teams-invite-block',
|
||||||
h('span', 'add a note') // XXX
|
h('span', Messages.team_inviteLinkNote) // XXX
|
||||||
),
|
),
|
||||||
linkMessage = h('textarea', { // XXX ansuz hitting enter submits...
|
linkMessage = h('textarea.cp-teams-invite-message', { // XXX ansuz hitting enter submits...
|
||||||
placeholder: 'note...' // XXX
|
placeholder: Messages.team_inviteLinkNoteMsg, // XXX
|
||||||
|
rows: 3
|
||||||
})
|
})
|
||||||
]),
|
]),
|
||||||
linkSpin = h('div', {
|
linkSpin = h('div.cp-teams-invite-spinner', {
|
||||||
style: 'display: none;'
|
style: 'display: none;'
|
||||||
}, [
|
}, [
|
||||||
h('i.fa.fa-spinner.fa-spin'),
|
h('i.fa.fa-spinner.fa-spin'),
|
||||||
linkSpinText = h('span', 'Scrypt...') // XXX
|
linkSpinText = h('span', Messages.team_inviteLinkLoading) // XXX
|
||||||
]),
|
]),
|
||||||
linkResult = h('div', {
|
linkResult = h('div', {
|
||||||
style: 'display: none;'
|
style: 'display: none;'
|
||||||
}, h('textarea', {
|
}, h('textarea', {
|
||||||
readonly: 'readonly'
|
readonly: 'readonly'
|
||||||
})),
|
})),
|
||||||
|
linkError = h('div.alert.alert-danger.cp-teams-invite-alert', {style : 'display: none;'}),
|
||||||
linkWarning = h('div.cp-teams-invite-alert.alert.alert-warning.dismissable', {
|
linkWarning = h('div.cp-teams-invite-alert.alert.alert-warning.dismissable', {
|
||||||
style: "display: none;"
|
style: "display: none;"
|
||||||
}, [
|
}, [
|
||||||
h('span.cp-inline-alert-text', 'Warning...'),
|
h('span.cp-inline-alert-text', Messages.team_inviteLinkWarning),
|
||||||
dismissButton
|
dismissButton
|
||||||
]) // XXX
|
]) // XXX
|
||||||
]);
|
]);
|
||||||
@@ -1706,7 +1707,7 @@ define([
|
|||||||
var hashData = Hash.parseTypeHash('invite', hash);
|
var hashData = Hash.parseTypeHash('invite', hash);
|
||||||
href = origin + '/teams/#' + hash;
|
href = origin + '/teams/#' + hash;
|
||||||
if (!name || !name.trim()) {
|
if (!name || !name.trim()) {
|
||||||
$(linkError).text('empty name...').show(); // XXX
|
$(linkError).text(Messages.team_inviteLinkErrorName).show(); // XXX
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1724,7 +1725,7 @@ define([
|
|||||||
bytes64 = _bytes;
|
bytes64 = _bytes;
|
||||||
}));
|
}));
|
||||||
}).nThen(function (waitFor) {
|
}).nThen(function (waitFor) {
|
||||||
$(linkSpinText).text('Add invite link to team'); // XXX
|
$(linkSpinText).text(Messages.team_inviteLinkAdding); // XXX
|
||||||
module.execCommand('CREATE_INVITE_LINK', {
|
module.execCommand('CREATE_INVITE_LINK', {
|
||||||
name: name,
|
name: name,
|
||||||
password: pw,
|
password: pw,
|
||||||
@@ -1754,14 +1755,14 @@ define([
|
|||||||
keys: [27]
|
keys: [27]
|
||||||
}, {
|
}, {
|
||||||
className: 'primary cp-teams-invite-create',
|
className: 'primary cp-teams-invite-create',
|
||||||
name: 'CREATE LINK', // XXX
|
name: Messages.team_inviteLinkCreate, // XXX
|
||||||
onClick: function () {
|
onClick: function () {
|
||||||
return process();
|
return process();
|
||||||
},
|
},
|
||||||
keys: [13]
|
keys: [13]
|
||||||
}, {
|
}, {
|
||||||
className: 'primary cp-teams-invite-copy',
|
className: 'primary cp-teams-invite-copy',
|
||||||
name: 'COPY LINK', // XXX
|
name: Messages.team_inviteLinkCopy, // XXX
|
||||||
onClick: function () {
|
onClick: function () {
|
||||||
if (!href) { return; }
|
if (!href) { return; }
|
||||||
var success = Clipboard.copy(href);
|
var success = Clipboard.copy(href);
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ var factory = function (Hash, Crypt, Nacl, Scrypt/*, Util, Cred, nThen */) {
|
|||||||
'/bower_components/tweetnacl/nacl-fast.min.js',
|
'/bower_components/tweetnacl/nacl-fast.min.js',
|
||||||
'/bower_components/scrypt-async/scrypt-async.min.js',
|
'/bower_components/scrypt-async/scrypt-async.min.js',
|
||||||
], function (Hash, Crypt /*, Nacl, Scrypt */) {
|
], function (Hash, Crypt /*, Nacl, Scrypt */) {
|
||||||
return factory(Hash, Crypt, window.nacl, window.Scrypt);
|
return factory(Hash, Crypt, window.nacl, window.scrypt);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}());
|
}());
|
||||||
|
|||||||
@@ -1251,5 +1251,13 @@
|
|||||||
"share_linkPasswordAlert": "Dieses Element ist passwortgeschützt. Wenn du diesen Link teilst, muss der Empfänger das Passwort eingeben.",
|
"share_linkPasswordAlert": "Dieses Element ist passwortgeschützt. Wenn du diesen Link teilst, muss der Empfänger das Passwort eingeben.",
|
||||||
"share_contactPasswordAlert": "Dieses Element ist passwortgeschützt. Weil du es mit einem CryptPad-Kontakt teilst, muss der Empfänger das Passwort nicht eingeben.",
|
"share_contactPasswordAlert": "Dieses Element ist passwortgeschützt. Weil du es mit einem CryptPad-Kontakt teilst, muss der Empfänger das Passwort nicht eingeben.",
|
||||||
"share_embedPasswordAlert": "Dieses Element ist passwortgeschützt. Wenn du dieses Pad einbettest, werden Betrachter nach dem Passwort gefragt.",
|
"share_embedPasswordAlert": "Dieses Element ist passwortgeschützt. Wenn du dieses Pad einbettest, werden Betrachter nach dem Passwort gefragt.",
|
||||||
"passwordFaqLink": "Mehr über Passwörter erfahren"
|
"passwordFaqLink": "Mehr über Passwörter erfahren",
|
||||||
|
"share_noContactsLoggedIn": "Du hast noch keine Kontakte bei CryptPad. Teile den Link zu deinem Profil, damit andere dir Kontaktanfragen senden können.",
|
||||||
|
"share_copyProfileLink": "Profil-Link kopieren",
|
||||||
|
"share_noContactsNotLoggedIn": "Logge dich ein oder registriere dich, um deine Kontakte zu sehen und neue hinzuzufügen.",
|
||||||
|
"contacts_mute": "",
|
||||||
|
"contacts_unmute": "",
|
||||||
|
"contacts_manageMuted": "",
|
||||||
|
"contacts_mutedUsers": "",
|
||||||
|
"contacts_muteInfo": ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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."
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1254,5 +1254,20 @@
|
|||||||
"passwordFaqLink": "En lire plus sur les mots de passe",
|
"passwordFaqLink": "En lire plus sur les mots de passe",
|
||||||
"share_noContactsLoggedIn": "Vous n'avez pas encore ajouté de contacts sur CryptPad. Partagez le lien de votre profil pour que l'on vous envoie des demandes de contact.",
|
"share_noContactsLoggedIn": "Vous n'avez pas encore ajouté de contacts sur CryptPad. Partagez le lien de votre profil pour que l'on vous envoie des demandes de contact.",
|
||||||
"share_copyProfileLink": "Copier le lien du profil",
|
"share_copyProfileLink": "Copier le lien du profil",
|
||||||
"share_noContactsNotLoggedIn": "Connectez-vous ou enregistrez-vous pour voir vos contacts ou en ajouter de nouveaux."
|
"share_noContactsNotLoggedIn": "Connectez-vous ou enregistrez-vous pour voir vos contacts ou en ajouter de nouveaux.",
|
||||||
|
"contacts_mute": "Masquer",
|
||||||
|
"contacts_unmute": "Réafficher",
|
||||||
|
"contacts_manageMuted": "Comptes masqués",
|
||||||
|
"contacts_mutedUsers": "Comptes masqués",
|
||||||
|
"contacts_muteInfo": "Vous ne receverez plus de notifications ou de messages si vous masquez ce compte.<br>L'utilisateur ne sera pas informé que vous l'avez masqué. ",
|
||||||
|
"team_inviteLinkTitle": "Créer une invitation personnalisée à cette équipe",
|
||||||
|
"team_inviteLinkTempName": "Nom temporaire (apparaît dans la liste des invitations en cours)",
|
||||||
|
"team_inviteLinkSetPassword": "Protégez le lien avec un mot de passe (recommandé)",
|
||||||
|
"team_inviteLinkNote": "Ajoutez un message personnalisé",
|
||||||
|
"team_inviteLinkNoteMsg": "Ce message sera affiché avant que le destinataire décide de rejoindre cette équipe.",
|
||||||
|
"team_inviteLinkLoading": "Lien en cours de création",
|
||||||
|
"team_inviteLinkWarning": "La première personne qui accédera à ce lien pourra devenir membre de l'équipe et voir son contenu. Partagez le avec prudence.",
|
||||||
|
"team_inviteLinkErrorName": "Merci de donner un nom à cette invitation",
|
||||||
|
"team_inviteLinkCreate": "CRÉER LIEN",
|
||||||
|
"team_inviteLinkCopy": "COPIER LIEN"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1254,5 +1254,20 @@
|
|||||||
"passwordFaqLink": "Read more about passwords",
|
"passwordFaqLink": "Read more about passwords",
|
||||||
"share_noContactsLoggedIn": "You are not connected with anyone on CryptPad yet. Share the link to your profile for people to send you contact requests.",
|
"share_noContactsLoggedIn": "You are not connected with anyone on CryptPad yet. Share the link to your profile for people to send you contact requests.",
|
||||||
"share_copyProfileLink": "Copy profile link",
|
"share_copyProfileLink": "Copy profile link",
|
||||||
"share_noContactsNotLoggedIn": "Log in or register to see your existing contacts and add new ones."
|
"share_noContactsNotLoggedIn": "Log in or register to see your existing contacts and add new ones.",
|
||||||
|
"contacts_mute": "Mute",
|
||||||
|
"contacts_unmute": "Unmute",
|
||||||
|
"contacts_manageMuted": "Manage muted",
|
||||||
|
"contacts_mutedUsers": "Muted accounts",
|
||||||
|
"contacts_muteInfo": "You will not receive any notifications or messages from muted users.<br>They will not know you have muted them. ",
|
||||||
|
"team_inviteLinkTitle": "Create a personalized invitation to this team",
|
||||||
|
"team_inviteLinkTempName": "temporary name (visible in pending invitations list)",
|
||||||
|
"team_inviteLinkSetPassword": "Protect the link with a password (recommended)",
|
||||||
|
"team_inviteLinkNote": "Add a personal message",
|
||||||
|
"team_inviteLinkNoteMsg": "This message will be shown before the recipient decides whether to join this team.",
|
||||||
|
"team_inviteLinkLoading": "Generating your link",
|
||||||
|
"team_inviteLinkWarning": "The first person to access this link will be able to join this team and view its contents. Share it carefully.",
|
||||||
|
"team_inviteLinkErrorName": "Please give this invitation a name",
|
||||||
|
"team_inviteLinkCreate": "CREATE LINK",
|
||||||
|
"team_inviteLinkCopy": "COPY LINK"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user