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

pull/1/head
yflory 5 years ago
commit 495cb4403b

@ -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"
} }

Loading…
Cancel
Save