aboutsummaryrefslogtreecommitdiffhomepage
path: root/client
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2020-01-21 10:47:56 +0100
committerChocobozzz <me@florianbigard.com>2020-01-21 10:47:56 +0100
commit4ee6a8b13edb0dd6186139f3a6589b06139f464b (patch)
treecfde5fc6215500a94047037e58861a44adaa5eab /client
parent7738273b808f0ff1494f18c4cc13553505e6ac6d (diff)
downloadPeerTube-4ee6a8b13edb0dd6186139f3a6589b06139f464b.tar.gz
PeerTube-4ee6a8b13edb0dd6186139f3a6589b06139f464b.tar.zst
PeerTube-4ee6a8b13edb0dd6186139f3a6589b06139f464b.zip
Fix admin config form for auto follow
Diffstat (limited to 'client')
-rw-r--r--client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html17
-rw-r--r--client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts6
-rw-r--r--client/src/app/shared/forms/markdown-textarea.component.html2
-rw-r--r--client/src/app/shared/forms/markdown-textarea.component.ts1
4 files changed, 14 insertions, 12 deletions
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html
index f61593677..e5340234b 100644
--- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html
+++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html
@@ -30,7 +30,7 @@
30 <div class="form-group"> 30 <div class="form-group">
31 <label i18n for="instanceDescription">Description</label><my-help helpType="markdownText"></my-help> 31 <label i18n for="instanceDescription">Description</label><my-help helpType="markdownText"></my-help>
32 <my-markdown-textarea 32 <my-markdown-textarea
33 id="instanceDescription" formControlName="description" textareaWidth="500px" [previewColumn]="true" 33 name="instanceDescription" formControlName="description" textareaWidth="500px" [previewColumn]="true"
34 [classes]="{ 'input-error': formErrors['instance.description'] }" 34 [classes]="{ 'input-error': formErrors['instance.description'] }"
35 ></my-markdown-textarea> 35 ></my-markdown-textarea>
36 <div *ngIf="formErrors.instance.description" class="form-error">{{ formErrors.instance.description }}</div> 36 <div *ngIf="formErrors.instance.description" class="form-error">{{ formErrors.instance.description }}</div>
@@ -101,7 +101,7 @@
101 <div class="form-group"> 101 <div class="form-group">
102 <label i18n for="instanceTerms">Terms</label><my-help helpType="markdownText"></my-help> 102 <label i18n for="instanceTerms">Terms</label><my-help helpType="markdownText"></my-help>
103 <my-markdown-textarea 103 <my-markdown-textarea
104 id="instanceTerms" formControlName="terms" textareaWidth="500px" [previewColumn]="true" 104 name="instanceTerms" formControlName="terms" textareaWidth="500px" [previewColumn]="true"
105 [ngClass]="{ 'input-error': formErrors['instance.terms'] }" 105 [ngClass]="{ 'input-error': formErrors['instance.terms'] }"
106 ></my-markdown-textarea> 106 ></my-markdown-textarea>
107 <div *ngIf="formErrors.instance.terms" class="form-error">{{ formErrors.instance.terms }}</div> 107 <div *ngIf="formErrors.instance.terms" class="form-error">{{ formErrors.instance.terms }}</div>
@@ -110,7 +110,7 @@
110 <div class="form-group"> 110 <div class="form-group">
111 <label i18n for="instanceCodeOfConduct">Code of conduct</label><my-help helpType="markdownText"></my-help> 111 <label i18n for="instanceCodeOfConduct">Code of conduct</label><my-help helpType="markdownText"></my-help>
112 <my-markdown-textarea 112 <my-markdown-textarea
113 id="instanceCodeOfConduct" formControlName="codeOfConduct" textareaWidth="500px" [previewColumn]="true" 113 name="instanceCodeOfConduct" formControlName="codeOfConduct" textareaWidth="500px" [previewColumn]="true"
114 [ngClass]="{ 'input-error': formErrors['instance.codeOfConduct'] }" 114 [ngClass]="{ 'input-error': formErrors['instance.codeOfConduct'] }"
115 ></my-markdown-textarea> 115 ></my-markdown-textarea>
116 <div *ngIf="formErrors.instance.codeOfConduct" class="form-error">{{ formErrors.instance.codeOfConduct }}</div> 116 <div *ngIf="formErrors.instance.codeOfConduct" class="form-error">{{ formErrors.instance.codeOfConduct }}</div>
@@ -121,7 +121,7 @@
121 <div class="label-small-info">Who moderates the instance? What is the policy regarding NSFW videos? Political videos? etc</div> 121 <div class="label-small-info">Who moderates the instance? What is the policy regarding NSFW videos? Political videos? etc</div>
122 122
123 <my-markdown-textarea 123 <my-markdown-textarea
124 id="instanceModerationInformation" formControlName="moderationInformation" textareaWidth="500px" [previewColumn]="true" 124 name="instanceModerationInformation" formControlName="moderationInformation" textareaWidth="500px" [previewColumn]="true"
125 [ngClass]="{ 'input-error': formErrors['instance.moderationInformation'] }" 125 [ngClass]="{ 'input-error': formErrors['instance.moderationInformation'] }"
126 ></my-markdown-textarea> 126 ></my-markdown-textarea>
127 <div *ngIf="formErrors.instance.moderationInformation" class="form-error">{{ formErrors.instance.moderationInformation }}</div> 127 <div *ngIf="formErrors.instance.moderationInformation" class="form-error">{{ formErrors.instance.moderationInformation }}</div>
@@ -134,7 +134,7 @@
134 <div class="label-small-info">A single person? A non-profit? A company?</div> 134 <div class="label-small-info">A single person? A non-profit? A company?</div>
135 135
136 <my-markdown-textarea 136 <my-markdown-textarea
137 id="instanceAdministrator" formControlName="administrator" textareaWidth="500px" textareaHeight="75px" [previewColumn]="true" 137 name="instanceAdministrator" formControlName="administrator" textareaWidth="500px" textareaHeight="75px" [previewColumn]="true"
138 [classes]="{ 'input-error': formErrors['instance.administrator'] }" 138 [classes]="{ 'input-error': formErrors['instance.administrator'] }"
139 ></my-markdown-textarea> 139 ></my-markdown-textarea>
140 140
@@ -181,7 +181,7 @@
181 <div class="label-small-info">2vCore 2GB RAM/or directly the link to the server you rent etc</div> 181 <div class="label-small-info">2vCore 2GB RAM/or directly the link to the server you rent etc</div>
182 182
183 <my-markdown-textarea 183 <my-markdown-textarea
184 id="instanceHardwareInformation" formControlName="hardwareInformation" textareaWidth="500px" textareaHeight="75px" [previewColumn]="true" 184 name="instanceHardwareInformation" formControlName="hardwareInformation" textareaWidth="500px" textareaHeight="75px" [previewColumn]="true"
185 [classes]="{ 'input-error': formErrors['instance.hardwareInformation'] }" 185 [classes]="{ 'input-error': formErrors['instance.hardwareInformation'] }"
186 ></my-markdown-textarea> 186 ></my-markdown-textarea>
187 187
@@ -239,7 +239,7 @@
239 inputName="signupRequiresEmailVerification" formControlName="requiresEmailVerification" 239 inputName="signupRequiresEmailVerification" formControlName="requiresEmailVerification"
240 i18n-labelText labelText="Signup requires email verification" 240 i18n-labelText labelText="Signup requires email verification"
241 ></my-peertube-checkbox> 241 ></my-peertube-checkbox>
242 242
243 <div [ngClass]="{ 'disabled-checkbox-extra': !isSignupEnabled() }" class="mt-3"> 243 <div [ngClass]="{ 'disabled-checkbox-extra': !isSignupEnabled() }" class="mt-3">
244 <label i18n for="signupLimit">Signup limit</label> 244 <label i18n for="signupLimit">Signup limit</label>
245 <input 245 <input
@@ -372,14 +372,13 @@
372 <my-peertube-checkbox 372 <my-peertube-checkbox
373 inputName="followingsInstanceAutoFollowIndexEnabled" formControlName="enabled" 373 inputName="followingsInstanceAutoFollowIndexEnabled" formControlName="enabled"
374 i18n-labelText labelText="Automatically follow instances of the public index" 374 i18n-labelText labelText="Automatically follow instances of the public index"
375 [(ngModel)]="isAutoFollowIndexEnabled"
376 > 375 >
377 <ng-container ngProjectAs="description"> 376 <ng-container ngProjectAs="description">
378 <span i18n>⚠️ This functionality requires a lot of attention and extra moderation.</span> 377 <span i18n>⚠️ This functionality requires a lot of attention and extra moderation.</span>
379 </ng-container> 378 </ng-container>
380 379
381 <ng-container ngProjectAs="extra"> 380 <ng-container ngProjectAs="extra">
382 <div [ngClass]="{ 'disabled-checkbox-extra': !isAutoFollowIndexEnabled }"> 381 <div [ngClass]="{ 'disabled-checkbox-extra': !isAutoFollowIndexEnabled() }">
383 <label i18n for="followingsInstanceAutoFollowIndexUrl">Index URL</label> 382 <label i18n for="followingsInstanceAutoFollowIndexUrl">Index URL</label>
384 <input 383 <input
385 type="text" id="followingsInstanceAutoFollowIndexUrl" 384 type="text" id="followingsInstanceAutoFollowIndexUrl"
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
index 1bc907b73..c88e81c01 100644
--- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
+++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
@@ -24,8 +24,6 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
24 languageItems: SelectItem[] = [] 24 languageItems: SelectItem[] = []
25 categoryItems: SelectItem[] = [] 25 categoryItems: SelectItem[] = []
26 26
27 isAutoFollowIndexEnabled = false
28
29 private serverConfig: ServerConfig 27 private serverConfig: ServerConfig
30 28
31 constructor ( 29 constructor (
@@ -236,6 +234,10 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
236 return this.form.value['signup']['enabled'] === true 234 return this.form.value['signup']['enabled'] === true
237 } 235 }
238 236
237 isAutoFollowIndexEnabled () {
238 return this.form.value['followings']['instance']['autoFollowIndex']['enabled'] === true
239 }
240
239 async formValidated () { 241 async formValidated () {
240 this.configService.updateCustomConfig(this.form.getRawValue()) 242 this.configService.updateCustomConfig(this.form.getRawValue())
241 .subscribe( 243 .subscribe(
diff --git a/client/src/app/shared/forms/markdown-textarea.component.html b/client/src/app/shared/forms/markdown-textarea.component.html
index 3de3b6fcd..0925b9ad5 100644
--- a/client/src/app/shared/forms/markdown-textarea.component.html
+++ b/client/src/app/shared/forms/markdown-textarea.component.html
@@ -2,7 +2,7 @@
2 <textarea 2 <textarea
3 [(ngModel)]="content" (ngModelChange)="onModelChange()" 3 [(ngModel)]="content" (ngModelChange)="onModelChange()"
4 [ngClass]="classes" [ngStyle]="{ width: textareaWidth, height: textareaHeight, 'margin-right': textareaMarginRight }" 4 [ngClass]="classes" [ngStyle]="{ width: textareaWidth, height: textareaHeight, 'margin-right': textareaMarginRight }"
5 id="description" name="description"> 5 [id]="name" [name]="name">
6 </textarea> 6 </textarea>
7 7
8 <ngb-tabset *ngIf="arePreviewsDisplayed()" class="previews" type="pills"> 8 <ngb-tabset *ngIf="arePreviewsDisplayed()" class="previews" type="pills">
diff --git a/client/src/app/shared/forms/markdown-textarea.component.ts b/client/src/app/shared/forms/markdown-textarea.component.ts
index 0c5788899..19cd37573 100644
--- a/client/src/app/shared/forms/markdown-textarea.component.ts
+++ b/client/src/app/shared/forms/markdown-textarea.component.ts
@@ -28,6 +28,7 @@ export class MarkdownTextareaComponent implements ControlValueAccessor, OnInit {
28 @Input() truncate: number 28 @Input() truncate: number
29 @Input() markdownType: 'text' | 'enhanced' = 'text' 29 @Input() markdownType: 'text' | 'enhanced' = 'text'
30 @Input() markdownVideo = false 30 @Input() markdownVideo = false
31 @Input() name = 'description'
31 32
32 textareaMarginRight = '0' 33 textareaMarginRight = '0'
33 flexDirection = 'column' 34 flexDirection = 'column'