-<h1 class="d-flex justify-content-between">
+<h1>
<span>
<my-global-icon iconName="channel" aria-hidden="true"></my-global-icon>
<ng-container i18n>My channels</ng-container>
<span class="badge badge-secondary">{{ totalItems }}</span>
</span>
+</h1>
+<div class="video-channels-header d-flex justify-content-between">
<div class="has-feedback has-clear">
- <input type="text" placeholder="Search your channels" i18n-placeholder [(ngModel)]="channelsSearch" (ngModelChange)="onChannelsSearchChanged()" />
+ <input type="text" placeholder="Search your channels" i18n-placeholder [(ngModel)]="channelsSearch"
+ (ngModelChange)="onChannelsSearchChanged()" />
<a class="glyphicon glyphicon-remove-sign form-control-feedback form-control-clear" (click)="resetSearch()"></a>
<span class="sr-only" i18n>Clear filters</span>
</div>
<my-global-icon iconName="add" aria-hidden="true"></my-global-icon>
<ng-container i18n>Create video channel</ng-container>
</a>
-</h1>
+</div>
<div class="video-channels">
<div *ngFor="let videoChannel of videoChannels; let i = index" class="video-channel">
top: 1px;
}
+.video-channels-header {
+ margin-bottom: 30px;
+}
+
@media screen and (max-width: $small-view) {
.video-channels-header {
text-align: center;
}
}
+@media screen and (max-width: $mobile-view) {
+ .video-channels-header {
+ flex-direction: column;
+
+ input[type=text] {
+ width: 100% !important;
+ margin-bottom: 12px;
+ }
+ }
+}
+
@media screen and (min-width: breakpoint(lg)) {
:host-context(.main-col:not(.expanded)) {
.video-channel-buttons {
-<h1 class="d-flex justify-content-between">
+<h1>
<span>
<my-global-icon iconName="subscriptions" aria-hidden="true"></my-global-icon>
<ng-container i18n>My subscriptions</ng-container>
<span class="badge badge-secondary"> {{ pagination.totalItems }}</span>
</span>
+</h1>
+<div class="video-subscriptions-header d-flex justify-content-between">
<div class="has-feedback has-clear">
- <input type="text" placeholder="Search your subscriptions" i18n-placeholder [(ngModel)]="subscriptionsSearch" (ngModelChange)="onSubscriptionsSearchChanged()" />
+ <input type="text" placeholder="Search your subscriptions" i18n-placeholder [(ngModel)]="subscriptionsSearch"
+ (ngModelChange)="onSubscriptionsSearchChanged()" />
<a class="glyphicon glyphicon-remove-sign form-control-feedback form-control-clear" (click)="resetSearch()"></a>
<span class="sr-only" i18n>Clear filters</span>
</div>
-</h1>
+</div>
<div class="no-results" i18n *ngIf="pagination.totalItems === 0">You don't have any subscriptions yet.</div>
}
}
-@media screen and (max-width: $small-view) {
- .video-channels-header {
- text-align: center;
- }
+.video-subscriptions-header {
+ margin-bottom: 30px;
+}
+@media screen and (max-width: $small-view) {
.video-channel {
.video-channel-info {
padding-bottom: 10px;
}
}
+@media screen and (max-width: $mobile-view) {
+ .video-subscriptions-header {
+ flex-direction: column;
+
+ input[type=text] {
+ width: 100% !important;
+ }
+ }
+}
+
-<h1 class="d-flex justify-content-between">
+<h1>
<span>
<my-global-icon iconName="playlists" aria-hidden="true"></my-global-icon>
<ng-container i18n>My playlists</ng-container> <span class="badge badge-secondary">{{ pagination.totalItems }}</span>
</span>
+</h1>
+<div class="video-playlists-header d-flex justify-content-between">
<div class="has-feedback has-clear">
- <input type="text" placeholder="Search your playlists" i18n-placeholder [(ngModel)]="videoPlaylistsSearch" (ngModelChange)="onVideoPlaylistSearchChanged()" />
+ <input type="text" placeholder="Search your playlists" i18n-placeholder [(ngModel)]="videoPlaylistsSearch"
+ (ngModelChange)="onVideoPlaylistSearchChanged()" />
<a class="glyphicon glyphicon-remove-sign form-control-feedback form-control-clear" (click)="resetSearch()"></a>
<span class="sr-only" i18n>Clear filters</span>
</div>
<my-global-icon iconName="add" aria-hidden="true"></my-global-icon>
<ng-container i18n>Create playlist</ng-container>
</a>
-</h1>
+</div>
<div class="video-playlists" myInfiniteScroller [autoInit]="true" (nearOfBottom)="onNearOfBottom()" [dataObservable]="onDataSubject.asObservable()">
<div *ngFor="let playlist of videoPlaylists" class="video-playlist">
}
}
+.video-playlists-header {
+ margin-bottom: 30px;
+}
+
@media screen and (max-width: $small-view) {
.video-playlists-header {
text-align: center;
}
}
-@media only screen and (min-width: $mobile-view) and (max-width: $small-view) {
- .video-playlists-header {
- input[type=text] {
- width: 42% !important;
- }
- }
-}
-
@media screen and (max-width: $mobile-view) {
.video-playlists-header {
flex-direction: column;
-<h1 class="d-flex justify-content-between">
+<h1>
<span>
<my-global-icon iconName="videos" aria-hidden="true"></my-global-icon>
<ng-container i18n>My videos</ng-container>
<span class="badge badge-secondary"> {{ pagination.totalItems }}</span>
</span>
+</h1>
+<div class="videos-header d-flex justify-content-between">
<div class="has-feedback has-clear">
- <input type="text" placeholder="Search your videos" i18n-placeholder [(ngModel)]="videosSearch" (ngModelChange)="onVideosSearchChanged()" />
+ <input type="text" placeholder="Search your videos" i18n-placeholder [(ngModel)]="videosSearch"
+ (ngModelChange)="onVideosSearchChanged()" />
<a class="glyphicon glyphicon-remove-sign form-control-feedback form-control-clear" (click)="resetSearch()"></a>
<span class="sr-only" i18n>Clear filters</span>
</div>
-</h1>
+</div>
<my-videos-selection
[pagination]="pagination"
}
@media screen and (max-width: $small-view) {
- .videos-header {
- flex-direction: column;
- }
-
.action-button {
flex-direction: column;
align-self: center;
}
}
}
+
+@media screen and (max-width: $mobile-view) {
+ .videos-header {
+ flex-direction: column;
+
+ input[type=text] {
+ width: 100% !important;
+ }
+ }
+}