Add autoplay tooltip, use of flex-wrap in video-info and other-videos
This commit is contained in:
parent
3921166d78
commit
5def76ebba
|
@ -70,7 +70,11 @@ export class SubscribeButtonComponent implements OnInit {
|
|||
this.subscribed = true
|
||||
|
||||
this.notifier.success(
|
||||
this.i18n('Subscribed to {{nameWithHost}}', { nameWithHost: this.videoChannel.displayName }),
|
||||
this.i18n(
|
||||
'Subscribed to {{nameWithHost}}. ' +
|
||||
'You will be notified of all their new videos.',
|
||||
{ nameWithHost: this.videoChannel.displayName }
|
||||
),
|
||||
this.i18n('Subscribed')
|
||||
)
|
||||
},
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
</div>
|
||||
|
||||
<my-video-actions-dropdown
|
||||
placement="top auto" buttonDirection="horizontal" [buttonStyled]="true" [video]="video"
|
||||
placement="bottom auto" buttonDirection="horizontal" [buttonStyled]="true" [video]="video"
|
||||
(videoRemoved)="onVideoRemoved()" (modalOpened)="onModalOpened()"
|
||||
></my-video-actions-dropdown>
|
||||
</div>
|
||||
|
|
|
@ -147,14 +147,13 @@ $video-info-margin-left: 44px;
|
|||
}
|
||||
|
||||
.video-info-first-row-bottom {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.video-info-date-views {
|
||||
flex-grow: 1;
|
||||
align-self: start;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 10px;
|
||||
|
@ -210,8 +209,8 @@ $video-info-margin-left: 44px;
|
|||
.video-actions-rates {
|
||||
margin: 0 0 10px 0;
|
||||
align-items: start;
|
||||
align-self: end;
|
||||
width: max-content;
|
||||
margin-left: auto;
|
||||
|
||||
.video-actions {
|
||||
height: 40px; // Align with the title
|
||||
|
@ -397,6 +396,10 @@ $video-info-margin-left: 44px;
|
|||
padding-left: 15px;
|
||||
min-width: $video-miniature-width;
|
||||
|
||||
@media screen and (min-width: 1800px - (3* $video-miniature-width)) {
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
.title-page {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<div class="other-videos">
|
||||
<ng-container *ngIf="hasVideos$ | async">
|
||||
<div class="d-flex title-page-container">
|
||||
<div class="title-page-container">
|
||||
<div i18n class="title-page title-page-single">
|
||||
Other videos
|
||||
</div>
|
||||
<div *ngIf="!playlist" class="d-flex title-page-autoplay">
|
||||
<div *ngIf="!playlist" class="title-page-autoplay"
|
||||
[ngbTooltip]="autoPlayNextVideoTooltip" placement="bottom-right auto"
|
||||
>
|
||||
<span i18n>Autoplay</span>
|
||||
<p-inputSwitch [(ngModel)]="autoPlayNextVideo" (ngModelChange)="switchAutoPlayNextVideo()"></p-inputSwitch>
|
||||
</div>
|
||||
|
|
|
@ -1,17 +1,22 @@
|
|||
.title-page-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
align-items: baseline;
|
||||
margin-bottom: 25px;
|
||||
flex-wrap: wrap-reverse;
|
||||
|
||||
.title-page.active, .title-page.title-page-single {
|
||||
margin-bottom: unset;
|
||||
margin-right: .5rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
.title-page-autoplay {
|
||||
display: flex;
|
||||
width: max-content;
|
||||
height: max-content;
|
||||
align-items: center;
|
||||
margin-left: auto;
|
||||
|
||||
span {
|
||||
margin-right: 0.3rem;
|
||||
|
|
|
@ -8,6 +8,7 @@ import { User } from '@app/shared'
|
|||
import { AuthService, Notifier } from '@app/core'
|
||||
import { UserService } from '@app/shared/users/user.service'
|
||||
import { peertubeSessionStorage } from '@app/shared/misc/peertube-web-storage'
|
||||
import { I18n } from '@ngx-translate/i18n-polyfill'
|
||||
|
||||
@Component({
|
||||
selector: 'my-recommended-videos',
|
||||
|
@ -23,6 +24,7 @@ export class RecommendedVideosComponent implements OnChanges {
|
|||
@Output() gotRecommendations = new EventEmitter<Video[]>()
|
||||
|
||||
autoPlayNextVideo: boolean
|
||||
autoPlayNextVideoTooltip: string
|
||||
|
||||
readonly hasVideos$: Observable<boolean>
|
||||
readonly videos$: Observable<Video[]>
|
||||
|
@ -31,6 +33,7 @@ export class RecommendedVideosComponent implements OnChanges {
|
|||
private userService: UserService,
|
||||
private authService: AuthService,
|
||||
private notifier: Notifier,
|
||||
private i18n: I18n,
|
||||
private store: RecommendedVideosStore
|
||||
) {
|
||||
this.videos$ = this.store.recommendations$
|
||||
|
@ -40,6 +43,8 @@ export class RecommendedVideosComponent implements OnChanges {
|
|||
this.autoPlayNextVideo = this.authService.isLoggedIn()
|
||||
? this.authService.getUser().autoPlayNextVideo
|
||||
: peertubeSessionStorage.getItem(RecommendedVideosComponent.SESSION_STORAGE_AUTO_PLAY_NEXT_VIDEO) === 'true' || false
|
||||
|
||||
this.autoPlayNextVideoTooltip = this.i18n('When active, the next video is automatically played after the current one.')
|
||||
}
|
||||
|
||||
public ngOnChanges (): void {
|
||||
|
|
Loading…
Reference in New Issue