]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+search/search.component.html
Update changelog
[github/Chocobozzz/PeerTube.git] / client / src / app / +search / search.component.html
CommitLineData
aa55a4da 1<div myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" class="search-result">
2c24b9d3 2 <div class="results-header">
0b18f4aa 3 <div class="first-line">
2c24b9d3 4 <div class="results-counter" *ngIf="pagination.totalItems">
5fb2e288
C
5 <span i18n>{{ pagination.totalItems | myNumberFormatter }} {pagination.totalItems, plural, =1 {result} other {results}} </span>
6
7 <span i18n *ngIf="advancedSearch.searchTarget === 'local'">on this instance</span>
8 <span i18n *ngIf="advancedSearch.searchTarget === 'search-index'">on the vidiverse</span>
9
2c24b9d3
C
10 <span *ngIf="currentSearch" i18n>
11 for <span class="search-value">{{ currentSearch }}</span>
12 </span>
0b18f4aa
C
13 </div>
14
15 <div
f5d9558f 16 class="results-filter-button ml-auto" (click)="isSearchFilterCollapsed = !isSearchFilterCollapsed" role="button"
8cd72bd3 17 [attr.aria-expanded]="!isSearchFilterCollapsed" aria-controls="collapseBasic"
0b18f4aa
C
18 >
19 <span class="icon icon-filter"></span>
c5d04b4f
RK
20 <ng-container i18n>
21 Filters
22 <span *ngIf="numberOfFilters() > 0" class="badge badge-secondary">{{ numberOfFilters() }}</span>
23 </ng-container>
0b18f4aa
C
24 </div>
25 </div>
26
2f4c784a 27 <div class="results-filter collapse-transition" [ngbCollapse]="isSearchFilterCollapsed">
8cd72bd3 28 <my-search-filters [advancedSearch]="advancedSearch" (filtered)="onFiltered()"></my-search-filters>
0b18f4aa
C
29 </div>
30 </div>
31
2d3741d6 32 <div i18n *ngIf="pagination.totalItems === 0 && results.length === 0" class="no-results">
0b18f4aa 33 No results found
57c36b27
C
34 </div>
35
26fabbd6
C
36 <ng-container *ngFor="let result of results">
37 <div *ngIf="isVideoChannel(result)" class="entry video-channel">
0bdad52f
C
38 <a *ngIf="!isExternalChannelUrl()" [routerLink]="getChannelUrl(result)">
39 <img [src]="result.avatarUrl" alt="Avatar" />
40 </a>
41
42 <a *ngIf="isExternalChannelUrl()" [href]="getChannelUrl(result)" target="_blank">
26fabbd6 43 <img [src]="result.avatarUrl" alt="Avatar" />
f37dc0dd
C
44 </a>
45
26fabbd6 46 <div class="video-channel-info">
0bdad52f
C
47 <a *ngIf="!isExternalChannelUrl()" [routerLink]="getChannelUrl(result)" class="video-channel-names">
48 <ng-container *ngTemplateOutlet="aContent"></ng-container>
49 </a>
50
51 <a *ngIf="isExternalChannelUrl()" [href]="getChannelUrl(result)" target="_blank" class="video-channel-names">
52 <ng-container *ngTemplateOutlet="aContent"></ng-container>
53 </a>
54
55 <ng-template #aContent>
26fabbd6
C
56 <div class="video-channel-display-name">{{ result.displayName }}</div>
57 <div class="video-channel-name">{{ result.nameWithHost }}</div>
0bdad52f 58 </ng-template>
f37dc0dd 59
26fabbd6
C
60 <div i18n class="video-channel-followers">{{ result.followersCount }} subscribers</div>
61 </div>
f37dc0dd 62
5fb2e288 63 <my-subscribe-button *ngIf="!hideActions()" [videoChannels]="[result]"></my-subscribe-button>
26fabbd6 64 </div>
57c36b27 65
26fabbd6 66 <div *ngIf="isVideo(result)" class="entry video">
3a0fb65c 67 <my-video-miniature
5c20a455 68 [video]="result" [user]="userMiniature" [displayAsRow]="true" [displayVideoActions]="!hideActions()"
0bdad52f 69 [displayOptions]="videoDisplayOptions" [videoLinkType]="getVideoLinkType()"
5baee5fc 70 (videoBlocked)="removeVideoFromArray(result)" (videoRemoved)="removeVideoFromArray(result)"
3a0fb65c 71 ></my-video-miniature>
57c36b27 72 </div>
26fabbd6
C
73 </ng-container>
74
57c36b27 75</div>