1 import { CommonModule } from '@angular/common'
2 import { HttpClientModule } from '@angular/common/http'
3 import { NgModule } from '@angular/core'
4 import { FormsModule, ReactiveFormsModule } from '@angular/forms'
5 import { RouterModule } from '@angular/router'
6 import { MarkdownTextareaComponent } from '@app/shared/forms/markdown-textarea.component'
7 import { HelpComponent } from '@app/shared/misc/help.component'
8 import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
9 import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
10 import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared'
11 import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
12 import { ButtonComponent } from './buttons/button.component'
13 import { DeleteButtonComponent } from './buttons/delete-button.component'
14 import { EditButtonComponent } from './buttons/edit-button.component'
15 import { LoaderComponent } from './misc/loader.component'
16 import { RestExtractor, RestService } from './rest'
17 import { UserService } from './users'
18 import { VideoAbuseService } from './video-abuse'
19 import { VideoBlacklistService } from './video-blacklist'
20 import { VideoOwnershipService } from './video-ownership'
21 import { VideoMiniatureComponent } from './video/video-miniature.component'
22 import { FeedComponent } from './video/feed.component'
23 import { VideoThumbnailComponent } from './video/video-thumbnail.component'
24 import { VideoService } from './video/video.service'
25 import { AccountService } from '@app/shared/account/account.service'
26 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
27 import { I18n } from '@ngx-translate/i18n-polyfill'
28 import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
30 CustomConfigValidatorsService,
31 InstanceValidatorsService,
32 LoginValidatorsService,
33 ReactiveFileComponent,
34 ResetPasswordValidatorsService,
35 TextareaAutoResizeDirective,
36 UserValidatorsService,
37 VideoAbuseValidatorsService,
38 VideoAcceptOwnershipValidatorsService,
39 VideoBlacklistValidatorsService,
40 VideoChangeOwnershipValidatorsService,
41 VideoChannelValidatorsService,
42 VideoCommentValidatorsService,
43 VideoPlaylistValidatorsService,
44 VideoValidatorsService
45 } from '@app/shared/forms'
46 import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
47 import { InputMaskModule } from 'primeng/inputmask'
48 import { ScreenService } from '@app/shared/misc/screen.service'
49 import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
50 import { VideoCaptionService } from '@app/shared/video-caption'
51 import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
52 import { VideoImportService } from '@app/shared/video-import/video-import.service'
53 import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
61 } from '@ng-bootstrap/ng-bootstrap'
62 import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription'
63 import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
64 import { InstanceStatisticsComponent } from '@app/shared/instance/instance-statistics.component'
65 import { OverviewService } from '@app/shared/overview'
66 import { UserBanModalComponent } from '@app/shared/moderation'
67 import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
68 import { BlocklistService } from '@app/shared/blocklist'
69 import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
70 import { UserHistoryService } from '@app/shared/users/user-history.service'
71 import { UserNotificationService } from '@app/shared/users/user-notification.service'
72 import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
73 import { InstanceService } from '@app/shared/instance/instance.service'
74 import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
75 import { ConfirmComponent } from '@app/shared/confirm/confirm.component'
76 import { DateToggleComponent } from '@app/shared/date/date-toggle.component'
77 import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component'
78 import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service'
79 import { PreviewUploadComponent } from '@app/shared/images/preview-upload.component'
80 import { GlobalIconComponent } from '@app/shared/images/global-icon.component'
81 import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component'
82 import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component'
83 import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component'
84 import { VideoPlaylistElementMiniatureComponent } from '@app/shared/video-playlist/video-playlist-element-miniature.component'
85 import { VideosSelectionComponent } from '@app/shared/video/videos-selection.component'
86 import { NumberFormatterPipe } from '@app/shared/angular/number-formatter.pipe'
87 import { ObjectLengthPipe } from '@app/shared/angular/object-length.pipe'
88 import { FromNowPipe } from '@app/shared/angular/from-now.pipe'
89 import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
90 import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component'
91 import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component'
92 import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component'
93 import { VideoReportComponent } from '@app/shared/video/modals/video-report.component'
94 import { ClipboardModule } from 'ngx-clipboard'
95 import { FollowService } from '@app/shared/instance/follow.service'
96 import { MultiSelectModule } from 'primeng/multiselect'
97 import { FeatureBooleanComponent } from '@app/shared/instance/feature-boolean.component'
98 import { InputReadonlyCopyComponent } from '@app/shared/forms/input-readonly-copy.component'
125 SmallLoaderComponent,
127 VideoThumbnailComponent,
128 VideoMiniatureComponent,
129 VideoPlaylistMiniatureComponent,
130 VideoAddToPlaylistComponent,
131 VideoPlaylistElementMiniatureComponent,
132 VideosSelectionComponent,
133 VideoActionsDropdownComponent,
135 VideoDownloadComponent,
136 VideoReportComponent,
137 VideoBlacklistComponent,
142 DeleteButtonComponent,
148 PeerTubeTemplateDirective,
150 ActionDropdownComponent,
151 MarkdownTextareaComponent,
152 InfiniteScrollerDirective,
153 TextareaAutoResizeDirective,
156 ReactiveFileComponent,
157 PeertubeCheckboxComponent,
158 TimestampInputComponent,
159 InputReadonlyCopyComponent,
161 SubscribeButtonComponent,
162 RemoteSubscribeComponent,
163 InstanceFeaturesTableComponent,
164 InstanceStatisticsComponent,
165 FeatureBooleanComponent,
166 UserBanModalComponent,
167 UserModerationDropdownComponent,
168 TopMenuDropdownComponent,
169 UserNotificationsComponent,
174 PreviewUploadComponent
200 SmallLoaderComponent,
202 VideoThumbnailComponent,
203 VideoMiniatureComponent,
204 VideoPlaylistMiniatureComponent,
205 VideoAddToPlaylistComponent,
206 VideoPlaylistElementMiniatureComponent,
207 VideosSelectionComponent,
208 VideoActionsDropdownComponent,
210 VideoDownloadComponent,
211 VideoReportComponent,
212 VideoBlacklistComponent,
217 DeleteButtonComponent,
220 ActionDropdownComponent,
221 MarkdownTextareaComponent,
222 InfiniteScrollerDirective,
223 TextareaAutoResizeDirective,
225 InputReadonlyCopyComponent,
227 ReactiveFileComponent,
228 PeertubeCheckboxComponent,
229 TimestampInputComponent,
231 SubscribeButtonComponent,
232 RemoteSubscribeComponent,
233 InstanceFeaturesTableComponent,
234 InstanceStatisticsComponent,
235 UserBanModalComponent,
236 UserModerationDropdownComponent,
237 TopMenuDropdownComponent,
238 UserNotificationsComponent,
243 PreviewUploadComponent,
248 PeerTubeTemplateDirective
252 AUTH_INTERCEPTOR_PROVIDER,
256 VideoBlacklistService,
257 VideoOwnershipService,
262 VideoPlaylistService,
265 UserSubscriptionService,
267 FormValidatorService,
268 CustomConfigValidatorsService,
269 LoginValidatorsService,
270 ResetPasswordValidatorsService,
271 UserValidatorsService,
272 VideoPlaylistValidatorsService,
273 VideoAbuseValidatorsService,
274 VideoChannelValidatorsService,
275 VideoCommentValidatorsService,
276 VideoValidatorsService,
277 VideoCaptionsValidatorsService,
278 VideoBlacklistValidatorsService,
280 VideoChangeOwnershipValidatorsService,
281 VideoAcceptOwnershipValidatorsService,
282 InstanceValidatorsService,
291 I18nPrimengCalendarService,
294 UserNotificationService,
301 export class SharedModule { }