2018-08-24 03:31:56 -05:00
|
|
|
<div myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" class="search-result">
|
2018-07-24 09:00:22 -05:00
|
|
|
<div class="results-header">
|
2018-07-20 11:31:49 -05:00
|
|
|
<div class="first-line">
|
2018-07-24 09:00:22 -05:00
|
|
|
<div class="results-counter" *ngIf="pagination.totalItems">
|
|
|
|
<span i18n>{{ pagination.totalItems | myNumberFormatter }} results</span>
|
|
|
|
<span *ngIf="currentSearch" i18n>
|
|
|
|
for <span class="search-value">{{ currentSearch }}</span>
|
|
|
|
</span>
|
2018-07-20 11:31:49 -05:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div
|
2018-09-29 06:42:17 -05:00
|
|
|
class="results-filter-button ml-auto" (click)="isSearchFilterCollapsed = !isSearchFilterCollapsed" role="button"
|
2018-07-23 13:13:30 -05:00
|
|
|
[attr.aria-expanded]="!isSearchFilterCollapsed" aria-controls="collapseBasic"
|
2018-07-20 11:31:49 -05:00
|
|
|
>
|
|
|
|
<span class="icon icon-filter"></span>
|
|
|
|
<ng-container i18n>Filters</ng-container>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2018-08-09 07:55:06 -05:00
|
|
|
<div class="results-filter" [ngbCollapse]="isSearchFilterCollapsed">
|
2018-07-23 13:13:30 -05:00
|
|
|
<my-search-filters [advancedSearch]="advancedSearch" (filtered)="onFiltered()"></my-search-filters>
|
2018-07-20 11:31:49 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2018-08-30 07:58:00 -05:00
|
|
|
<div i18n *ngIf="pagination.totalItems === 0 && results.length === 0" class="no-results">
|
2018-07-20 11:31:49 -05:00
|
|
|
No results found
|
2018-07-19 09:17:54 -05:00
|
|
|
</div>
|
|
|
|
|
2018-08-28 09:02:02 -05:00
|
|
|
<ng-container *ngFor="let result of results">
|
|
|
|
<div *ngIf="isVideoChannel(result)" class="entry video-channel">
|
|
|
|
<a [routerLink]="[ '/video-channels', result.nameWithHost ]">
|
|
|
|
<img [src]="result.avatarUrl" alt="Avatar" />
|
2018-08-23 10:58:39 -05:00
|
|
|
</a>
|
|
|
|
|
2018-08-28 09:02:02 -05:00
|
|
|
<div class="video-channel-info">
|
|
|
|
<a [routerLink]="[ '/video-channels', result.nameWithHost ]" class="video-channel-names">
|
|
|
|
<div class="video-channel-display-name">{{ result.displayName }}</div>
|
|
|
|
<div class="video-channel-name">{{ result.nameWithHost }}</div>
|
|
|
|
</a>
|
2018-08-23 10:58:39 -05:00
|
|
|
|
2018-08-28 09:02:02 -05:00
|
|
|
<div i18n class="video-channel-followers">{{ result.followersCount }} subscribers</div>
|
|
|
|
</div>
|
2018-08-23 10:58:39 -05:00
|
|
|
|
2018-09-25 08:42:58 -05:00
|
|
|
<my-subscribe-button [videoChannel]="result"></my-subscribe-button>
|
2018-08-28 09:02:02 -05:00
|
|
|
</div>
|
2018-07-19 09:17:54 -05:00
|
|
|
|
2018-08-28 09:02:02 -05:00
|
|
|
<div *ngIf="isVideo(result)" class="entry video">
|
|
|
|
<my-video-thumbnail [video]="result"></my-video-thumbnail>
|
|
|
|
|
|
|
|
<div class="video-info">
|
2018-09-08 07:34:32 -05:00
|
|
|
<a tabindex="-1" class="video-info-name" [routerLink]="['/videos/watch', result.uuid]" [attr.title]="result.name">{{ result.name }}</a>
|
2018-08-28 09:02:02 -05:00
|
|
|
<span i18n class="video-info-date-views">{{ result.publishedAt | myFromNow }} - {{ result.views | myNumberFormatter }} views</span>
|
2018-09-08 07:34:32 -05:00
|
|
|
<a tabindex="-1" class="video-info-account" [routerLink]="[ '/accounts', result.byAccount ]">{{ result.byAccount }}</a>
|
2018-08-28 09:02:02 -05:00
|
|
|
</div>
|
2018-07-19 09:17:54 -05:00
|
|
|
</div>
|
2018-08-28 09:02:02 -05:00
|
|
|
</ng-container>
|
|
|
|
|
2018-07-19 09:17:54 -05:00
|
|
|
</div>
|