mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-03 09:49:20 +02:00

* inject() Function * signal inputs * outputs * signal queries * cleanup unused imports https://angular.dev/reference/migrations
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { Component, OnInit, inject } from '@angular/core'
|
|
import { RouterOutlet } from '@angular/router'
|
|
import { AuthService } from '@app/core'
|
|
import { HorizontalMenuComponent, HorizontalMenuEntry } from '@app/shared/shared-main/menu/horizontal-menu.component'
|
|
import { UserRight, UserRightType } from '@peertube/peertube-models'
|
|
|
|
@Component({
|
|
templateUrl: './admin-overview.component.html',
|
|
imports: [ HorizontalMenuComponent, RouterOutlet ]
|
|
})
|
|
export class AdminOverviewComponent implements OnInit {
|
|
private auth = inject(AuthService)
|
|
|
|
menuEntries: HorizontalMenuEntry[] = []
|
|
|
|
ngOnInit () {
|
|
this.buildMenu()
|
|
}
|
|
|
|
private buildMenu () {
|
|
this.menuEntries = []
|
|
|
|
if (this.hasRight(UserRight.MANAGE_USERS)) {
|
|
this.menuEntries.push({
|
|
label: $localize`Users`,
|
|
routerLink: '/admin/overview/users'
|
|
})
|
|
}
|
|
|
|
if (this.hasRight(UserRight.SEE_ALL_VIDEOS)) {
|
|
this.menuEntries.push({
|
|
label: $localize`Videos`,
|
|
routerLink: '/admin/overview/videos',
|
|
queryParams: {
|
|
search: 'isLocal:true'
|
|
}
|
|
})
|
|
}
|
|
|
|
if (this.hasRight(UserRight.SEE_ALL_COMMENTS)) {
|
|
this.menuEntries.push({
|
|
label: $localize`Comments`,
|
|
routerLink: '/admin/overview/comments'
|
|
})
|
|
}
|
|
}
|
|
|
|
private hasRight (right: UserRightType) {
|
|
return this.auth.getUser().hasRight(right)
|
|
}
|
|
}
|