add a way to copy an open group url

pull/1545/head
Audric Ackermann 4 years ago
parent f704708524
commit 02fe7ad753
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4

@ -1062,6 +1062,10 @@
"description": "Copy to clipboard session ID", "description": "Copy to clipboard session ID",
"androidKey": "activity_conversation_menu_copy_session_id" "androidKey": "activity_conversation_menu_copy_session_id"
}, },
"copyOpenGroupURL": {
"message": "Copy Group's URL",
"description": "Copy to clipboard Open Group URL"
},
"save": { "save": {
"message": "Save", "message": "Save",
"description": "Used as a 'commit changes' button in the Caption Editor for outgoing image attachments", "description": "Used as a 'commit changes' button in the Caption Editor for outgoing image attachments",

@ -1221,6 +1221,14 @@
"copy": { "copy": {
"message": "Copier" "message": "Copier"
}, },
"copySessionID": {
"message": "Copier le Session ID",
"description": "Copy to clipboard session ID"
},
"copyOpenGroupURL": {
"message": "Copier l'URL de Group",
"description": "Copy to clipboard Open Group URL"
},
"linkPreviewsTitle": { "linkPreviewsTitle": {
"message": "Envoyer des aperçus de liens" "message": "Envoyer des aperçus de liens"
}, },

@ -32,8 +32,9 @@ function showDeleteMessages(isPublic: boolean): boolean {
return !isPublic; return !isPublic;
} }
// we want to show the copyId for open groups and private chats only
function showCopyId(isPublic: boolean, isGroup: boolean): boolean { function showCopyId(isPublic: boolean, isGroup: boolean): boolean {
return !isGroup; // || isPublic; return !isGroup || isPublic;
} }
function showDeleteContact( function showDeleteContact(
@ -196,7 +197,9 @@ export function getCopyMenuItem(
i18n: LocalizerType i18n: LocalizerType
): JSX.Element | null { ): JSX.Element | null {
if (showCopyId(Boolean(isPublic), Boolean(isGroup))) { if (showCopyId(Boolean(isPublic), Boolean(isGroup))) {
const copyIdLabel = i18n('copySessionID'); const copyIdLabel = isPublic
? i18n('copyOpenGroupURL')
: i18n('copySessionID');
return <Item onClick={action}>{copyIdLabel}</Item>; return <Item onClick={action}>{copyIdLabel}</Item>;
} }
return null; return null;

@ -1351,6 +1351,13 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
} }
public copyPublicKey() { public copyPublicKey() {
if (this.isPublic()) {
const openGroupUrl = this.id.substr(this.id.indexOf('@') + 1);
window.clipboard.writeText(openGroupUrl);
ToastUtils.pushCopiedToClipBoard();
return;
}
window.clipboard.writeText(this.id); window.clipboard.writeText(this.id);
ToastUtils.pushCopiedToClipBoard(); ToastUtils.pushCopiedToClipBoard();

Loading…
Cancel
Save