From c14c46a44442cc638fac984729684767c11cdcf4 Mon Sep 17 00:00:00 2001 From: NyxiumYuuki Date: Sun, 30 May 2021 11:24:52 +0200 Subject: [PATCH 1/9] change type input --- frontend/src/app/login/login.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/login/login.component.html b/frontend/src/app/login/login.component.html index 28e356d..7b5009d 100644 --- a/frontend/src/app/login/login.component.html +++ b/frontend/src/app/login/login.component.html @@ -11,7 +11,7 @@ placeholder="Entrez votre login" class="form-control" [(ngModel)]="login"> - From 8547ebf403a64738035c78587e474b54401ecc08 Mon Sep 17 00:00:00 2001 From: NyxiumYuuki Date: Sun, 30 May 2021 11:25:10 +0200 Subject: [PATCH 2/9] add left chat --- backend/service-message/server.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/service-message/server.js b/backend/service-message/server.js index 9798225..c436ca9 100644 --- a/backend/service-message/server.js +++ b/backend/service-message/server.js @@ -82,6 +82,13 @@ io.on('connection',socket => { socket.on("disconnect", function() { console.log(`${getUsername} left the chat.`); + socket.broadcast.emit('general',[{ + username: 'Server', + date: new Date(), + channel: 'general', + message: `${getUsername} left the chat.` + }]); + }); } }); From def91588a3ede93abb8400ae9c8197952eada0d3 Mon Sep 17 00:00:00 2001 From: NyxiumYuuki Date: Sun, 30 May 2021 18:11:44 +0200 Subject: [PATCH 3/9] Debug chat display --- frontend/src/styles.scss | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index 5e6c778..057c44d 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -12,7 +12,8 @@ body { border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); height: calc(100vh - 100px); - padding: 10px; + padding: 0; + overflow-y: auto; .user-card { display: flex; @@ -28,6 +29,7 @@ body { font-weight: 500; margin-bottom: 0; display: flex; + margin-left: 5px; justify-content: center; align-items: center; } @@ -64,11 +66,11 @@ body { } .chat-body { - background-image: url(./assets/image/user.png); + background-color: white; background-repeat: no-repeat; background-size: cover; background-position: center center; - height: calc(100vh - 125px); + height: calc(89vh - 125px); overflow-y: auto; .message-container { From 5027493910d6abf66b074b68fedf7db459e215da Mon Sep 17 00:00:00 2001 From: NyxiumYuuki Date: Sun, 30 May 2021 18:12:18 +0200 Subject: [PATCH 4/9] Add leaveRoom (socket disconnect) --- frontend/src/app/services/chat/chat.service.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/app/services/chat/chat.service.ts b/frontend/src/app/services/chat/chat.service.ts index aee3fcb..7245b07 100644 --- a/frontend/src/app/services/chat/chat.service.ts +++ b/frontend/src/app/services/chat/chat.service.ts @@ -49,6 +49,11 @@ export class ChatService { }); } + leaveRoom(): void { + // @ts-ignore + this.socket?.disconnect(); + } + onNewMessage(room: string): Observable { return new Observable(observer => { // @ts-ignore From 0034b663912b30df7a826a02ee719f7a85e16da6 Mon Sep 17 00:00:00 2001 From: NyxiumYuuki Date: Sun, 30 May 2021 18:25:55 +0200 Subject: [PATCH 5/9] General renamed to message component --- .../src/app/general/general.component.html | 25 -------- .../src/app/general/general.component.scss | 0 .../src/app/general/general.component.spec.ts | 25 -------- frontend/src/app/general/general.component.ts | 61 ------------------- 4 files changed, 111 deletions(-) delete mode 100644 frontend/src/app/general/general.component.html delete mode 100644 frontend/src/app/general/general.component.scss delete mode 100644 frontend/src/app/general/general.component.spec.ts delete mode 100644 frontend/src/app/general/general.component.ts diff --git a/frontend/src/app/general/general.component.html b/frontend/src/app/general/general.component.html deleted file mode 100644 index 21f47dc..0000000 --- a/frontend/src/app/general/general.component.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - Socket.IO chat - - - -
    -
-
- -
- - diff --git a/frontend/src/app/general/general.component.scss b/frontend/src/app/general/general.component.scss deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/src/app/general/general.component.spec.ts b/frontend/src/app/general/general.component.spec.ts deleted file mode 100644 index 99edc2f..0000000 --- a/frontend/src/app/general/general.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { GeneralComponent } from './general.component'; - -describe('GeneralComponent', () => { - let component: GeneralComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ GeneralComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(GeneralComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/frontend/src/app/general/general.component.ts b/frontend/src/app/general/general.component.ts deleted file mode 100644 index 096d68b..0000000 --- a/frontend/src/app/general/general.component.ts +++ /dev/null @@ -1,61 +0,0 @@ -import {Component, ElementRef, OnInit, ViewChild} from '@angular/core'; -import {ChatInfo, ChatService} from "../services/chat/chat.service"; -import {environment} from "../../environments/environment"; -import {DatePipe} from "@angular/common"; -import {MessageService} from "../services/message/message.service"; - -@Component({ - selector: 'app-general', - templateUrl: './general.component.html', - styleUrls: ['./general.component.scss'] -}) -export class GeneralComponent implements OnInit { - - private username = sessionStorage.getItem('login'); - private room = 'general'; - public msg = ''; - - // @ts-ignore - @ViewChild('ulMessages') ulMsg: ElementRef; - - - constructor(private chatservice: ChatService, private pipe: DatePipe, private messageservice: MessageService) {} - - ngOnInit() { - console.log('General working'); - this.messageservice.sendMessage(environment.urlCL,'getUsers', {username: this.username}).subscribe( - data => { - if (data.status !== 'ok'){ - console.log(data.data.reason); - } - else{ - console.log(data.data); - } - } - ); - this.chatservice.setUrl(environment.urlCG); - this.chatservice.setRoom(this.room); - this.chatservice.onNewMessage(this.room).subscribe((infos: ChatInfo[]) => { - for(let data of infos){ - if(data !== undefined && data.date !== undefined){ - if(data.username === 'Server'){ - this.ulMsg.nativeElement.insertAdjacentHTML('beforeend', '
  • '+data.message+'
  • '); - } - else{ - this.ulMsg.nativeElement.insertAdjacentHTML('beforeend','
  • ['+this.pipe.transform(data.date, 'dd/MM/yyyy HH:MM:ss')+'] '+data.username+' : '+data.message+'
  • '); - } - } - } - window.scrollTo(0, document.body.scrollHeight); - }); - } - - sendButtonClick(){ - console.log('Button working'); - if(this.msg && this.username){ - this.chatservice.sendMessage(this.username, this.room, this.msg); - console.log(this.username, this.room, this.msg); - this.msg = ''; - } - } -} From 4b8337c4f62406981d47719e120f434afecca6b3 Mon Sep 17 00:00:00 2001 From: NyxiumYuuki Date: Sun, 30 May 2021 18:27:32 +0200 Subject: [PATCH 6/9] Errormessage added + type and required added --- frontend/src/app/login/login.component.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/login/login.component.ts b/frontend/src/app/login/login.component.ts index b2c0c55..a675c18 100644 --- a/frontend/src/app/login/login.component.ts +++ b/frontend/src/app/login/login.component.ts @@ -20,16 +20,16 @@ export class LoginComponent implements OnInit { } showCredentials(): void { - console.log('Login :', this.login); - console.log('Password :', this.password); + // console.log('Login :', this.login); + // console.log('Password :', this.password); this.auth.sendAuthentication(this.login, this.password).subscribe(data => { this.auth.finalizeAuthentication(data); - if (this.auth.islog === true) { + if (this.auth.islog) { sessionStorage.setItem('login', this.login); - this.router.navigateByUrl('/general'); + this.router.navigateByUrl('/chat'); } else { this.errorMessage = data.data.reason; - console.log(this.errorMessage); + //console.log(this.errorMessage); } }); From 6f7e465b86211d1be0fa15d58a793427e5c0a920 Mon Sep 17 00:00:00 2001 From: NyxiumYuuki Date: Sun, 30 May 2021 18:28:48 +0200 Subject: [PATCH 7/9] Errormessage added + type and required added --- frontend/src/app/login/login.component.html | 34 +++++++++------------ 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/frontend/src/app/login/login.component.html b/frontend/src/app/login/login.component.html index 7b5009d..aa64ec3 100644 --- a/frontend/src/app/login/login.component.html +++ b/frontend/src/app/login/login.component.html @@ -2,27 +2,21 @@ - -