Automatically enable videos auto block on signup

This commit is contained in:
Chocobozzz 2020-11-18 15:55:19 +01:00
parent 0aa52e1707
commit 16a173bbc9
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 35 additions and 0 deletions

View File

@ -351,6 +351,8 @@
>
<ng-container ngProjectAs="description">
<span i18n>⚠️ This functionality requires a lot of attention and extra moderation.</span>
<div class="alert alert-info alert-signup" *ngIf="signupAlertMessage">{{ signupAlertMessage }}</div>
</ng-container>
<ng-container ngProjectAs="extra">
<my-peertube-checkbox [ngClass]="{ 'disabled-checkbox-extra': !isSignupEnabled() }"

View File

@ -87,3 +87,8 @@ ngb-tabset:not(.previews) ::ng-deep {
.submit-error {
margin-bottom: 20px;
}
.alert-signup {
width: fit-content;
margin-top: 10px;
}

View File

@ -20,6 +20,7 @@ import { USER_VIDEO_QUOTA_DAILY_VALIDATOR, USER_VIDEO_QUOTA_VALIDATOR } from '@a
import { FormReactive, FormValidatorService, SelectOptionsItem } from '@app/shared/shared-forms'
import { NgbNav } from '@ng-bootstrap/ng-bootstrap'
import { CustomConfig, ServerConfig } from '@shared/models'
import { pairwise } from 'rxjs/operators'
@Component({
selector: 'my-edit-custom-config',
@ -41,6 +42,8 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
languageItems: SelectOptionsItem[] = []
categoryItems: SelectOptionsItem[] = []
signupAlertMessage: string
private serverConfig: ServerConfig
constructor (
@ -293,7 +296,9 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
this.buildForm(formGroupData)
this.loadForm()
this.checkTranscodingFields()
this.checkSignupField()
}
ngAfterViewChecked () {
@ -428,4 +433,27 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
}
})
}
private checkSignupField () {
const signupControl = this.form.get('signup.enabled')
signupControl.valueChanges
.pipe(pairwise())
.subscribe(([ oldValue, newValue ]) => {
if (oldValue !== true && newValue === true) {
// tslint:disable:max-line-length
this.signupAlertMessage = $localize`You enabled signup: we automatically enabled the "Block new videos automatically" checkbox of the "Videos" section just below.`
this.form.patchValue({
autoBlacklist: {
videos: {
ofUsers: {
enabled: true
}
}
}
})
}
})
}
}