add a way to copy an open group url

This commit is contained in:
Audric Ackermann 2021-03-19 15:31:13 +11:00
parent f704708524
commit 02fe7ad753
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4
4 changed files with 24 additions and 2 deletions

View File

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

View File

@ -1221,6 +1221,14 @@
"copy": {
"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": {
"message": "Envoyer des aperçus de liens"
},

View File

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

View File

@ -1351,6 +1351,13 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
}
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);
ToastUtils.pushCopiedToClipBoard();