]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html
Allow configuration to be static/readonly (#4315)
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / config / edit-custom-config / edit-advanced-configuration.component.html
CommitLineData
5f46d28c
C
1<ng-container [formGroup]="form">
2
3 <div class="form-row mt-5"> <!-- cache grid -->
4 <div class="form-group col-12 col-lg-4 col-xl-3">
5 <div i18n class="inner-form-title">CACHE</div>
6 <div i18n class="inner-form-description">
7 Some files are not federated, and fetched when necessary. Define their caching policies.
8 </div>
9 </div>
10
11 <div class="form-group form-group-right col-12 col-lg-8 col-xl-9">
12
13 <ng-container formGroupName="cache">
14 <div class="form-group" formGroupName="previews">
15 <label i18n for="cachePreviewsSize">Number of previews to keep in cache</label>
70e33515 16
5f46d28c
C
17 <div class="number-with-unit">
18 <input
19 type="number" min="0" id="cachePreviewsSize" class="form-control"
20 formControlName="size" [ngClass]="{ 'input-error': formErrors['cache.previews.size'] }"
21 >
70e33515 22 <span i18n>{getCacheSize('previews'), plural, =1 {cached image} other {cached images}}</span>
5f46d28c 23 </div>
70e33515 24
5f46d28c
C
25 <div *ngIf="formErrors.cache.previews.size" class="form-error">{{ formErrors.cache.previews.size }}</div>
26 </div>
27
28 <div class="form-group" formGroupName="captions">
29 <label i18n for="cacheCaptionsSize">Number of video captions to keep in cache</label>
70e33515 30
5f46d28c
C
31 <div class="number-with-unit">
32 <input
33 type="number" min="0" id="cacheCaptionsSize" class="form-control"
34 formControlName="size" [ngClass]="{ 'input-error': formErrors['cache.captions.size'] }"
35 >
70e33515 36 <span i18n>{getCacheSize('captions'), plural, =1 {cached caption} other {cached captions}}</span>
5f46d28c 37 </div>
70e33515 38
5f46d28c
C
39 <div *ngIf="formErrors.cache.captions.size" class="form-error">{{ formErrors.cache.captions.size }}</div>
40 </div>
b3d5cb92
C
41
42 <div class="form-group" formGroupName="torrents">
43 <label i18n for="cacheTorrentsSize">Number of video torrents to keep in cache</label>
44
45 <div class="number-with-unit">
46 <input
47 type="number" min="0" id="cacheTorrentsSize" class="form-control"
48 formControlName="size" [ngClass]="{ 'input-error': formErrors['cache.torrents.size'] }"
49 >
50 <span i18n>{getCacheSize('torrents'), plural, =1 {cached torrent} other {cached torrents}}</span>
51 </div>
52
53 <div *ngIf="formErrors.cache.torrents.size" class="form-error">{{ formErrors.cache.torrents.size }}</div>
54 </div>
5f46d28c
C
55 </ng-container>
56
57 </div>
58 </div>
59
60 <div class="form-row mt-4"> <!-- cache grid -->
61 <div class="form-group col-12 col-lg-4 col-xl-3">
62 <div class="anchor" id="customizations"></div> <!-- customizations anchor -->
63 <div i18n class="inner-form-title">CUSTOMIZATIONS</div>
64 <div i18n class="inner-form-description">
65 Slight modifications to your PeerTube instance for when creating a plugin or theme is overkill.
66 </div>
67 </div>
68
69 <div class="form-group form-group-right col-12 col-lg-8 col-xl-9">
70
71 <ng-container formGroupName="instance">
72 <ng-container formGroupName="customizations">
73 <div class="form-group">
74 <label i18n for="customizationJavascript">JavaScript</label>
75 <my-help>
76 <ng-template ptTemplate="customHtml">
77 <ng-container i18n>
78 Write JavaScript code directly.<br />Example: <pre>console.log('my instance is amazing');</pre>
79 </ng-container>
80 </ng-template>
81 </my-help>
82
83 <textarea
84 id="customizationJavascript" formControlName="javascript" class="form-control"
85 [ngClass]="{ 'input-error': formErrors['instance.customizations.javascript'] }"
86 ></textarea>
87
88 <div *ngIf="formErrors.instance.customizations.javascript" class="form-error">{{ formErrors.instance.customizations.javascript }}</div>
89 </div>
90
91 <div class="form-group">
92 <label for="customizationCSS">CSS</label>
93
94 <my-help>
95 <ng-template ptTemplate="customHtml">
96 <ng-container i18n>
97 Write CSS code directly. Example:<br /><br />
98<pre>
99#custom-css {{ '{' }}
100color: red;
101{{ '}' }}
102</pre>
103 Prepend with <em>#custom-css</em> to override styles. Example:<br /><br />
104<pre>
105#custom-css .logged-in-email {{ '{' }}
106color: red;
107{{ '}' }}
108</pre>
109 </ng-container>
110 </ng-template>
111 </my-help>
112
113 <textarea
114 id="customizationCSS" formControlName="css" class="form-control"
115 [ngClass]="{ 'input-error': formErrors['instance.customizations.css'] }"
116 ></textarea>
117 <div *ngIf="formErrors.instance.customizations.css" class="form-error">{{ formErrors.instance.customizations.css }}</div>
118 </div>
119 </ng-container>
120 </ng-container>
121
122 </div>
123 </div>
124
125</ng-container>