]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/search/search-filters.component.html
Add advanced search in client
[github/Chocobozzz/PeerTube.git] / client / src / app / search / search-filters.component.html
1 <form role="form" (ngSubmit)="formUpdated()">
2
3 <div class="row">
4 <div class="col-lg-4 col-md-6 col-xs-12">
5 <div class="form-group">
6 <div i18n class="radio-label">Published date</div>
7
8 <div class="peertube-radio-container" *ngFor="let date of publishedDateRanges">
9 <input type="radio" name="publishedDateRange" [id]="date.id" [value]="date.id" [(ngModel)]="publishedDateRange">
10 <label [for]="date.id" class="radio">{{ date.label }}</label>
11 </div>
12 </div>
13
14 <div class="form-group">
15 <div i18n class="radio-label">Duration</div>
16
17 <div class="peertube-radio-container" *ngFor="let duration of durationRanges">
18 <input type="radio" name="durationRange" [id]="duration.id" [value]="duration.id" [(ngModel)]="durationRange">
19 <label [for]="duration.id" class="radio">{{ duration.label }}</label>
20 </div>
21 </div>
22
23 <div class="form-group">
24 <div i18n class="radio-label">Display sensitive content</div>
25
26 <div class="peertube-radio-container">
27 <input type="radio" name="sensitiveContent" id="sensitiveContentYes" value="both" [(ngModel)]="advancedSearch.nsfw">
28 <label i18n for="sensitiveContentYes" class="radio">Yes</label>
29 </div>
30
31 <div class="peertube-radio-container">
32 <input type="radio" name="sensitiveContent" id="sensitiveContentNo" value="false" [(ngModel)]="advancedSearch.nsfw">
33 <label i18n for="sensitiveContentNo" class="radio">No</label>
34 </div>
35 </div>
36
37 </div>
38
39 <div class="col-lg-4 col-md-6 col-xs-12">
40 <div class="form-group">
41 <label i18n for="category">Category</label>
42 <div class="peertube-select-container">
43 <select id="category" name="category" [(ngModel)]="advancedSearch.categoryOneOf">
44 <option></option>
45 <option *ngFor="let category of videoCategories" [value]="category.id">{{ category.label }}</option>
46 </select>
47 </div>
48 </div>
49
50 <div class="form-group">
51 <label i18n for="licence">Licence</label>
52 <div class="peertube-select-container">
53 <select id="licence" name="licence" [(ngModel)]="advancedSearch.licenceOneOf">
54 <option></option>
55 <option *ngFor="let licence of videoLicences" [value]="licence.id">{{ licence.label }}</option>
56 </select>
57 </div>
58 </div>
59
60 <div class="form-group">
61 <label i18n for="language">Language</label>
62 <div class="peertube-select-container">
63 <select id="language" name="language" [(ngModel)]="advancedSearch.languageOneOf">
64 <option></option>
65 <option *ngFor="let language of videoLanguages" [value]="language.id">{{ language.label }}</option>
66 </select>
67 </div>
68 </div>
69 </div>
70
71 <div class="col-lg-4 col-md-6 col-xs-12">
72 <div class="form-group">
73 <label i18n for="tagsAllOf">All of these tags</label>
74 <input type="text" name="tagsAllOf" id="tagsAllOf" [(ngModel)]="advancedSearch.tagsAllOf" />
75 </div>
76
77 <div class="form-group">
78 <label i18n for="tagsOneOf">One of these tags</label>
79 <input type="text" name="tagsOneOf" id="tagsOneOf" [(ngModel)]="advancedSearch.tagsOneOf" />
80 </div>
81 </div>
82 </div>
83
84 <div class="submit-button">
85 <input type="submit" i18n-value value="Filter">
86 </div>
87 </form>