comment period
This commit is contained in:
@@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { FormBuilder, FormGroup, Validators, NgForm } from '@angular/forms';
|
||||
|
||||
import { UserService } from '../../services/user.service';
|
||||
import { SettingsService } from 'src/app/services/settings.service';
|
||||
|
||||
@Component({
|
||||
selector: 'page-settings',
|
||||
@@ -15,10 +16,12 @@ export class PageSettings implements OnInit {
|
||||
working: boolean = false;
|
||||
success: boolean = false;
|
||||
form: FormGroup;
|
||||
settings: any;
|
||||
@ViewChild('formDirective') private formDirective: NgForm;
|
||||
|
||||
constructor(
|
||||
private userService: UserService,
|
||||
private settingsService: SettingsService,
|
||||
private formBuilder: FormBuilder) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
@@ -27,6 +30,7 @@ export class PageSettings implements OnInit {
|
||||
email: [ '', Validators.nullValidator ],
|
||||
about: [ '', Validators.nullValidator ],
|
||||
gravity: [ '', Validators.nullValidator ],
|
||||
commentDelay: [ '', Validators.nullValidator ],
|
||||
});
|
||||
|
||||
this.form.get('username').disable();
|
||||
@@ -39,8 +43,15 @@ export class PageSettings implements OnInit {
|
||||
this.form.get('username').setValue(this.user.username);
|
||||
this.form.get('email').setValue(this.user.email);
|
||||
this.form.get('about').setValue(this.user.about);
|
||||
this.form.get('gravity').setValue(this.user.settings.gravity || this.user.metadata.defaultGravity);
|
||||
|
||||
this.settingsService.settings.subscribe((settings) => {
|
||||
this.settings = settings;
|
||||
this.form.get('gravity').setValue(this.user.settings.gravity || this.settings.defaultGravity);
|
||||
this.form.get('commentDelay').setValue(this.user.settings.commentDelay || this.settings.defaultCommentDelay);
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
hasError(controlName: string): boolean {
|
||||
@@ -49,7 +60,12 @@ export class PageSettings implements OnInit {
|
||||
|
||||
resetGravity(): void {
|
||||
this.user.settings.gravity = null;
|
||||
this.form.get('gravity').setValue(this.user.metadata.defaultGravity);
|
||||
this.form.get('gravity').setValue(this.settings.defaultGravity);
|
||||
}
|
||||
|
||||
resetCommentDelay(): void {
|
||||
this.user.settings.commentDelay = null;
|
||||
this.form.get('commentDelay').setValue(this.settings.defaultCommentDelay);
|
||||
}
|
||||
|
||||
save(): void {
|
||||
@@ -67,12 +83,18 @@ export class PageSettings implements OnInit {
|
||||
this.user.settings = {};
|
||||
}
|
||||
|
||||
if (this.form.get('gravity').value != this.user.metadata.defaultGravity && !this.user.settings.gravity) {
|
||||
if (this.form.get('gravity').value != this.settings.defaultGravity && !this.user.settings.gravity) {
|
||||
this.user.settings.gravity = this.form.get('gravity').value;
|
||||
} else if (this.user.settings.gravity) {
|
||||
this.user.settings.gravity = this.form.get('gravity').value;
|
||||
}
|
||||
|
||||
if (this.form.get('commentDelay').value != this.settings.defaultCommentDelay && !this.user.settings.commentDelay) {
|
||||
this.user.settings.commentDelay = this.form.get('commentDelay').value;
|
||||
} else if (this.user.settings.commentDelay) {
|
||||
this.user.settings.commentDelay = this.form.get('gravity').value;
|
||||
}
|
||||
|
||||
this.userService.update(this.user).subscribe((data) => {
|
||||
this.user = data;
|
||||
if (!this.user.settings) {
|
||||
|
||||
Reference in New Issue
Block a user