Don't display scope fitler on account/channel pages

This commit is contained in:
Chocobozzz 2021-08-30 09:37:00 +02:00
parent e874edd9f8
commit 1b20624552
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
10 changed files with 32 additions and 6 deletions

View File

@ -13,6 +13,8 @@
[displayModerationBlock]="true"
[displayAsRow]="displayAsRow()"
[hideScopeFilter]="true"
[loadUserVideoPreferences]="true"
[disabled]="disabled"

View File

@ -14,6 +14,8 @@
[displayOptions]="displayOptions"
[displayAsRow]="displayAsRow()"
[hideScopeFilter]="true"
[loadUserVideoPreferences]="true"
[disabled]="disabled"

View File

@ -13,5 +13,7 @@
[groupByDate]="true"
[disabled]="disabled"
[headerActions]="actions"
>
</my-videos-list>

View File

@ -23,7 +23,7 @@ export class VideoUserSubscriptionsComponent implements DisableForReuseHook {
{
routerLink: '/my-library/subscriptions',
label: $localize`Subscriptions`,
iconName: 'cog'
iconName: 'cog' as 'cog'
}
]

View File

@ -77,7 +77,7 @@
</div>
</div>
<div class="form-group">
<div class="form-group" *ngIf="!hideScope">
<label for="scope" i18n>Scope:</label>
<div class="peertube-radio-container">

View File

@ -24,6 +24,8 @@ export class VideoFiltersHeaderComponent implements OnInit, OnDestroy {
@Input() defaultSort = '-publishedAt'
@Input() nsfwPolicy: NSFWPolicyType
@Input() hideScope = false
@Output() filtersChanged = new EventEmitter()
areFiltersCollapsed = true

View File

@ -38,10 +38,14 @@ export class VideoFilters {
private onChangeCallbacks: Array<() => void> = []
private oldFormObjectString: string
constructor (defaultSort: string, defaultScope: VideoFilterScope) {
private readonly hiddenFields: string[] = []
constructor (defaultSort: string, defaultScope: VideoFilterScope, hiddenFields: string[] = []) {
this.setDefaultSort(defaultSort)
this.setDefaultScope(defaultScope)
this.hiddenFields = hiddenFields
this.reset()
}
@ -160,6 +164,9 @@ export class VideoFilters {
label: $localize`VOD videos`
})
}
this.activeFilters = this.activeFilters
.filter(a => this.hiddenFields.includes(a.key) === false)
}
getActiveFilters () {

View File

@ -33,7 +33,7 @@
</div>
<my-video-filters-header
*ngIf="displayFilters" [displayModerationBlock]="displayModerationBlock"
*ngIf="displayFilters" [displayModerationBlock]="displayModerationBlock" [hideScope]="hideScopeFilter"
[defaultSort]="defaultSort" [filters]="filters"
(filtersChanged)="onFiltersChanged(true)"
></my-video-filters-header>

View File

@ -3,6 +3,9 @@
@use '_mixins' as *;
@use '_miniature' as *;
// Cannot set margin top to videos-header because of the main header fixed position
$margin-top: 30px;
.videos-header {
display: grid;
grid-template-columns: auto 1fr auto;
@ -19,7 +22,7 @@
display: inline-block;
font-weight: $font-semibold;
margin-top: 30px;
margin-top: $margin-top;
margin-bottom: 0;
}
@ -35,6 +38,8 @@
.action-block {
grid-column: 3;
grid-row: 1/3;
margin-top: $margin-top;
}
my-feed {

View File

@ -59,6 +59,8 @@ export class VideosListComponent implements OnInit, OnChanges, OnDestroy {
@Input() headerActions: HeaderAction[] = []
@Input() hideScopeFilter = false
@Input() displayOptions: MiniatureDisplayOptions = {
date: true,
views: true,
@ -109,7 +111,11 @@ export class VideosListComponent implements OnInit, OnChanges, OnDestroy {
}
ngOnInit () {
this.filters = new VideoFilters(this.defaultSort, this.defaultScope)
const hiddenFilters = this.hideScopeFilter
? [ 'scope' ]
: []
this.filters = new VideoFilters(this.defaultSort, this.defaultScope, hiddenFilters)
this.filters.load({ ...this.route.snapshot.queryParams, scope: this.defaultScope })
this.groupedDateLabels = {