]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/+admin/config/edit-custom-config/edit-instance-information.component.html
60f1aee2e0a67b2cb698fe821d2eac74d7302fbb
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / config / edit-custom-config / edit-instance-information.component.html
1 <ng-container [formGroup]="form">
2
3 <ng-container formGroupName="instance">
4
5 <div class="row mt-5"> <!-- instance grid -->
6 <div class="col-12 col-lg-4 col-xl-3">
7 <h2 i18n class="inner-form-title">INSTANCE</h2>
8 </div>
9
10 <div class="col-12 col-lg-8 col-xl-9">
11 <div class="form-group">
12 <label i18n for="instanceName">Name</label>
13
14 <input
15 type="text" id="instanceName" class="form-control"
16 formControlName="name" [ngClass]="{ 'input-error': formErrors.instance.name }"
17 >
18
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>
24
25 <textarea
26 id="instanceShortDescription" formControlName="shortDescription" class="form-control small"
27 [ngClass]="{ 'input-error': formErrors['instance.shortDescription'] }"
28 ></textarea>
29
30 <div *ngIf="formErrors.instance.shortDescription" class="form-error">{{ formErrors.instance.shortDescription }}</div>
31 </div>
32
33 <div class="form-group">
34 <label i18n for="instanceDescription">Description</label>
35 <div class="label-small-info">
36 <my-custom-markup-help></my-custom-markup-help>
37 </div>
38
39 <my-markdown-textarea
40 name="instanceDescription" formControlName="description"
41 [customMarkdownRenderer]="getCustomMarkdownRenderer()" [debounceTime]="500"
42 [formError]="formErrors['instance.description']"
43 ></my-markdown-textarea>
44 </div>
45
46 <div class="form-group">
47 <label i18n for="instanceCategories">Main instance categories</label>
48
49 <div>
50 <my-select-checkbox
51 id="instanceCategories"
52 formControlName="categories" [availableItems]="categoryItems"
53 [selectableGroup]="false"
54 i18n-placeholder placeholder="Add a new category"
55 >
56 </my-select-checkbox>
57 </div>
58 </div>
59
60 <div class="form-group">
61 <label i18n for="instanceLanguages">Main languages you/your moderators speak</label>
62
63 <div>
64 <my-select-checkbox
65 id="instanceLanguages"
66 formControlName="languages" [availableItems]="languageItems"
67 [selectableGroup]="false"
68 i18n-placeholder placeholder="Add a new language"
69 >
70 </my-select-checkbox>
71 </div>
72 </div>
73
74 </div>
75 </div>
76
77 <div class="row mt-4"> <!-- moderation & nsfw grid -->
78 <div class="col-12 col-lg-4 col-xl-3">
79 <h2 i18n class="inner-form-title">MODERATION & NSFW</h2>
80 <div i18n class="inner-form-description">
81 Manage <a class="link-orange" routerLink="/admin/users">users</a> to build a moderation team.
82 </div>
83 </div>
84
85 <div class="col-12 col-lg-8 col-xl-9">
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>Hide</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">Hide</option>
116 <option i18n value="blur">Blur thumbnails</option>
117 <option i18n value="display">Display</option>
118 </select>
119 </div>
120
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>
126
127 <my-markdown-textarea
128 name="instanceTerms" formControlName="terms" markdownType="enhanced"
129 [formError]="formErrors['instance.terms']"
130 ></my-markdown-textarea>
131 </div>
132
133 <div class="form-group">
134 <label i18n for="instanceCodeOfConduct">Code of conduct</label><my-help helpType="markdownText"></my-help>
135
136 <my-markdown-textarea
137 name="instanceCodeOfConduct" formControlName="codeOfConduct" markdownType="enhanced"
138 [formError]="formErrors['instance.codeOfConduct']"
139 ></my-markdown-textarea>
140 </div>
141
142 <div class="form-group">
143 <label i18n for="instanceModerationInformation">Moderation information</label><my-help helpType="markdownText"></my-help>
144 <div i18n class="label-small-info">Who moderates the instance? What is the policy regarding NSFW videos? Political videos? etc</div>
145
146 <my-markdown-textarea
147 name="instanceModerationInformation" formControlName="moderationInformation" markdownType="enhanced"
148 [formError]="formErrors['instance.moderationInformation']"
149 ></my-markdown-textarea>
150 </div>
151
152 </div>
153 </div>
154
155 <div class="row mt-4"> <!-- you and your instance grid -->
156 <div class="col-12 col-lg-4 col-xl-3">
157 <h2 i18n class="inner-form-title">YOU AND YOUR INSTANCE</h2>
158 </div>
159
160 <div class="col-12 col-lg-8 col-xl-9">
161
162 <div class="form-group">
163 <label i18n for="instanceAdministrator">Who is behind the instance?</label><my-help helpType="markdownText"></my-help>
164 <div i18n class="label-small-info">A single person? A non-profit? A company?</div>
165
166 <my-markdown-textarea
167 name="instanceAdministrator" formControlName="administrator" markdownType="enhanced"
168 [formError]="formErrors['instance.administrator']"
169 ></my-markdown-textarea>
170 </div>
171
172 <div class="form-group">
173 <label i18n for="instanceCreationReason">Why did you create this instance?</label><my-help helpType="markdownText"></my-help>
174 <div i18n class="label-small-info">To share your personal videos? To open registrations and allow people to upload what they want?</div>
175
176 <my-markdown-textarea
177 name="instanceCreationReason" formControlName="creationReason" markdownType="enhanced"
178 [formError]="formErrors['instance.creationReason']"
179 ></my-markdown-textarea>
180 </div>
181
182 <div class="form-group">
183 <label i18n for="instanceMaintenanceLifetime">How long do you plan to maintain this instance?</label><my-help helpType="markdownText"></my-help>
184 <div i18n class="label-small-info">It's important to know for users who want to register on your instance</div>
185
186 <my-markdown-textarea
187 name="instanceMaintenanceLifetime" formControlName="maintenanceLifetime" markdownType="enhanced"
188 [formError]="formErrors['instance.maintenanceLifetime']"
189 ></my-markdown-textarea>
190 </div>
191
192 <div class="form-group">
193 <label i18n for="instanceBusinessModel">How will you finance the PeerTube server?</label><my-help helpType="markdownText"></my-help>
194 <div i18n class="label-small-info">With your own funds? With user donations? Advertising?</div>
195
196 <my-markdown-textarea
197 name="instanceBusinessModel" formControlName="businessModel" markdownType="enhanced"
198 [formError]="formErrors['instance.businessModel']"
199 ></my-markdown-textarea>
200 </div>
201
202 </div>
203 </div>
204
205 <div class="row mt-4"> <!-- other information grid -->
206 <div class="col-12 col-lg-4 col-xl-3">
207 <h2 i18n class="inner-form-title">OTHER INFORMATION</h2>
208 </div>
209
210 <div class="col-12 col-lg-8 col-xl-9">
211
212 <div class="form-group">
213 <label i18n for="instanceHardwareInformation">What server/hardware does the instance run on?</label>
214 <div i18n class="label-small-info">i.e. 2vCore 2GB RAM, a direct the link to the server you rent, etc.</div>
215
216 <my-markdown-textarea
217 name="instanceHardwareInformation" formControlName="hardwareInformation" markdownType="enhanced"
218 [formError]="formErrors['instance.hardwareInformation']"
219 ></my-markdown-textarea>
220 </div>
221
222 </div>
223 </div>
224
225 </ng-container>
226
227 </ng-container>