Skip to content

Commit f739d2b

Browse files
committed
Copy to clipboard button on invite-link component
1 parent ef97181 commit f739d2b

File tree

4 files changed

+29
-5
lines changed

4 files changed

+29
-5
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
::ng-deep .mat-snack-bar-container {
2+
max-width: none;
3+
}
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
<span>{{url}}</span>
2-
<button mat-icon-button color="warn" (click)="dismiss()">
3-
<mat-icon>close</mat-icon>
4-
</button>
1+
<div>
2+
<span>{{url}}</span>
3+
<button mat-icon-button color="accent" (click)="copyToClipboard()">
4+
<mat-icon matTooltip="Copy to clipboard">file_copy</mat-icon>
5+
</button>
6+
<button mat-icon-button color="warn" (click)="dismiss()">
7+
<mat-icon matTooltip="Close">close</mat-icon>
8+
</button>
9+
</div>

frontend/src/app/invite/invite-link/invite-link.component.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,18 @@ export class InviteLinkComponent implements OnInit {
3333
this.data.dismiss();
3434
}
3535

36+
private copyToClipboard() {
37+
let selBox = document.createElement('textarea');
38+
selBox.style.position = 'fixed';
39+
selBox.style.left = '0';
40+
selBox.style.top = '0';
41+
selBox.style.opacity = '0';
42+
selBox.value = this.url;
43+
document.body.appendChild(selBox);
44+
selBox.focus();
45+
selBox.select();
46+
document.execCommand('copy');
47+
document.body.removeChild(selBox);
48+
}
49+
3650
}

frontend/src/app/invite/invite.component.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
</mat-form-field>
2323
<div></div>
2424
</div>
25-
<button mat-flat-button *ngIf="!loading" color="accent" (click)="enterRoom()" [disabled]="!userSrv.isLogged && (!userName || !password)" id="accessButton">Access room</button>
25+
<ng-container *ngIf="!loading">
26+
<button mat-flat-button color="accent" (click)="enterRoom()" [disabled]="!userSrv.isLogged && (!userName || !password)" id="accessButton">Access room</button>
27+
</ng-container>
2628
<mat-spinner color="accent" *ngIf="loading" id="loadingSpinner"></mat-spinner>
2729
</div>
2830
</div>

0 commit comments

Comments
 (0)