Update to primeng 19

This commit is contained in:
Chocobozzz
2026-03-26 16:53:34 +01:00
parent 663627c264
commit 262180b1d5
57 changed files with 115 additions and 133 deletions
+2 -2
View File
@@ -57,7 +57,7 @@
"@peertube/xliffmerge": "^2.0.4", "@peertube/xliffmerge": "^2.0.4",
"@plussub/srt-vtt-parser": "^2.0.5", "@plussub/srt-vtt-parser": "^2.0.5",
"@popperjs/core": "^2.11.8", "@popperjs/core": "^2.11.8",
"@primeng/themes": "^19.1.4", "@primeuix/themes": "^2.0.3",
"@stylistic/eslint-plugin": "^5.9.0", "@stylistic/eslint-plugin": "^5.9.0",
"@types/core-js": "^2.5.8", "@types/core-js": "^2.5.8",
"@types/debug": "^4.1.12", "@types/debug": "^4.1.12",
@@ -101,7 +101,7 @@
"ngx-uploadx": "^7.0.1", "ngx-uploadx": "^7.0.1",
"p2p-media-loader-core": "^2.2.2", "p2p-media-loader-core": "^2.2.2",
"p2p-media-loader-hlsjs": "^2.2.2", "p2p-media-loader-hlsjs": "^2.2.2",
"primeng": "^19.1.4", "primeng": "^21.1.3",
"rxjs": "^7.8.2", "rxjs": "^7.8.2",
"sass-embedded": "^1.97.3", "sass-embedded": "^1.97.3",
"sha.js": "^2.4.12", "sha.js": "^2.4.12",
@@ -10,18 +10,18 @@ import { PeertubeCheckboxComponent } from '@app/shared/shared-forms/peertube-che
import { PeertubeColorPickerComponent } from '@app/shared/shared-forms/peertube-color-picker.component' import { PeertubeColorPickerComponent } from '@app/shared/shared-forms/peertube-color-picker.component'
import { SelectCustomValueComponent } from '@app/shared/shared-forms/select/select-custom-value.component' import { SelectCustomValueComponent } from '@app/shared/shared-forms/select/select-custom-value.component'
import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-options.component' import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-options.component'
import { SelectPlayerThemeComponent } from '@app/shared/shared-forms/select/select-player-theme.component'
import { objectKeysTyped } from '@peertube/peertube-core-utils' import { objectKeysTyped } from '@peertube/peertube-core-utils'
import { CustomConfig, PlayerTheme } from '@peertube/peertube-models' import { CustomConfig, PlayerTheme } from '@peertube/peertube-models'
import { SelectOptionsItem } from '@pt-types'
import { capitalizeFirstLetter } from '@root-helpers/string' import { capitalizeFirstLetter } from '@root-helpers/string'
import { ColorPaletteThemeConfig, ThemeCustomizationKey } from '@root-helpers/theme-manager' import { ColorPaletteThemeConfig, ThemeCustomizationKey } from '@root-helpers/theme-manager'
import debug from 'debug' import debug from 'debug'
import { debounceTime, Subscription } from 'rxjs' import { debounceTime, Subscription } from 'rxjs'
import { SelectOptionsItem } from 'src/types'
import { AdminConfigService } from '../../../shared/shared-admin/admin-config.service' import { AdminConfigService } from '../../../shared/shared-admin/admin-config.service'
import { HelpComponent } from '../../../shared/shared-main/buttons/help.component' import { HelpComponent } from '../../../shared/shared-main/buttons/help.component'
import { AlertComponent } from '../../../shared/shared-main/common/alert.component' import { AlertComponent } from '../../../shared/shared-main/common/alert.component'
import { AdminSaveBarComponent } from '../shared/admin-save-bar.component' import { AdminSaveBarComponent } from '../shared/admin-save-bar.component'
import { SelectPlayerThemeComponent } from '@app/shared/shared-forms/select/select-player-theme.component'
const debugLogger = debug('peertube:config') const debugLogger = debug('peertube:config')
@@ -25,10 +25,11 @@ import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.serv
import { AlertComponent } from '@app/shared/shared-main/common/alert.component' import { AlertComponent } from '@app/shared/shared-main/common/alert.component'
import { VideoService } from '@app/shared/shared-main/video/video.service' import { VideoService } from '@app/shared/shared-main/video/video.service'
import { BroadcastMessageLevel, ConstantLabel, CustomConfig, VideoCommentPolicyType, VideoPrivacyType } from '@peertube/peertube-models' import { BroadcastMessageLevel, ConstantLabel, CustomConfig, VideoCommentPolicyType, VideoPrivacyType } from '@peertube/peertube-models'
import { SelectOptionsItem } from '@pt-types'
import merge from 'lodash-es/merge' import merge from 'lodash-es/merge'
import { Subscription } from 'rxjs' import { Subscription } from 'rxjs'
import { pairwise } from 'rxjs/operators' import { pairwise } from 'rxjs/operators'
import { SelectOptionsItem } from 'src/types/select-options-item.model' import { PartialDeep } from 'type-fest'
import { AdminConfigService } from '../../../shared/shared-admin/admin-config.service' import { AdminConfigService } from '../../../shared/shared-admin/admin-config.service'
import { MarkdownTextareaComponent } from '../../../shared/shared-forms/markdown-textarea.component' import { MarkdownTextareaComponent } from '../../../shared/shared-forms/markdown-textarea.component'
import { PeertubeCheckboxComponent } from '../../../shared/shared-forms/peertube-checkbox.component' import { PeertubeCheckboxComponent } from '../../../shared/shared-forms/peertube-checkbox.component'
@@ -39,7 +40,6 @@ import { SelectVideosSortComponent } from '../../../shared/shared-forms/select/s
import { HelpComponent } from '../../../shared/shared-main/buttons/help.component' import { HelpComponent } from '../../../shared/shared-main/buttons/help.component'
import { UserRealQuotaInfoComponent } from '../../shared/user-real-quota-info.component' import { UserRealQuotaInfoComponent } from '../../shared/user-real-quota-info.component'
import { AdminSaveBarComponent } from '../shared/admin-save-bar.component' import { AdminSaveBarComponent } from '../shared/admin-save-bar.component'
import { PartialDeep } from 'type-fest'
type DownloadPolicy = 'allowed' | 'disabled' type DownloadPolicy = 'allowed' | 'disabled'
@@ -21,9 +21,9 @@ import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-o
import { SelectRadioComponent } from '@app/shared/shared-forms/select/select-radio.component' import { SelectRadioComponent } from '@app/shared/shared-forms/select/select-radio.component'
import { getCompleteLocale, I18N_LOCALES } from '@peertube/peertube-core-utils' import { getCompleteLocale, I18N_LOCALES } from '@peertube/peertube-core-utils'
import { ActorImage, ConstantLabel, CustomConfig, NSFWPolicyType } from '@peertube/peertube-models' import { ActorImage, ConstantLabel, CustomConfig, NSFWPolicyType } from '@peertube/peertube-models'
import { SelectOptionsItem } from '@pt-types'
import merge from 'lodash-es/merge' import merge from 'lodash-es/merge'
import { Subscription } from 'rxjs' import { Subscription } from 'rxjs'
import { SelectOptionsItem } from 'src/types/select-options-item.model'
import { AdminConfigService } from '../../../shared/shared-admin/admin-config.service' import { AdminConfigService } from '../../../shared/shared-admin/admin-config.service'
import { CustomMarkupHelpComponent } from '../../../shared/shared-custom-markup/custom-markup-help.component' import { CustomMarkupHelpComponent } from '../../../shared/shared-custom-markup/custom-markup-help.component'
import { MarkdownTextareaComponent } from '../../../shared/shared-forms/markdown-textarea.component' import { MarkdownTextareaComponent } from '../../../shared/shared-forms/markdown-textarea.component'
@@ -19,8 +19,8 @@ import {
} from '@app/shared/form-validators/form-validator.model' } from '@app/shared/form-validators/form-validator.model'
import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service' import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service'
import { CustomConfig } from '@peertube/peertube-models' import { CustomConfig } from '@peertube/peertube-models'
import { SelectOptionsItem } from '@pt-types'
import { Subscription } from 'rxjs' import { Subscription } from 'rxjs'
import { SelectOptionsItem } from 'src/types/select-options-item.model'
import { AdminConfigService, FormResolutions, ResolutionOption } from '../../../shared/shared-admin/admin-config.service' import { AdminConfigService, FormResolutions, ResolutionOption } from '../../../shared/shared-admin/admin-config.service'
import { PeertubeCheckboxComponent } from '../../../shared/shared-forms/peertube-checkbox.component' import { PeertubeCheckboxComponent } from '../../../shared/shared-forms/peertube-checkbox.component'
import { SelectCustomValueComponent } from '../../../shared/shared-forms/select/select-custom-value.component' import { SelectCustomValueComponent } from '../../../shared/shared-forms/select/select-custom-value.component'
@@ -16,8 +16,8 @@ import {
} from '@app/shared/form-validators/form-validator.model' } from '@app/shared/form-validators/form-validator.model'
import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service' import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service'
import { CustomConfig } from '@peertube/peertube-models' import { CustomConfig } from '@peertube/peertube-models'
import { SelectOptionsItem } from '@pt-types'
import { Subscription } from 'rxjs' import { Subscription } from 'rxjs'
import { SelectOptionsItem } from 'src/types/select-options-item.model'
import { AdminConfigService, FormResolutions, ResolutionOption } from '../../../shared/shared-admin/admin-config.service' import { AdminConfigService, FormResolutions, ResolutionOption } from '../../../shared/shared-admin/admin-config.service'
import { PeertubeCheckboxComponent } from '../../../shared/shared-forms/peertube-checkbox.component' import { PeertubeCheckboxComponent } from '../../../shared/shared-forms/peertube-checkbox.component'
import { SelectCustomValueComponent } from '../../../shared/shared-forms/select/select-custom-value.component' import { SelectCustomValueComponent } from '../../../shared/shared-forms/select/select-custom-value.component'
@@ -1,6 +1,7 @@
import { Component, OnInit, inject, viewChild } from '@angular/core' import { Component, OnInit, inject, viewChild } from '@angular/core'
import { ConfirmService, MarkdownService, Notifier, ServerService } from '@app/core' import { ConfirmService, MarkdownService, Notifier, ServerService } from '@app/core'
import { formatICU } from '@app/helpers' import { formatICU } from '@app/helpers'
import { buildDropdownSimpleAndBulkActions } from '@app/shared/shared-main/buttons/action-dropdown-helpers'
import { PTDatePipe } from '@app/shared/shared-main/common/date.pipe' import { PTDatePipe } from '@app/shared/shared-main/common/date.pipe'
import { VideoService } from '@app/shared/shared-main/video/video.service' import { VideoService } from '@app/shared/shared-main/video/video.service'
import { VideoBlockService } from '@app/shared/shared-moderation/video-block.service' import { VideoBlockService } from '@app/shared/shared-moderation/video-block.service'
@@ -9,7 +10,7 @@ import { buildVideoEmbedLink, decorateVideoLink } from '@peertube/peertube-core-
import { ResultList, VideoBlacklist as VideoBlacklistServer, VideoBlacklistType, VideoBlacklistType_Type } from '@peertube/peertube-models' import { ResultList, VideoBlacklist as VideoBlacklistServer, VideoBlacklistType, VideoBlacklistType_Type } from '@peertube/peertube-models'
import { buildVideoOrPlaylistEmbed } from '@root-helpers/video' import { buildVideoOrPlaylistEmbed } from '@root-helpers/video'
import { switchMap } from 'rxjs/operators' import { switchMap } from 'rxjs/operators'
import { environment } from 'src/environments/environment' import { environment } from '../../../../environments/environment'
import { AdvancedFilterDef } from '../../../shared/shared-forms/advanced-input-filter.component' import { AdvancedFilterDef } from '../../../shared/shared-forms/advanced-input-filter.component'
import { ActionDropdownComponent, DropdownAction } from '../../../shared/shared-main/buttons/action-dropdown.component' import { ActionDropdownComponent, DropdownAction } from '../../../shared/shared-main/buttons/action-dropdown.component'
import { NumberFormatterPipe } from '../../../shared/shared-main/common/number-formatter.pipe' import { NumberFormatterPipe } from '../../../shared/shared-main/common/number-formatter.pipe'
@@ -17,7 +18,6 @@ import { EmbedComponent } from '../../../shared/shared-main/video/embed.componen
import { DataLoaderOptionsBase, TableColumnInfo, TableComponent } from '../../../shared/shared-tables/table.component' import { DataLoaderOptionsBase, TableColumnInfo, TableComponent } from '../../../shared/shared-tables/table.component'
import { VideoCellComponent } from '../../../shared/shared-tables/video-cell.component' import { VideoCellComponent } from '../../../shared/shared-tables/video-cell.component'
import { VideoNSFWBadgeComponent } from '../../../shared/shared-video/video-nsfw-badge.component' import { VideoNSFWBadgeComponent } from '../../../shared/shared-video/video-nsfw-badge.component'
import { buildDropdownSimpleAndBulkActions } from '@app/shared/shared-main/buttons/action-dropdown-helpers'
type DataLoaderParameter = Parameters<VideoBlockListComponent['_dataLoader']>[0] type DataLoaderParameter = Parameters<VideoBlockListComponent['_dataLoader']>[0]
type VideoBlacklist = VideoBlacklistServer & { reasonHtml?: string } type VideoBlacklist = VideoBlacklistServer & { reasonHtml?: string }
+1 -1
View File
@@ -15,7 +15,7 @@ import { NgbAccordionDirective, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-b
import { getCompleteLocale, getExternalAuthHref } from '@peertube/peertube-core-utils' import { getCompleteLocale, getExternalAuthHref } from '@peertube/peertube-core-utils'
import { RegisteredExternalAuthConfig, ServerConfig, ServerErrorCode } from '@peertube/peertube-models' import { RegisteredExternalAuthConfig, ServerConfig, ServerErrorCode } from '@peertube/peertube-models'
import { of, switchMap } from 'rxjs' import { of, switchMap } from 'rxjs'
import { environment } from 'src/environments/environment' import { environment } from '../../environments/environment'
import { GlobalIconComponent } from '../shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '../shared/shared-icons/global-icon.component'
import { InstanceBannerComponent } from '../shared/shared-instance/instance-banner.component' import { InstanceBannerComponent } from '../shared/shared-instance/instance-banner.component'
import { AutofocusDirective } from '../shared/shared-main/common/autofocus.directive' import { AutofocusDirective } from '../shared/shared-main/common/autofocus.directive'
@@ -1,11 +1,11 @@
import { catchError, map } from 'rxjs/operators'
import { HttpClient } from '@angular/common/http' import { HttpClient } from '@angular/common/http'
import { Injectable, inject } from '@angular/core' import { Injectable, inject } from '@angular/core'
import { RestExtractor, ServerService } from '@app/core' import { RestExtractor, ServerService } from '@app/core'
import { environment } from 'src/environments/environment' import { peertubeTranslate } from '@peertube/peertube-core-utils'
import { HttpStatusCode, ResultList, UserExport, UserImport } from '@peertube/peertube-models' import { HttpStatusCode, ResultList, UserExport, UserImport } from '@peertube/peertube-models'
import { forkJoin, of } from 'rxjs' import { forkJoin, of } from 'rxjs'
import { peertubeTranslate } from '@peertube/peertube-core-utils' import { catchError, map } from 'rxjs/operators'
import { environment } from '../../../environments/environment'
@Injectable() @Injectable()
export class UserImportExportService { export class UserImportExportService {
@@ -21,7 +21,7 @@ import { maxBy, minBy } from '@peertube/peertube-core-utils'
import { ChartData, ChartOptions, TooltipItem, TooltipModel } from 'chart.js' import { ChartData, ChartOptions, TooltipItem, TooltipModel } from 'chart.js'
import { ChartModule } from 'primeng/chart' import { ChartModule } from 'primeng/chart'
import { Subject, first, switchMap } from 'rxjs' import { Subject, first, switchMap } from 'rxjs'
import { SelectOptionsItem } from 'src/types' import { SelectOptionsItem } from '@pt-types'
import { ActorAvatarComponent } from '../../shared/shared-actor-image/actor-avatar.component' import { ActorAvatarComponent } from '../../shared/shared-actor-image/actor-avatar.component'
import { SearchInputComponent } from '../../shared/shared-forms/search-input.component' import { SearchInputComponent } from '../../shared/shared-forms/search-input.component'
import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component'
@@ -3,7 +3,7 @@ import { Injectable, inject } from '@angular/core'
import { RestExtractor } from '@app/core' import { RestExtractor } from '@app/core'
import { AutomaticTagAvailable, CommentAutomaticTagPolicies } from '@peertube/peertube-models' import { AutomaticTagAvailable, CommentAutomaticTagPolicies } from '@peertube/peertube-models'
import { catchError } from 'rxjs/operators' import { catchError } from 'rxjs/operators'
import { environment } from 'src/environments/environment' import { environment } from '../../../environments/environment'
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class AutomaticTagService { export class AutomaticTagService {
@@ -8,7 +8,7 @@ import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.serv
import { VideoOwnershipService } from '@app/shared/shared-main/video/video-ownership.service' import { VideoOwnershipService } from '@app/shared/shared-main/video/video-ownership.service'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { VideoChangeOwnership } from '@peertube/peertube-models' import { VideoChangeOwnership } from '@peertube/peertube-models'
import { SelectChannelItem } from 'src/types/select-options-item.model' import { SelectChannelItem } from '@pt-types'
import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component' import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component'
import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component'
@@ -13,7 +13,7 @@ import { VideoChannelService } from '@app/shared/shared-main/channel/video-chann
import { AlertComponent } from '@app/shared/shared-main/common/alert.component' import { AlertComponent } from '@app/shared/shared-main/common/alert.component'
import { VideoChannelSyncCreate } from '@peertube/peertube-models' import { VideoChannelSyncCreate } from '@peertube/peertube-models'
import { mergeMap } from 'rxjs' import { mergeMap } from 'rxjs'
import { SelectChannelItem } from 'src/types' import { SelectChannelItem } from '@pt-types'
import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component' import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component'
@Component({ @Component({
+1 -1
View File
@@ -13,8 +13,8 @@ import { SearchService } from '@app/shared/shared-search/search.service'
import { VideoPlaylist } from '@app/shared/shared-video-playlist/video-playlist.model' import { VideoPlaylist } from '@app/shared/shared-video-playlist/video-playlist.model'
import { NgbCollapse } from '@ng-bootstrap/ng-bootstrap' import { NgbCollapse } from '@ng-bootstrap/ng-bootstrap'
import { HTMLServerConfig, SearchTargetType } from '@peertube/peertube-models' import { HTMLServerConfig, SearchTargetType } from '@peertube/peertube-models'
import { LinkType } from '@pt-types'
import { forkJoin, Subject, Subscription } from 'rxjs' import { forkJoin, Subject, Subscription } from 'rxjs'
import { LinkType } from 'src/types/link.type'
import { ActorAvatarComponent } from '../shared/shared-actor-image/actor-avatar.component' import { ActorAvatarComponent } from '../shared/shared-actor-image/actor-avatar.component'
import { InfiniteScrollerDirective } from '../shared/shared-main/common/infinite-scroller.directive' import { InfiniteScrollerDirective } from '../shared/shared-main/common/infinite-scroller.directive'
import { NumberFormatterPipe } from '../shared/shared-main/common/number-formatter.pipe' import { NumberFormatterPipe } from '../shared/shared-main/common/number-formatter.pipe'
@@ -12,7 +12,7 @@ import { Video, VideoCaption } from '@peertube/peertube-models'
import { parse } from '@plussub/srt-vtt-parser' import { parse } from '@plussub/srt-vtt-parser'
import debug from 'debug' import debug from 'debug'
import { debounceTime, distinctUntilChanged, Subject } from 'rxjs' import { debounceTime, distinctUntilChanged, Subject } from 'rxjs'
import { SelectOptionsItem } from 'src/types' import { SelectOptionsItem } from '@pt-types'
const debugLogger = debug('peertube:watch:VideoTranscriptionComponent') const debugLogger = debug('peertube:watch:VideoTranscriptionComponent')
@@ -14,7 +14,7 @@ import { LoadingBarService } from '@ngx-loading-bar/core'
import { PeerTubeProblemDocument, ServerErrorCode, UserVideoQuota, VideoPrivacyType } from '@peertube/peertube-models' import { PeerTubeProblemDocument, ServerErrorCode, UserVideoQuota, VideoPrivacyType } from '@peertube/peertube-models'
import debug from 'debug' import debug from 'debug'
import { forkJoin, switchMap } from 'rxjs' import { forkJoin, switchMap } from 'rxjs'
import { SelectChannelItem } from 'src/types' import { SelectChannelItem } from '@pt-types'
import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component' import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component'
import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component'
import { HelpComponent } from '../../../shared/shared-main/buttons/help.component' import { HelpComponent } from '../../../shared/shared-main/buttons/help.component'
@@ -16,7 +16,7 @@ import { UserVideoQuota, VideoPrivacyType } from '@peertube/peertube-models'
import debug from 'debug' import debug from 'debug'
import { forkJoin } from 'rxjs' import { forkJoin } from 'rxjs'
import { map, switchMap } from 'rxjs/operators' import { map, switchMap } from 'rxjs/operators'
import { SelectChannelItem } from 'src/types' import { SelectChannelItem } from '@pt-types'
import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component' import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component'
import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component'
import { HelpComponent } from '../../../shared/shared-main/buttons/help.component' import { HelpComponent } from '../../../shared/shared-main/buttons/help.component'
@@ -10,7 +10,7 @@ import { VideoEmbedPrivacyService } from '@app/shared/shared-video/video-embed-p
import { LiveVideoLatencyMode, PeerTubeProblemDocument, ServerErrorCode, UserVideoQuota, VideoPrivacyType } from '@peertube/peertube-models' import { LiveVideoLatencyMode, PeerTubeProblemDocument, ServerErrorCode, UserVideoQuota, VideoPrivacyType } from '@peertube/peertube-models'
import debug from 'debug' import debug from 'debug'
import { forkJoin, map, switchMap } from 'rxjs' import { forkJoin, map, switchMap } from 'rxjs'
import { SelectChannelItem } from 'src/types' import { SelectChannelItem } from '@pt-types'
import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component' import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component'
import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component'
import { VideoManageContainerComponent } from '../../shared-manage/video-manage-container.component' import { VideoManageContainerComponent } from '../../shared-manage/video-manage-container.component'
@@ -10,7 +10,7 @@ import { UserVideoQuota, VideoPrivacyType } from '@peertube/peertube-models'
import debug from 'debug' import debug from 'debug'
import { truncate } from 'lodash-es' import { truncate } from 'lodash-es'
import { Subscription } from 'rxjs' import { Subscription } from 'rxjs'
import { SelectChannelItem } from 'src/types' import { SelectChannelItem } from '@pt-types'
import { ImageInputComponent } from '../../../shared/shared-forms/image-input.component' import { ImageInputComponent } from '../../../shared/shared-forms/image-input.component'
import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component' import { SelectChannelComponent } from '../../../shared/shared-forms/select/select-channel.component'
import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component'
@@ -6,7 +6,7 @@ import { AlertComponent } from '@app/shared/shared-main/common/alert.component'
import { VideoService } from '@app/shared/shared-main/video/video.service' import { VideoService } from '@app/shared/shared-main/video/video.service'
import { NgbNav, NgbNavContent, NgbNavItem, NgbNavLink, NgbNavLinkBase, NgbNavOutlet } from '@ng-bootstrap/ng-bootstrap' import { NgbNav, NgbNavContent, NgbNavItem, NgbNavLink, NgbNavLinkBase, NgbNavOutlet } from '@ng-bootstrap/ng-bootstrap'
import { HTMLServerConfig, UserVideoQuota, ConstantLabel, VideoPrivacyType } from '@peertube/peertube-models' import { HTMLServerConfig, UserVideoQuota, ConstantLabel, VideoPrivacyType } from '@peertube/peertube-models'
import { SelectChannelItem } from 'src/types' import { SelectChannelItem } from '@pt-types'
import { HelpComponent } from '../../shared/shared-main/buttons/help.component' import { HelpComponent } from '../../shared/shared-main/buttons/help.component'
import { ChannelsSetupMessageComponent } from '../../shared/shared-main/channel/channels-setup-message.component' import { ChannelsSetupMessageComponent } from '../../shared/shared-main/channel/channels-setup-message.component'
import { UserQuotaComponent } from '../../shared/shared-main/users/user-quota.component' import { UserQuotaComponent } from '../../shared/shared-main/users/user-quota.component'
@@ -83,8 +83,4 @@ export class I18nPrimengCalendarService {
getDateFormat () { getDateFormat () {
return $localize`:Date format in this locale.:yy-mm-dd` return $localize`:Date format in this locale.:yy-mm-dd`
} }
getVideoPublicationYearRange () {
return '1880:' + (new Date()).getFullYear()
}
} }
@@ -39,9 +39,6 @@
[firstDayOfWeek]="0" [firstDayOfWeek]="0"
[showTime]="true" [showTime]="true"
[hideOnDateTimeSelect]="true" [hideOnDateTimeSelect]="true"
[monthNavigator]="true"
[yearNavigator]="true"
[yearRange]="myYearRange"
baseZIndex="20000" baseZIndex="20000"
> >
</p-datepicker> </p-datepicker>
@@ -1,4 +1,3 @@
import { Component, OnDestroy, OnInit, inject } from '@angular/core' import { Component, OnDestroy, OnInit, inject } from '@angular/core'
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms' import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'
import { ServerService } from '@app/core' import { ServerService } from '@app/core'
@@ -39,7 +38,7 @@ type Form = {
PeertubeCheckboxComponent, PeertubeCheckboxComponent,
GlobalIconComponent, GlobalIconComponent,
SelectPlayerThemeComponent SelectPlayerThemeComponent
] ]
}) })
export class VideoCustomizationComponent implements OnInit, OnDestroy { export class VideoCustomizationComponent implements OnInit, OnDestroy {
private formReactiveService = inject(FormReactiveService) private formReactiveService = inject(FormReactiveService)
@@ -55,7 +54,6 @@ export class VideoCustomizationComponent implements OnInit, OnDestroy {
videoChannel: Pick<VideoChannel, 'name' | 'displayName'> videoChannel: Pick<VideoChannel, 'name' | 'displayName'>
calendarDateFormat: string calendarDateFormat: string
myYearRange: string
serverConfig: HTMLServerConfig serverConfig: HTMLServerConfig
@@ -63,7 +61,6 @@ export class VideoCustomizationComponent implements OnInit, OnDestroy {
constructor () { constructor () {
this.calendarDateFormat = this.i18nPrimengCalendarService.getDateFormat() this.calendarDateFormat = this.i18nPrimengCalendarService.getDateFormat()
this.myYearRange = this.i18nPrimengCalendarService.getVideoPublicationYearRange()
} }
ngOnInit () { ngOnInit () {
@@ -173,9 +173,6 @@
[firstDayOfWeek]="0" [firstDayOfWeek]="0"
[showTime]="true" [showTime]="true"
[hideOnDateTimeSelect]="true" [hideOnDateTimeSelect]="true"
[monthNavigator]="true"
[yearNavigator]="true"
[yearRange]="myYearRange"
baseZIndex="20000" baseZIndex="20000"
> >
</p-datepicker> </p-datepicker>
@@ -15,10 +15,10 @@ import {
VideoPrivacyType, VideoPrivacyType,
VideoState VideoState
} from '@peertube/peertube-models' } from '@peertube/peertube-models'
import { SelectOptionsItem } from '@pt-types'
import debug from 'debug' import debug from 'debug'
import { DatePickerModule } from 'primeng/datepicker' import { DatePickerModule } from 'primeng/datepicker'
import { Subscription } from 'rxjs' import { Subscription } from 'rxjs'
import { SelectOptionsItem } from 'src/types/select-options-item.model'
import { InputTextComponent } from '../../../shared/shared-forms/input-text.component' import { InputTextComponent } from '../../../shared/shared-forms/input-text.component'
import { PeertubeCheckboxComponent } from '../../../shared/shared-forms/peertube-checkbox.component' import { PeertubeCheckboxComponent } from '../../../shared/shared-forms/peertube-checkbox.component'
import { SelectOptionsComponent } from '../../../shared/shared-forms/select/select-options.component' import { SelectOptionsComponent } from '../../../shared/shared-forms/select/select-options.component'
@@ -87,7 +87,6 @@ export class VideoLiveSettingsComponent implements OnInit, OnDestroy {
videoEdit: VideoEdit videoEdit: VideoEdit
calendarDateFormat: string calendarDateFormat: string
myYearRange: string
replayPrivacies: ConstantLabel<VideoPrivacyType>[] = [] replayPrivacies: ConstantLabel<VideoPrivacyType>[] = []
@@ -115,7 +114,6 @@ export class VideoLiveSettingsComponent implements OnInit, OnDestroy {
constructor () { constructor () {
this.calendarDateFormat = this.i18nPrimengCalendarService.getDateFormat() this.calendarDateFormat = this.i18nPrimengCalendarService.getDateFormat()
this.myYearRange = this.i18nPrimengCalendarService.getVideoPublicationYearRange()
} }
ngOnInit () { ngOnInit () {
@@ -32,20 +32,20 @@ import { PeerTubeTemplateDirective } from '@app/shared/shared-main/common/peertu
import { InstanceService } from '@app/shared/shared-main/instance/instance.service' import { InstanceService } from '@app/shared/shared-main/instance/instance.service'
import { VideoService } from '@app/shared/shared-main/video/video.service' import { VideoService } from '@app/shared/shared-main/video/video.service'
import { import {
ConstantLabel,
HTMLServerConfig, HTMLServerConfig,
RegisterClientFormFieldOptions, RegisterClientFormFieldOptions,
RegisterClientVideoFieldOptions, RegisterClientVideoFieldOptions,
ConstantLabel,
VideoPrivacy, VideoPrivacy,
VideoPrivacyType VideoPrivacyType
} from '@peertube/peertube-models' } from '@peertube/peertube-models'
import { SelectChannelItem } from '@pt-types'
import { logger } from '@root-helpers/logger' import { logger } from '@root-helpers/logger'
import { PluginInfo } from '@root-helpers/plugins-manager' import { PluginInfo } from '@root-helpers/plugins-manager'
import debug from 'debug' import debug from 'debug'
import { DatePickerModule } from 'primeng/datepicker' import { DatePickerModule } from 'primeng/datepicker'
import { forkJoin, Subscription } from 'rxjs' import { forkJoin, Subscription } from 'rxjs'
import { map } from 'rxjs/operators' import { map } from 'rxjs/operators'
import { SelectChannelItem } from 'src/types/select-options-item.model'
import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '../../../shared/shared-icons/global-icon.component'
import { MarkdownHintComponent } from '../../../shared/shared-main/text/markdown-hint.component' import { MarkdownHintComponent } from '../../../shared/shared-main/text/markdown-hint.component'
import { I18nPrimengCalendarService } from '../common/i18n-primeng-calendar.service' import { I18nPrimengCalendarService } from '../common/i18n-primeng-calendar.service'
@@ -147,7 +147,6 @@ export class VideoMainInfoComponent implements OnInit, OnDestroy {
calendarTimezone: string calendarTimezone: string
calendarDateFormat: string calendarDateFormat: string
myYearRange: string
serverConfig: HTMLServerConfig serverConfig: HTMLServerConfig
@@ -169,7 +168,6 @@ export class VideoMainInfoComponent implements OnInit, OnDestroy {
constructor () { constructor () {
this.calendarTimezone = this.i18nPrimengCalendarService.getTimezone() this.calendarTimezone = this.i18nPrimengCalendarService.getTimezone()
this.calendarDateFormat = this.i18nPrimengCalendarService.getDateFormat() this.calendarDateFormat = this.i18nPrimengCalendarService.getDateFormat()
this.myYearRange = this.i18nPrimengCalendarService.getVideoPublicationYearRange()
} }
ngOnInit () { ngOnInit () {
@@ -21,7 +21,7 @@ import { ChartConfiguration, ChartData, defaults as ChartJSDefaults, ChartOption
import zoomPlugin from 'chartjs-plugin-zoom' import zoomPlugin from 'chartjs-plugin-zoom'
import { ChartModule } from 'primeng/chart' import { ChartModule } from 'primeng/chart'
import { Observable, of } from 'rxjs' import { Observable, of } from 'rxjs'
import { SelectOptionsItem } from 'src/types' import { SelectOptionsItem } from '@pt-types'
import { SelectOptionsComponent } from '../../../shared/shared-forms/select/select-options.component' import { SelectOptionsComponent } from '../../../shared/shared-forms/select/select-options.component'
import { ButtonComponent } from '../../../shared/shared-main/buttons/button.component' import { ButtonComponent } from '../../../shared/shared-main/buttons/button.component'
import { HelpComponent } from '../../../shared/shared-main/buttons/help.component' import { HelpComponent } from '../../../shared/shared-main/buttons/help.component'
@@ -10,7 +10,7 @@ import {
VideoStatsUserAgent VideoStatsUserAgent
} from '@peertube/peertube-models' } from '@peertube/peertube-models'
import { catchError } from 'rxjs' import { catchError } from 'rxjs'
import { environment } from 'src/environments/environment' import { environment } from '../../../../environments/environment'
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@@ -4,9 +4,9 @@ import { VideoSortField } from '@peertube/peertube-models'
import { logger } from '@root-helpers/logger' import { logger } from '@root-helpers/logger'
import { PluginsManager } from '@root-helpers/plugins-manager' import { PluginsManager } from '@root-helpers/plugins-manager'
import debug from 'debug' import debug from 'debug'
import { environment } from 'src/environments/environment'
import { ServerService } from '../server' import { ServerService } from '../server'
import { SessionStorageService } from '../wrappers/storage.service' import { SessionStorageService } from '../wrappers/storage.service'
import { environment } from '../../../environments/environment'
const debugLogger = debug('peertube:router:RedirectService') const debugLogger = debug('peertube:router:RedirectService')
+1 -1
View File
@@ -1,4 +1,4 @@
import type { LaraBaseDesignTokens } from '@primeng/themes/lara/base' import type { LaraBaseDesignTokens } from '@primeuix/themes/lara/base'
export default { export default {
primitive: { primitive: {
@@ -1,4 +1,4 @@
import { AutoCompleteDesignTokens } from '@primeng/themes/types/autocomplete' import { AutoCompleteDesignTokens } from '@primeuix/themes/types/autocomplete'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { CheckboxDesignTokens } from '@primeng/themes/types/checkbox' import { CheckboxDesignTokens } from '@primeuix/themes/types/checkbox'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { ChipDesignTokens } from '@primeng/themes/types/chip' import { ChipDesignTokens } from '@primeuix/themes/types/chip'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { ColorPickerDesignTokens } from '@primeng/themes/types/colorpicker' import { ColorPickerDesignTokens } from '@primeuix/themes/types/colorpicker'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { DataTableDesignTokens } from '@primeng/themes/types/datatable' import { DataTableDesignTokens } from '@primeuix/themes/types/datatable'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { DatePickerDesignTokens } from '@primeng/themes/types/datepicker' import { DatePickerDesignTokens } from '@primeuix/themes/types/datepicker'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { InputChipsDesignTokens } from '@primeng/themes/types/inputchips' import { InputChipsDesignTokens } from '@primeuix/themes/types/inputchips'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { InputTextDesignTokens } from '@primeng/themes/types/inputtext' import { InputTextDesignTokens } from '@primeuix/themes/types/inputtext'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { MultiSelectDesignTokens } from '@primeng/themes/types/multiselect' import { MultiSelectDesignTokens } from '@primeuix/themes/types/multiselect'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { PaginatorDesignTokens } from '@primeng/themes/types/paginator' import { PaginatorDesignTokens } from '@primeuix/themes/types/paginator'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import type { SelectDesignTokens } from '@primeng/themes/types/select' import type { SelectDesignTokens } from '@primeuix/themes/types/select'
export default { export default {
root: { root: {
@@ -1,4 +1,4 @@
import { ToastDesignTokens } from '@primeng/themes/types/toast' import { ToastDesignTokens } from '@primeuix/themes/types/toast'
export default { export default {
root: { root: {
@@ -12,7 +12,7 @@ import {
import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service' import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service'
import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-options.component' import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-options.component'
import { ColorPickerModule } from 'primeng/colorpicker' import { ColorPickerModule } from 'primeng/colorpicker'
import { SelectOptionsItem } from 'src/types' import { SelectOptionsItem } from '@pt-types'
import { EnabledDisabled, RegistrationType, UsageType } from './usage-type.model' import { EnabledDisabled, RegistrationType, UsageType } from './usage-type.model'
type Form = { type Form = {
@@ -32,7 +32,7 @@ type Form = {
ColorPickerModule, ColorPickerModule,
CdkStepperModule, CdkStepperModule,
SelectOptionsComponent SelectOptionsComponent
] ]
}) })
export class CommunityBasedConfigComponent implements OnInit { export class CommunityBasedConfigComponent implements OnInit {
private formReactiveService = inject(FormReactiveService) private formReactiveService = inject(FormReactiveService)
@@ -11,7 +11,7 @@ import {
import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service' import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service'
import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-options.component' import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-options.component'
import { ColorPickerModule } from 'primeng/colorpicker' import { ColorPickerModule } from 'primeng/colorpicker'
import { SelectOptionsItem } from 'src/types' import { SelectOptionsItem } from '@pt-types'
import { AuthType, EnabledDisabled, UsageType } from './usage-type.model' import { AuthType, EnabledDisabled, UsageType } from './usage-type.model'
import { GlobalIconComponent } from '@app/shared/shared-icons/global-icon.component' import { GlobalIconComponent } from '@app/shared/shared-icons/global-icon.component'
@@ -32,7 +32,7 @@ type Form = {
CdkStepperModule, CdkStepperModule,
SelectOptionsComponent, SelectOptionsComponent,
GlobalIconComponent GlobalIconComponent
] ]
}) })
export class InstitutionalConfigComponent implements OnInit { export class InstitutionalConfigComponent implements OnInit {
private formReactiveService = inject(FormReactiveService) private formReactiveService = inject(FormReactiveService)
@@ -11,7 +11,7 @@ import {
import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service' import { FormReactiveService } from '@app/shared/shared-forms/form-reactive.service'
import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-options.component' import { SelectOptionsComponent } from '@app/shared/shared-forms/select/select-options.component'
import { ColorPickerModule } from 'primeng/colorpicker' import { ColorPickerModule } from 'primeng/colorpicker'
import { SelectOptionsItem } from 'src/types' import { SelectOptionsItem } from '@pt-types'
import { EnabledDisabled, UsageType } from './usage-type.model' import { EnabledDisabled, UsageType } from './usage-type.model'
type Form = { type Form = {
@@ -29,7 +29,7 @@ type Form = {
ColorPickerModule, ColorPickerModule,
CdkStepperModule, CdkStepperModule,
SelectOptionsComponent SelectOptionsComponent
] ]
}) })
export class PrivateInstanceConfigComponent implements OnInit { export class PrivateInstanceConfigComponent implements OnInit {
private formReactiveService = inject(FormReactiveService) private formReactiveService = inject(FormReactiveService)
@@ -7,7 +7,7 @@ import {
timeToInt timeToInt
} from '@peertube/peertube-core-utils' } from '@peertube/peertube-core-utils'
import { buildVideoOrPlaylistEmbed } from '@root-helpers/video' import { buildVideoOrPlaylistEmbed } from '@root-helpers/video'
import { environment } from 'src/environments/environment' import { environment } from '../../../../environments/environment'
import { CustomMarkupComponent } from './shared' import { CustomMarkupComponent } from './shared'
@Component({ @Component({
@@ -2,7 +2,7 @@ import { CommonModule } from '@angular/common'
import { booleanAttribute, Component, forwardRef, inject, input, model } from '@angular/core' import { booleanAttribute, Component, forwardRef, inject, input, model } from '@angular/core'
import { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms' import { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms'
import { ScreenService } from '@app/core' import { ScreenService } from '@app/core'
import { SelectRadioItem } from 'src/types' import { SelectRadioItem } from '@pt-types'
@Component({ @Component({
selector: 'my-select-radio', selector: 'my-select-radio',
@@ -1,10 +1,10 @@
import { SortMeta } from 'primeng/api'
import { catchError, Observable } from 'rxjs'
import { environment } from 'src/environments/environment'
import { HttpClient, HttpParams } from '@angular/common/http' import { HttpClient, HttpParams } from '@angular/common/http'
import { Injectable, inject } from '@angular/core' import { inject, Injectable } from '@angular/core'
import { RestExtractor, RestPagination, RestService } from '@app/core' import { RestExtractor, RestPagination, RestService } from '@app/core'
import { ResultList, VideoChannelSync, VideoChannelSyncCreate } from '@peertube/peertube-models' import { ResultList, VideoChannelSync, VideoChannelSyncCreate } from '@peertube/peertube-models'
import { SortMeta } from 'primeng/api'
import { catchError, Observable } from 'rxjs'
import { environment } from '../../../../environments/environment'
import { Account } from '../account/account.model' import { Account } from '../account/account.model'
import { AccountService } from '../account/account.service' import { AccountService } from '../account/account.service'
@@ -1,7 +1,7 @@
import { booleanAttribute, Component, inject, input } from '@angular/core' import { booleanAttribute, Component, inject, input } from '@angular/core'
import { ServerService } from '@app/core' import { ServerService } from '@app/core'
import { PluginsManager } from '@root-helpers/plugins-manager' import { PluginsManager } from '@root-helpers/plugins-manager'
import { environment } from 'src/environments/environment' import { environment } from '../../../../environments/environment'
import { LinkComponent } from '../common/link.component' import { LinkComponent } from '../common/link.component'
@Component({ @Component({
@@ -3,7 +3,7 @@ import { DomSanitizer, SafeHtml } from '@angular/platform-browser'
import { buildVideoEmbedLink, decorateVideoLink } from '@peertube/peertube-core-utils' import { buildVideoEmbedLink, decorateVideoLink } from '@peertube/peertube-core-utils'
import { Video } from '@peertube/peertube-models' import { Video } from '@peertube/peertube-models'
import { buildVideoOrPlaylistEmbed } from '@root-helpers/video' import { buildVideoOrPlaylistEmbed } from '@root-helpers/video'
import { environment } from 'src/environments/environment' import { environment } from '../../../../environments/environment'
export type EmbedVideoInput = Pick<Video, 'name' | 'uuid'> & Partial<Pick<Video, 'aspectRatio'>> export type EmbedVideoInput = Pick<Video, 'name' | 'uuid'> & Partial<Pick<Video, 'aspectRatio'>>
@@ -10,7 +10,7 @@ import {
import { I18N_LOCALES } from '@peertube/peertube-core-utils' import { I18N_LOCALES } from '@peertube/peertube-core-utils'
import { HTMLServerConfig, User, UserUpdateMe } from '@peertube/peertube-models' import { HTMLServerConfig, User, UserUpdateMe } from '@peertube/peertube-models'
import { of, Subject, Subscription, switchMap } from 'rxjs' import { of, Subject, Subscription, switchMap } from 'rxjs'
import { SelectOptionsItem } from 'src/types' import { SelectOptionsItem } from '@pt-types'
import { SelectOptionsComponent } from '../shared-forms/select/select-options.component' import { SelectOptionsComponent } from '../shared-forms/select/select-options.component'
type Form = { type Form = {
@@ -6,7 +6,7 @@ import { NSFWFlag, NSFWFlagType, NSFWPolicyType, UserUpdateMe } from '@peertube/
import { pick } from 'lodash-es' import { pick } from 'lodash-es'
import { Subject, Subscription } from 'rxjs' import { Subject, Subscription } from 'rxjs'
import { first } from 'rxjs/operators' import { first } from 'rxjs/operators'
import { SelectOptionsItem } from 'src/types' import { SelectOptionsItem } from '@pt-types'
import { BuildFormArgument } from '../form-validators/form-validator.model' import { BuildFormArgument } from '../form-validators/form-validator.model'
import { PeertubeCheckboxComponent } from '../shared-forms/peertube-checkbox.component' import { PeertubeCheckboxComponent } from '../shared-forms/peertube-checkbox.component'
import { SelectLanguagesComponent } from '../shared-forms/select/select-languages.component' import { SelectLanguagesComponent } from '../shared-forms/select/select-languages.component'
@@ -1,7 +1,7 @@
import { NgClass } from '@angular/common' import { NgClass } from '@angular/common'
import { Component, OnInit, booleanAttribute, inject, input } from '@angular/core' import { Component, OnInit, booleanAttribute, inject, input } from '@angular/core'
import { MarkdownService } from '@app/core' import { MarkdownService } from '@app/core'
import { LinkType } from 'src/types/link.type' import { LinkType } from '@pt-types'
import { LinkComponent } from '../shared-main/common/link.component' import { LinkComponent } from '../shared-main/common/link.component'
import { FromNowPipe } from '../shared-main/date/from-now.pipe' import { FromNowPipe } from '../shared-main/date/from-now.pipe'
import { VideoPlaylist } from './video-playlist.model' import { VideoPlaylist } from './video-playlist.model'
@@ -8,7 +8,7 @@ import {
PlayerVideoSettingsUpdate PlayerVideoSettingsUpdate
} from '@peertube/peertube-models' } from '@peertube/peertube-models'
import { catchError } from 'rxjs' import { catchError } from 'rxjs'
import { environment } from 'src/environments/environment' import { environment } from '../../../environments/environment'
import { VideoPasswordService } from '../shared-main/video/video-password.service' import { VideoPasswordService } from '../shared-main/video/video-password.service'
@Injectable() @Injectable()
+1 -1
View File
@@ -10,7 +10,7 @@ import {
} from '@peertube/peertube-models' } from '@peertube/peertube-models'
import type { PeerTubePlayer, VideojsPlayer } from '@peertube/player' import type { PeerTubePlayer, VideojsPlayer } from '@peertube/player'
import { TranslationsManager } from '@root-helpers/translations-manager' import { TranslationsManager } from '@root-helpers/translations-manager'
import { PeerTubeServerError } from 'src/types' import { PeerTubeServerError } from '@pt-types'
import type videojs from 'video.js' import type videojs from 'video.js'
import { getParamString, logger, videoRequiresFileToken } from '../../root-helpers' import { getParamString, logger, videoRequiresFileToken } from '../../root-helpers'
import { PeerTubeEmbedApi } from './embed-api' import { PeerTubeEmbedApi } from './embed-api'
+3
View File
@@ -25,6 +25,9 @@
], ],
"@root-helpers/*": [ "@root-helpers/*": [
"./src/root-helpers/*" "./src/root-helpers/*"
],
"@pt-types": [
"./src/types"
] ]
} }
}, },
+47 -51
View File
@@ -664,9 +664,9 @@ importers:
'@popperjs/core': '@popperjs/core':
specifier: ^2.11.8 specifier: ^2.11.8
version: 2.11.8 version: 2.11.8
'@primeng/themes': '@primeuix/themes':
specifier: ^19.1.4 specifier: ^2.0.3
version: 19.1.4 version: 2.0.3
'@stylistic/eslint-plugin': '@stylistic/eslint-plugin':
specifier: ^5.9.0 specifier: ^5.9.0
version: 5.9.0(eslint@9.39.3(jiti@2.6.1)) version: 5.9.0(eslint@9.39.3(jiti@2.6.1))
@@ -797,8 +797,8 @@ importers:
specifier: ^2.2.2 specifier: ^2.2.2
version: 2.2.2 version: 2.2.2
primeng: primeng:
specifier: ^19.1.4 specifier: ^21.1.3
version: 19.1.4(ea2657086777877dc31350403e54eb8f) version: 21.1.3(1f0c299d58c9db07438b34320a37cfb4)
rxjs: rxjs:
specifier: ^7.8.2 specifier: ^7.8.2
version: 7.8.2 version: 7.8.2
@@ -3330,16 +3330,22 @@ packages:
'@popperjs/core@2.11.8': '@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
'@primeng/themes@19.1.4': '@primeuix/motion@0.0.10':
resolution: {integrity: sha512-Hze5bBTjsLzZXb20qsm9apsFuzpZzXiU+Ulj/7R+2fwMmcQk0XpkQS7V88fsFw6xsTD7+R+hgqr7Rzy0Gf+4dw==} resolution: {integrity: sha512-PsZwOPq79Scp7/ionshRcQ5xKVf9+zuLcyY5mf6onK8chHT5C9JGphmcIZ4CzcqxuGEpsm8AIbTGy+zS3RtzLA==}
deprecated: 'Deprecated. This package is no longer maintained. Please migrate to @primeuix/themes: https://www.npmjs.com/package/@primeuix/themes'
'@primeuix/styled@0.3.2':
resolution: {integrity: sha512-ColZes0+/WKqH4ob2x8DyNYf1NENpe5ZguOvx5yCLxaP8EIMVhLjWLO/3umJiDnQU4XXMLkn2mMHHw+fhTX/mw==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
'@primeuix/utils@0.3.2': '@primeuix/styled@0.7.4':
resolution: {integrity: sha512-B+nphqTQeq+i6JuICLdVWnDMjONome2sNz0xI65qIOyeB4EF12CoKRiCsxuZ5uKAkHi/0d1LqlQ9mIWRSdkavw==} resolution: {integrity: sha512-QSO/NpOQg8e9BONWRBx9y8VGMCMYz0J/uKfNJEya/RGEu7ARx0oYW0ugI1N3/KB1AAvyGxzKBzGImbwg0KUiOQ==}
engines: {node: '>=12.11.0'}
'@primeuix/styles@2.0.3':
resolution: {integrity: sha512-2ykAB6BaHzR/6TwF8ShpJTsZrid6cVIEBVlookSdvOdmlWuevGu5vWOScgIwqWwlZcvkFYAGR/SUV3OHCTBMdw==}
'@primeuix/themes@2.0.3':
resolution: {integrity: sha512-3fS1883mtCWhgUgNf/feiaaDSOND4EBIOu9tZnzJlJ8QtYyL6eFLcA6V3ymCWqLVXQ1+lTVEZv1gl47FIdXReg==}
'@primeuix/utils@0.6.4':
resolution: {integrity: sha512-pZ5f+vj7wSzRhC7KoEQRU5fvYAe+RP9+m39CTscZ3UywCD1Y2o6Fe1rRgklMPSkzUcty2jzkA0zMYkiJBD1hgg==}
engines: {node: '>=12.11.0'} engines: {node: '>=12.11.0'}
'@promptbook/utils@0.69.5': '@promptbook/utils@0.69.5':
@@ -9270,16 +9276,15 @@ packages:
resolution: {integrity: sha512-nrdhnt+E9ClJ4khk9rNzqgsxubH7xSJSKoqXx/7aed2eghegNGNWkSGOelNgFgUtMz3LmKGks0waH2NuXWWmPg==} resolution: {integrity: sha512-nrdhnt+E9ClJ4khk9rNzqgsxubH7xSJSKoqXx/7aed2eghegNGNWkSGOelNgFgUtMz3LmKGks0waH2NuXWWmPg==}
engines: {node: '>=14'} engines: {node: '>=14'}
primeng@19.1.4: primeng@21.1.3:
resolution: {integrity: sha512-l5l8SHTxopxxyyXZx1BvbQ11P7ndLv2Qp8H5k2/+OCi65jTZn4xmtrBDGDs7k2K5UMHSqAnGjBgtpbckyqQETg==} resolution: {integrity: sha512-PDL76kiHXH3CS5YuEIb5kv2OXgXDA5mVBCxy6QlJVTGa518rKe/dsHVLJYvhTjhwLtC2EUnBJxOZMxKlzc/fDg==}
peerDependencies: peerDependencies:
'@angular/animations': ^19.0.0 '@angular/cdk': ^21.0.0
'@angular/cdk': ^19.0.0 '@angular/common': ^21.0.0
'@angular/common': ^19.0.0 '@angular/core': ^21.0.7
'@angular/core': ^19.0.0 '@angular/forms': ^21.0.0
'@angular/forms': ^19.0.0 '@angular/platform-browser': ^21.0.0
'@angular/platform-browser': ^19.0.0 '@angular/router': ^21.0.0
'@angular/router': ^19.0.0
rxjs: ^6.0.0 || ^7.8.1 rxjs: ^6.0.0 || ^7.8.1
proc-log@6.1.0: proc-log@6.1.0:
@@ -14224,15 +14229,23 @@ snapshots:
'@popperjs/core@2.11.8': {} '@popperjs/core@2.11.8': {}
'@primeng/themes@19.1.4': '@primeuix/motion@0.0.10':
dependencies: dependencies:
'@primeuix/styled': 0.3.2 '@primeuix/utils': 0.6.4
'@primeuix/styled@0.3.2': '@primeuix/styled@0.7.4':
dependencies: dependencies:
'@primeuix/utils': 0.3.2 '@primeuix/utils': 0.6.4
'@primeuix/utils@0.3.2': {} '@primeuix/styles@2.0.3':
dependencies:
'@primeuix/styled': 0.7.4
'@primeuix/themes@2.0.3':
dependencies:
'@primeuix/styled': 0.7.4
'@primeuix/utils@0.6.4': {}
'@promptbook/utils@0.69.5': '@promptbook/utils@0.69.5':
dependencies: dependencies:
@@ -15519,7 +15532,7 @@ snapshots:
'@vitejs/devtools-rpc': 0.1.11(typescript@5.9.3)(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) '@vitejs/devtools-rpc': 0.1.11(typescript@5.9.3)(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))
birpc: 4.0.0 birpc: 4.0.0
ohash: 2.0.11 ohash: 2.0.11
vite: 8.0.2(@types/node@25.3.0)(@vitejs/devtools@0.1.11)(esbuild@0.27.3)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vite: 8.0.2(@types/node@20.19.33)(@vitejs/devtools@0.1.11)(esbuild@0.27.3)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies: transitivePeerDependencies:
- typescript - typescript
- ws - ws
@@ -15608,7 +15621,7 @@ snapshots:
perfect-debounce: 2.1.0 perfect-debounce: 2.1.0
sirv: 3.0.2 sirv: 3.0.2
tinyexec: 1.0.4 tinyexec: 1.0.4
vite: 8.0.2(@types/node@25.3.0)(@vitejs/devtools@0.1.11)(esbuild@0.27.3)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vite: 8.0.2(@types/node@20.19.33)(@vitejs/devtools@0.1.11)(esbuild@0.27.3)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)
vue: 3.5.30(typescript@5.9.3) vue: 3.5.30(typescript@5.9.3)
ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
transitivePeerDependencies: transitivePeerDependencies:
@@ -21433,17 +21446,18 @@ snapshots:
uuid: 9.0.1 uuid: 9.0.1
optional: true optional: true
primeng@19.1.4(ea2657086777877dc31350403e54eb8f): primeng@21.1.3(1f0c299d58c9db07438b34320a37cfb4):
dependencies: dependencies:
'@angular/animations': 21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))
'@angular/cdk': 21.2.2(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@21.2.4(@angular/animations@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2) '@angular/cdk': 21.2.2(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@21.2.4(@angular/animations@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
'@angular/common': 21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2) '@angular/common': 21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
'@angular/core': 21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1) '@angular/core': 21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)
'@angular/forms': 21.2.4(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@21.2.4(@angular/animations@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2) '@angular/forms': 21.2.4(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@21.2.4(@angular/animations@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
'@angular/platform-browser': 21.2.4(@angular/animations@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)) '@angular/platform-browser': 21.2.4(@angular/animations@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))
'@angular/router': 21.2.4(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@21.2.4(@angular/animations@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2) '@angular/router': 21.2.4(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@21.2.4(@angular/animations@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@21.2.4(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@21.2.4(@angular/compiler@21.2.4)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
'@primeuix/styled': 0.3.2 '@primeuix/motion': 0.0.10
'@primeuix/utils': 0.3.2 '@primeuix/styled': 0.7.4
'@primeuix/styles': 2.0.3
'@primeuix/utils': 0.6.4
rxjs: 7.8.2 rxjs: 7.8.2
tslib: 2.8.1 tslib: 2.8.1
@@ -23683,24 +23697,6 @@ snapshots:
tsx: 4.21.0 tsx: 4.21.0
yaml: 2.8.2 yaml: 2.8.2
vite@8.0.2(@types/node@25.3.0)(@vitejs/devtools@0.1.11)(esbuild@0.27.3)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.4
postcss: 8.5.8
rolldown: 1.0.0-rc.11
tinyglobby: 0.2.15
optionalDependencies:
'@types/node': 25.3.0
'@vitejs/devtools': 0.1.11(@pnpm/logger@1001.0.1)(bufferutil@4.1.0)(ioredis@5.9.3)(typescript@5.9.3)(utf-8-validate@6.0.6)(vite@8.0.2)
esbuild: 0.27.3
fsevents: 2.3.3
jiti: 2.6.1
sass: 1.97.3
sass-embedded: 1.97.3
tsx: 4.21.0
yaml: 2.8.2
vm-browserify@1.1.2: {} vm-browserify@1.1.2: {}
void-elements@3.1.0: {} void-elements@3.1.0: {}