Browse Source

Automatically enable videos auto block on signup

pull/3334/head
Chocobozzz 1 week ago
parent
commit
16a173bbc9
No known key found for this signature in database GPG Key ID: 583A612D890159BE
3 changed files with 35 additions and 0 deletions
  1. +2
    -0
      client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html
  2. +5
    -0
      client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.scss
  3. +28
    -0
      client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts

+ 2
- 0
client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 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() }"


+ 5
- 0
client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.scss 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;
}

+ 28
- 0
client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts 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
}
}
}
})
}
})
}
}

Loading…
Cancel
Save