From c5911fd347c76e8bdc05ea9f3ee9efed4a58c236 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 29 Dec 2017 19:10:13 +0100 Subject: Begin to add avatar to actors --- .../account-settings/account-settings.component.ts | 36 +++++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) (limited to 'client/src/app/account/account-settings/account-settings.component.ts') diff --git a/client/src/app/account/account-settings/account-settings.component.ts b/client/src/app/account/account-settings/account-settings.component.ts index cba251000..3e03085ce 100644 --- a/client/src/app/account/account-settings/account-settings.component.ts +++ b/client/src/app/account/account-settings/account-settings.component.ts @@ -1,6 +1,10 @@ -import { Component, OnInit } from '@angular/core' +import { HttpEventType, HttpResponse } from '@angular/common/http' +import { Component, OnInit, ViewChild } from '@angular/core' +import { NotificationsService } from 'angular2-notifications' +import { VideoPrivacy } from '../../../../../shared/models/videos' import { User } from '../../shared' import { AuthService } from '../../core' +import { UserService } from '../../shared/users' @Component({ selector: 'my-account-settings', @@ -8,15 +12,39 @@ import { AuthService } from '../../core' styleUrls: [ './account-settings.component.scss' ] }) export class AccountSettingsComponent implements OnInit { + @ViewChild('avatarfileInput') avatarfileInput + user: User = null - constructor (private authService: AuthService) {} + constructor ( + private userService: UserService, + private authService: AuthService, + private notificationsService: NotificationsService + ) {} ngOnInit () { this.user = this.authService.getUser() } - getAvatarPath () { - return this.user.getAvatarPath() + getAvatarUrl () { + return this.user.getAvatarUrl() + } + + changeAvatar () { + const avatarfile = this.avatarfileInput.nativeElement.files[ 0 ] + + const formData = new FormData() + formData.append('avatarfile', avatarfile) + + this.userService.changeAvatar(formData) + .subscribe( + data => { + this.notificationsService.success('Success', 'Avatar changed.') + + this.user.account.avatar = data.avatar + }, + + err => this.notificationsService.error('Error', err.message) + ) } } -- cgit v1.2.3