]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+admin/config/edit-custom-config/edit-instance-information.component.html
Small edit config refactor
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / config / edit-custom-config / edit-instance-information.component.html
CommitLineData
5f46d28c
C
1<ng-container [formGroup]="form">
2
3 <ng-container formGroupName="instance">
4
5 <div class="form-row mt-5"> <!-- instance grid -->
6 <div class="form-group col-12 col-lg-4 col-xl-3">
7 <div i18n class="inner-form-title">INSTANCE</div>
8 </div>
9
10 <div class="form-group form-group-right col-12 col-lg-8 col-xl-9">
11
12 <div class="form-group">
13 <label i18n for="instanceName">Name</label>
70e33515 14
5f46d28c
C
15 <input
16 type="text" id="instanceName" class="form-control"
17 formControlName="name" [ngClass]="{ 'input-error': formErrors.instance.name }"
18 >
70e33515 19
5f46d28c
C
20 <div *ngIf="formErrors.instance.name" class="form-error">{{ formErrors.instance.name }}</div>
21 </div>
22
23 <div class="form-group">
24 <label i18n for="instanceShortDescription">Short description</label>
70e33515 25
5f46d28c
C
26 <textarea
27 id="instanceShortDescription" formControlName="shortDescription" class="form-control small"
28 [ngClass]="{ 'input-error': formErrors['instance.shortDescription'] }"
29 ></textarea>
70e33515 30
5f46d28c
C
31 <div *ngIf="formErrors.instance.shortDescription" class="form-error">{{ formErrors.instance.shortDescription }}</div>
32 </div>
33
34 <div class="form-group">
35 <label i18n for="instanceDescription">Description</label><my-help helpType="markdownText"></my-help>
70e33515 36
5f46d28c
C
37 <my-markdown-textarea
38 name="instanceDescription" formControlName="description" textareaMaxWidth="500px"
39 [classes]="{ 'input-error': formErrors['instance.description'] }"
40 ></my-markdown-textarea>
70e33515 41
5f46d28c
C
42 <div *ngIf="formErrors.instance.description" class="form-error">{{ formErrors.instance.description }}</div>
43 </div>
44
45 <div class="form-group">
46 <label i18n for="instanceCategories">Main instance categories</label>
47
48 <div>
49 <my-select-checkbox
50 id="instanceCategories"
51 formControlName="categories" [availableItems]="categoryItems"
52 [selectableGroup]="false"
53 i18n-placeholder placeholder="Add a new category"
54 >
55 </my-select-checkbox>
56 </div>
57 </div>
58
59 <div class="form-group">
60 <label i18n for="instanceLanguages">Main languages you/your moderators speak</label>
61
62 <div>
63 <my-select-checkbox
64 id="instanceLanguages"
65 formControlName="languages" [availableItems]="languageItems"
66 [selectableGroup]="false"
67 i18n-placeholder placeholder="Add a new language"
68 >
69 </my-select-checkbox>
70 </div>
71 </div>
72
73 </div>
74 </div>
75
76 <div class="form-row mt-4"> <!-- moderation & nsfw grid -->
77 <div class="form-group col-12 col-lg-4 col-xl-3">
78 <div i18n class="inner-form-title">MODERATION & NSFW</div>
79 <div i18n class="inner-for-description">
80 Manage <a routerLink="/admin/users">users</a> to build a moderation team.
81 </div>
82 </div>
83
84 <div class="form-group form-group-right col-12 col-lg-8 col-xl-9">
85
86 <div class="form-group">
87 <my-peertube-checkbox inputName="instanceIsNSFW" formControlName="isNSFW">
88 <ng-template ptTemplate="label">
89 <ng-container i18n>This instance is dedicated to sensitive or NSFW content</ng-container>
90 </ng-template>
91
92 <ng-template ptTemplate="help">
93 <ng-container i18n>
94 Enabling it will allow other administrators to know that you are mainly federating sensitive content.<br /><br />
95 Moreover, the NSFW checkbox on video upload will be automatically checked by default.
96 </ng-container>
97 </ng-template>
98 </my-peertube-checkbox>
99 </div>
100
101 <div class="form-group">
102 <label i18n for="instanceDefaultNSFWPolicy">Policy on videos containing sensitive content</label>
103
104 <my-help>
105 <ng-template ptTemplate="customHtml">
106 <ng-container i18n>
107 With <strong>Do not list</strong> or <strong>Blur thumbnails</strong>, a confirmation will be requested to watch the video.
108 </ng-container>
109 </ng-template>
110 </my-help>
111
112 <div class="peertube-select-container">
113 <select id="instanceDefaultNSFWPolicy" formControlName="defaultNSFWPolicy" class="form-control">
114 <option i18n value="undefined" disabled>Policy for sensitive videos</option>
115 <option i18n value="do_not_list">Do not list</option>
116 <option i18n value="blur">Blur thumbnails</option>
117 <option i18n value="display">Display</option>
118 </select>
119 </div>
70e33515 120
5f46d28c
C
121 <div *ngIf="formErrors.instance.defaultNSFWPolicy" class="form-error">{{ formErrors.instance.defaultNSFWPolicy }}</div>
122 </div>
123
124 <div class="form-group">
125 <label i18n for="instanceTerms">Terms</label><my-help helpType="markdownText"></my-help>
70e33515 126
5f46d28c
C
127 <my-markdown-textarea
128 name="instanceTerms" formControlName="terms" textareaMaxWidth="500px"
129 [ngClass]="{ 'input-error': formErrors['instance.terms'] }"
130 ></my-markdown-textarea>
70e33515 131
5f46d28c
C
132 <div *ngIf="formErrors.instance.terms" class="form-error">{{ formErrors.instance.terms }}</div>
133 </div>
134
135 <div class="form-group">
136 <label i18n for="instanceCodeOfConduct">Code of conduct</label><my-help helpType="markdownText"></my-help>
70e33515 137
5f46d28c
C
138 <my-markdown-textarea
139 name="instanceCodeOfConduct" formControlName="codeOfConduct" textareaMaxWidth="500px"
140 [ngClass]="{ 'input-error': formErrors['instance.codeOfConduct'] }"
141 ></my-markdown-textarea>
70e33515 142
5f46d28c
C
143 <div *ngIf="formErrors.instance.codeOfConduct" class="form-error">{{ formErrors.instance.codeOfConduct }}</div>
144 </div>
145
146 <div class="form-group">
147 <label i18n for="instanceModerationInformation">Moderation information</label><my-help helpType="markdownText"></my-help>
148 <div i18n class="label-small-info">Who moderates the instance? What is the policy regarding NSFW videos? Political videos? etc</div>
149
150 <my-markdown-textarea
151 name="instanceModerationInformation" formControlName="moderationInformation" textareaMaxWidth="500px"
152 [ngClass]="{ 'input-error': formErrors['instance.moderationInformation'] }"
153 ></my-markdown-textarea>
70e33515 154
5f46d28c
C
155 <div *ngIf="formErrors.instance.moderationInformation" class="form-error">{{ formErrors.instance.moderationInformation }}</div>
156 </div>
157
158 </div>
159 </div>
160
161 <div class="form-row mt-4"> <!-- you and your instance grid -->
162 <div class="form-group col-12 col-lg-4 col-xl-3">
163 <div i18n class="inner-form-title">YOU AND YOUR INSTANCE</div>
164 </div>
165
166 <div class="form-group form-group-right col-12 col-lg-8 col-xl-9">
167
168 <div class="form-group">
169 <label i18n for="instanceAdministrator">Who is behind the instance?</label><my-help helpType="markdownText"></my-help>
170 <div i18n class="label-small-info">A single person? A non-profit? A company?</div>
171
172 <my-markdown-textarea
173 name="instanceAdministrator" formControlName="administrator" textareaMaxWidth="500px"
174 [classes]="{ 'input-error': formErrors['instance.administrator'] }"
175 ></my-markdown-textarea>
176
177 <div *ngIf="formErrors.instance.administrator" class="form-error">{{ formErrors.instance.administrator }}</div>
178 </div>
179
180 <div class="form-group">
181 <label i18n for="instanceCreationReason">Why did you create this instance?</label><my-help helpType="markdownText"></my-help>
182 <div i18n class="label-small-info">To share your personal videos? To open registrations and allow people to upload what they want?</div>
183
184 <my-markdown-textarea
185 name="instanceCreationReason" formControlName="creationReason" textareaMaxWidth="500px"
186 [ngClass]="{ 'input-error': formErrors['instance.creationReason'] }"
187 ></my-markdown-textarea>
70e33515 188
5f46d28c
C
189 <div *ngIf="formErrors.instance.creationReason" class="form-error">{{ formErrors.instance.creationReason }}</div>
190 </div>
191
192 <div class="form-group">
193 <label i18n for="instanceMaintenanceLifetime">How long do you plan to maintain this instance?</label><my-help helpType="markdownText"></my-help>
194 <div i18n class="label-small-info">It's important to know for users who want to register on your instance</div>
195
196 <my-markdown-textarea
197 name="instanceMaintenanceLifetime" formControlName="maintenanceLifetime" textareaMaxWidth="500px"
198 [ngClass]="{ 'input-error': formErrors['instance.maintenanceLifetime'] }"
199 ></my-markdown-textarea>
70e33515 200
5f46d28c
C
201 <div *ngIf="formErrors.instance.maintenanceLifetime" class="form-error">{{ formErrors.instance.maintenanceLifetime }}</div>
202 </div>
203
204 <div class="form-group">
205 <label i18n for="instanceBusinessModel">How will you finance the PeerTube server?</label><my-help helpType="markdownText"></my-help>
206 <div i18n class="label-small-info">With your own funds? With user donations? Advertising?</div>
207
208 <my-markdown-textarea
209 name="instanceBusinessModel" formControlName="businessModel" textareaMaxWidth="500px"
210 [ngClass]="{ 'input-error': formErrors['instance.businessModel'] }"
211 ></my-markdown-textarea>
70e33515 212
5f46d28c
C
213 <div *ngIf="formErrors.instance.businessModel" class="form-error">{{ formErrors.instance.businessModel }}</div>
214 </div>
215
216 </div>
217 </div>
218
219 <div class="form-row mt-4"> <!-- other information grid -->
220 <div class="form-group col-12 col-lg-4 col-xl-3">
221 <div i18n class="inner-form-title">OTHER INFORMATION</div>
222 </div>
223
224 <div class="form-group form-group-right col-12 col-lg-8 col-xl-9">
225
226 <div class="form-group">
227 <label i18n for="instanceHardwareInformation">What server/hardware does the instance run on?</label>
228 <div i18n class="label-small-info">i.e. 2vCore 2GB RAM, a direct the link to the server you rent, etc.</div>
229
230 <my-markdown-textarea
231 name="instanceHardwareInformation" formControlName="hardwareInformation" textareaMaxWidth="500px"
232 [classes]="{ 'input-error': formErrors['instance.hardwareInformation'] }"
233 ></my-markdown-textarea>
234
235 <div *ngIf="formErrors.instance.hardwareInformation" class="form-error">{{ formErrors.instance.hardwareInformation }}</div>
236 </div>
237
238 </div>
239 </div>
240
241 </ng-container>
242
243</ng-container>