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