diff --git a/frontend/src/app/add-member-dialog/add-member-dialog.component.html b/frontend/src/app/add-member-dialog/add-member-dialog.component.html new file mode 100644 index 0000000..1f60e73 --- /dev/null +++ b/frontend/src/app/add-member-dialog/add-member-dialog.component.html @@ -0,0 +1,13 @@ +

Ajouter un membre

+ +
+
+

Saisissez un nouveau nom d'utilisateur à ajouter à la room

+ +
+
+
Erreur : {{errorMessage}}
+
+ + +
diff --git a/frontend/src/app/add-member-dialog/add-member-dialog.component.scss b/frontend/src/app/add-member-dialog/add-member-dialog.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/app/add-member-dialog/add-member-dialog.component.spec.ts b/frontend/src/app/add-member-dialog/add-member-dialog.component.spec.ts new file mode 100644 index 0000000..ae33b13 --- /dev/null +++ b/frontend/src/app/add-member-dialog/add-member-dialog.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddMemberDialogComponent } from './add-member-dialog.component'; + +describe('AddMemberDialogComponent', () => { + let component: AddMemberDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AddMemberDialogComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AddMemberDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/add-member-dialog/add-member-dialog.component.ts b/frontend/src/app/add-member-dialog/add-member-dialog.component.ts new file mode 100644 index 0000000..2de3eb8 --- /dev/null +++ b/frontend/src/app/add-member-dialog/add-member-dialog.component.ts @@ -0,0 +1,45 @@ +import {Component, Inject, OnInit} from '@angular/core'; +import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; +import {MessageService} from "../services/message/message.service"; +import {environment} from "../../environments/environment"; + +export interface AddMemberDialogData { + owner: string; + conversationid: string +} + + +@Component({ + selector: 'app-add-member-dialog', + templateUrl: './add-member-dialog.component.html', + styleUrls: ['./add-member-dialog.component.scss'] +}) +export class AddMemberDialogComponent{ + + memberName = ''; + errorMessage = ''; + + constructor( + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: AddMemberDialogData, + @Inject(MessageService) private messageService: MessageService) { } + + onNoClick(): void { + this.dialogRef.close(); + } + + onAddMember(){ + this.messageService.sendMessage(environment.urlCPR, "conversations/addRoomMember", {owner: this.data.owner, conversationid: this.data.conversationid, member: this.memberName}).subscribe(data => { + if (data.status !== 'ok') { + console.log(data.data.reason); + this.errorMessage = data.data.reason; + } + else{ + this.dialogRef.close({ + data: data.data + }); + } + }); + } + +} diff --git a/frontend/src/assets/image/room.png b/frontend/src/assets/image/room.png new file mode 100644 index 0000000..9370d7c Binary files /dev/null and b/frontend/src/assets/image/room.png differ