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