import { Notifier } from '@app/core'
import { CustomConfig } from '../../../../../../shared/models/server/custom-config.model'
import { I18n } from '@ngx-translate/i18n-polyfill'
-import { BuildFormDefaultValues, FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
+import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
@Component({
selector: 'my-edit-custom-config',
export class EditCustomConfigComponent extends FormReactive implements OnInit {
customConfig: CustomConfig
- resolutions: string[] = []
+ resolutions: { id: string, label: string }[] = []
transcodingThreadOptions: { label: string, value: number }[] = []
constructor (
super()
this.resolutions = [
- this.i18n('240p'),
- this.i18n('360p'),
- this.i18n('480p'),
- this.i18n('720p'),
- this.i18n('1080p')
+ {
+ id: '240p',
+ label: this.i18n('240p')
+ },
+ {
+ id: '360p',
+ label: this.i18n('360p')
+ },
+ {
+ id: '480p',
+ label: this.i18n('480p')
+ },
+ {
+ id: '720p',
+ label: this.i18n('720p')
+ },
+ {
+ id: '1080p',
+ label: this.i18n('1080p')
+ },
+ {
+ id: '2160p',
+ label: this.i18n('2160p')
+ }
]
this.transcodingThreadOptions = [
return this.configService.videoQuotaDailyOptions
}
+ get availableThemes () {
+ return this.serverService.getConfig().theme.registered
+ .map(t => t.name)
+ }
+
getResolutionKey (resolution: string) {
return 'transcoding.resolutions.' + resolution
}
description: null,
terms: null,
defaultClientRoute: null,
+ isNSFW: false,
defaultNSFWPolicy: null,
customizations: {
javascript: null,
css: null
}
},
+ theme: {
+ default: null
+ },
services: {
twitter: {
username: this.customConfigValidatorsService.SERVICES_TWITTER_USERNAME,
enabled: null,
threads: this.customConfigValidatorsService.TRANSCODING_THREADS,
allowAdditionalExtensions: null,
+ allowAudioFiles: null,
resolutions: {}
+ },
+ autoBlacklist: {
+ videos: {
+ ofUsers: {
+ enabled: null
+ }
+ }
+ },
+ followers: {
+ instance: {
+ enabled: null,
+ manualApproval: null
+ }
}
}
}
}
for (const resolution of this.resolutions) {
- defaultValues.transcoding.resolutions[resolution] = 'false'
- formGroupData.transcoding.resolutions[resolution] = null
+ defaultValues.transcoding.resolutions[resolution.id] = 'false'
+ formGroupData.transcoding.resolutions[resolution.id] = null
}
this.buildForm(formGroupData)