aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Bounouas <NassimBounouas@users.noreply.github.com>2019-06-19 14:57:39 +0200
committerChocobozzz <me@florianbigard.com>2019-06-19 14:57:39 +0200
commite379f813d45c4a83442aa13268d351e2605a7a01 (patch)
treec912ae77b981574c2e859bc5740ca2180f61f9b6
parentb6a1dd4d1b3b0032f8b968e72cbd074f646e8827 (diff)
downloadPeerTube-e379f813d45c4a83442aa13268d351e2605a7a01.tar.gz
PeerTube-e379f813d45c4a83442aa13268d351e2605a7a01.tar.zst
PeerTube-e379f813d45c4a83442aa13268d351e2605a7a01.zip
Feature/completeUsernameCopy (#1913)
* #1843 Copy icon added to account page to copy Username * #1843 Store an account name with the host forced and bind it to copy button * #1843 tslint correction * #1843 copy to clipboard replaced by ngx-clipboard
-rw-r--r--client/src/app/+accounts/accounts.component.html7
-rw-r--r--client/src/app/shared/account/account.model.ts2
-rw-r--r--client/src/app/shared/actor/actor.model.ts4
3 files changed, 9 insertions, 4 deletions
diff --git a/client/src/app/+accounts/accounts.component.html b/client/src/app/+accounts/accounts.component.html
index 038e18c4b..1172f7ba7 100644
--- a/client/src/app/+accounts/accounts.component.html
+++ b/client/src/app/+accounts/accounts.component.html
@@ -7,8 +7,11 @@
7 <div class="actor-info"> 7 <div class="actor-info">
8 <div class="actor-names"> 8 <div class="actor-names">
9 <div class="actor-display-name">{{ account.displayName }}</div> 9 <div class="actor-display-name">{{ account.displayName }}</div>
10 <div class="actor-name">{{ account.nameWithHost }}</div> 10 <div class="actor-name">{{ account.nameWithHost }}
11 11 <button ngxClipboard [cbContent]="account.nameWithHostForced" type="button" class="btn btn-outline-secondary btn-sm">
12 <span class="glyphicon glyphicon-copy"></span>
13 </button>
14 </div>
12 <span *ngIf="user?.blocked" [ngbTooltip]="user.blockedReason" class="badge badge-danger" i18n>Banned</span> 15 <span *ngIf="user?.blocked" [ngbTooltip]="user.blockedReason" class="badge badge-danger" i18n>Banned</span>
13 <span *ngIf="account.mutedByUser" class="badge badge-danger" i18n>Muted</span> 16 <span *ngIf="account.mutedByUser" class="badge badge-danger" i18n>Muted</span>
14 <span *ngIf="account.mutedServerByUser" class="badge badge-danger" i18n>Muted by your instance</span> 17 <span *ngIf="account.mutedServerByUser" class="badge badge-danger" i18n>Muted by your instance</span>
diff --git a/client/src/app/shared/account/account.model.ts b/client/src/app/shared/account/account.model.ts
index c5cd2051c..61f09fc06 100644
--- a/client/src/app/shared/account/account.model.ts
+++ b/client/src/app/shared/account/account.model.ts
@@ -5,6 +5,7 @@ export class Account extends Actor implements ServerAccount {
5 displayName: string 5 displayName: string
6 description: string 6 description: string
7 nameWithHost: string 7 nameWithHost: string
8 nameWithHostForced: string
8 mutedByUser: boolean 9 mutedByUser: boolean
9 mutedByInstance: boolean 10 mutedByInstance: boolean
10 mutedServerByUser: boolean 11 mutedServerByUser: boolean
@@ -19,6 +20,7 @@ export class Account extends Actor implements ServerAccount {
19 this.description = hash.description 20 this.description = hash.description
20 this.userId = hash.userId 21 this.userId = hash.userId
21 this.nameWithHost = Actor.CREATE_BY_STRING(this.name, this.host) 22 this.nameWithHost = Actor.CREATE_BY_STRING(this.name, this.host)
23 this.nameWithHostForced = Actor.CREATE_BY_STRING(this.name, this.host, true)
22 24
23 this.mutedByUser = false 25 this.mutedByUser = false
24 this.mutedByInstance = false 26 this.mutedByInstance = false
diff --git a/client/src/app/shared/actor/actor.model.ts b/client/src/app/shared/actor/actor.model.ts
index 5a517c975..285f71ce0 100644
--- a/client/src/app/shared/actor/actor.model.ts
+++ b/client/src/app/shared/actor/actor.model.ts
@@ -23,11 +23,11 @@ export abstract class Actor implements ActorServer {
23 return window.location.origin + '/client/assets/images/default-avatar.png' 23 return window.location.origin + '/client/assets/images/default-avatar.png'
24 } 24 }
25 25
26 static CREATE_BY_STRING (accountName: string, host: string) { 26 static CREATE_BY_STRING (accountName: string, host: string, forceHostname = false) {
27 const absoluteAPIUrl = getAbsoluteAPIUrl() 27 const absoluteAPIUrl = getAbsoluteAPIUrl()
28 const thisHost = new URL(absoluteAPIUrl).host 28 const thisHost = new URL(absoluteAPIUrl).host
29 29
30 if (host.trim() === thisHost) return accountName 30 if (host.trim() === thisHost && !forceHostname) return accountName
31 31
32 return accountName + '@' + host 32 return accountName + '@' + host
33 } 33 }