diff --git a/client/src/app/+admin/overview/videos/video-admin.service.ts b/client/src/app/+admin/overview/videos/video-admin.service.ts index af1357381..6a45eb201 100644 --- a/client/src/app/+admin/overview/videos/video-admin.service.ts +++ b/client/src/app/+admin/overview/videos/video-admin.service.ts @@ -112,7 +112,8 @@ export class VideoAdminService { let include = VideoInclude.BLACKLISTED | VideoInclude.BLOCKED_OWNER | VideoInclude.NOT_PUBLISHED_STATE | - VideoInclude.FILES + VideoInclude.FILES | + VideoInclude.SOURCE let privacyOneOf = getAllPrivacies() diff --git a/client/src/app/+admin/overview/videos/video-list.component.html b/client/src/app/+admin/overview/videos/video-list.component.html index 3f81867cc..0bdccbab8 100644 --- a/client/src/app/+admin/overview/videos/video-list.component.html +++ b/client/src/app/+admin/overview/videos/video-list.component.html @@ -70,14 +70,17 @@ - Local - Remote + @if (video.isLocal) { + Local + } @else { + Remote + } {{ video.privacy.label }} NSFW - {{ video.state.label }} + {{ video.state.label }} Account muted Server muted @@ -86,10 +89,11 @@ - HLS - Web Videos ({{ video.files.length }}) - Live - Object storage + Original file + HLS + Web Videos ({{ video.files.length }}) + Live + Object storage {{ getFilesSize(video) | bytes: 1 }} @@ -105,8 +109,26 @@
-
- Web Videos: +
+ Original file: + +
    +
  • + {{ video.videoSource.inputFilename }}: {{ video.videoSource.size | bytes: 1 }} + + +
  • +
+
+ +
+ Web Videos:
  • @@ -124,7 +146,7 @@
- HLS: + HLS:
  • diff --git a/client/src/app/+admin/overview/videos/video-list.component.ts b/client/src/app/+admin/overview/videos/video-list.component.ts index 8a50d3f56..1ee53ee1d 100644 --- a/client/src/app/+admin/overview/videos/video-list.component.ts +++ b/client/src/app/+admin/overview/videos/video-list.component.ts @@ -1,32 +1,32 @@ -import { SortMeta, SharedModule } from 'primeng/api' -import { finalize } from 'rxjs/operators' +import { DatePipe, NgClass, NgFor, NgIf } from '@angular/common' import { Component, OnInit, ViewChild } from '@angular/core' import { ActivatedRoute, Router } from '@angular/router' import { AuthService, ConfirmService, Notifier, RestPagination, RestTable } from '@app/core' import { formatICU, getAbsoluteAPIUrl } from '@app/helpers' +import { Video } from '@app/shared/shared-main/video/video.model' +import { VideoService } from '@app/shared/shared-main/video/video.service' +import { VideoBlockComponent } from '@app/shared/shared-moderation/video-block.component' +import { VideoBlockService } from '@app/shared/shared-moderation/video-block.service' +import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap' import { getAllFiles } from '@peertube/peertube-core-utils' import { UserRight, VideoFile, VideoPrivacy, VideoState, VideoStreamingPlaylistType } from '@peertube/peertube-models' -import { VideoAdminService } from './video-admin.service' -import { BytesPipe } from '../../../shared/shared-main/angular/bytes.pipe' -import { EmbedComponent } from '../../../shared/shared-main/video/embed.component' +import { SharedModule, SortMeta } from 'primeng/api' +import { TableModule } from 'primeng/table' +import { finalize } from 'rxjs/operators' +import { AdvancedInputFilter, AdvancedInputFilterComponent } from '../../../shared/shared-forms/advanced-input-filter.component' +import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component' import { AutoColspanDirective } from '../../../shared/shared-main/angular/auto-colspan.directive' +import { BytesPipe } from '../../../shared/shared-main/angular/bytes.pipe' +import { ActionDropdownComponent, DropdownAction } from '../../../shared/shared-main/buttons/action-dropdown.component' +import { ButtonComponent } from '../../../shared/shared-main/buttons/button.component' +import { EmbedComponent } from '../../../shared/shared-main/video/embed.component' +import { TableExpanderIconComponent } from '../../../shared/shared-tables/table-expander-icon.component' import { VideoCellComponent } from '../../../shared/shared-tables/video-cell.component' import { VideoActionsDisplayType, VideoActionsDropdownComponent } from '../../../shared/shared-video-miniature/video-actions-dropdown.component' -import { TableExpanderIconComponent } from '../../../shared/shared-tables/table-expander-icon.component' -import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap' -import { ButtonComponent } from '../../../shared/shared-main/buttons/button.component' -import { AdvancedInputFilter, AdvancedInputFilterComponent } from '../../../shared/shared-forms/advanced-input-filter.component' -import { ActionDropdownComponent, DropdownAction } from '../../../shared/shared-main/buttons/action-dropdown.component' -import { NgClass, NgIf, NgFor, DatePipe } from '@angular/common' -import { TableModule } from 'primeng/table' -import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component' -import { VideoService } from '@app/shared/shared-main/video/video.service' -import { Video } from '@app/shared/shared-main/video/video.model' -import { VideoBlockComponent } from '@app/shared/shared-moderation/video-block.component' -import { VideoBlockService } from '@app/shared/shared-moderation/video-block.service' +import { VideoAdminService } from './video-admin.service' @Component({ selector: 'my-video-list', @@ -187,6 +187,10 @@ export class VideoListComponent extends RestTable