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/api'
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 { AvatarComponent } from '@app/shared/channel/avatar.component'
70 import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
71 import { UserHistoryService } from '@app/shared/users/user-history.service'
72 import { UserNotificationService } from '@app/shared/users/user-notification.service'
73 import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
74 import { InstanceService } from '@app/shared/instance/instance.service'
75 import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
76 import { ConfirmComponent } from '@app/shared/confirm/confirm.component'
77 import { DateToggleComponent } from '@app/shared/date/date-toggle.component'
78 import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component'
79 import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service'
80 import { PreviewUploadComponent } from '@app/shared/images/preview-upload.component'
81 import { GlobalIconComponent } from '@app/shared/images/global-icon.component'
82 import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component'
83 import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component'
84 import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component'
85 import { VideoPlaylistElementMiniatureComponent } from '@app/shared/video-playlist/video-playlist-element-miniature.component'
86 import { VideosSelectionComponent } from '@app/shared/video/videos-selection.component'
87 import { NumberFormatterPipe } from '@app/shared/angular/number-formatter.pipe'
88 import { VideoDurationPipe } from '@app/shared/angular/video-duration-formatter.pipe'
89 import { ObjectLengthPipe } from '@app/shared/angular/object-length.pipe'
90 import { FromNowPipe } from '@app/shared/angular/from-now.pipe'
91 import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
92 import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component'
93 import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component'
94 import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component'
95 import { VideoReportComponent } from '@app/shared/video/modals/video-report.component'
96 import { ClipboardModule } from 'ngx-clipboard'
97 import { FollowService } from '@app/shared/instance/follow.service'
98 import { MultiSelectModule } from 'primeng/multiselect'
99 import { FeatureBooleanComponent } from '@app/shared/instance/feature-boolean.component'
100 import { InputReadonlyCopyComponent } from '@app/shared/forms/input-readonly-copy.component'
101 import { RedundancyService } from '@app/shared/video/redundancy.service'
128 SmallLoaderComponent,
130 VideoThumbnailComponent,
131 VideoMiniatureComponent,
132 VideoPlaylistMiniatureComponent,
133 VideoAddToPlaylistComponent,
134 VideoPlaylistElementMiniatureComponent,
135 VideosSelectionComponent,
136 VideoActionsDropdownComponent,
138 VideoDownloadComponent,
139 VideoReportComponent,
140 VideoBlacklistComponent,
145 DeleteButtonComponent,
151 PeerTubeTemplateDirective,
154 ActionDropdownComponent,
155 MarkdownTextareaComponent,
156 InfiniteScrollerDirective,
157 TextareaAutoResizeDirective,
160 ReactiveFileComponent,
161 PeertubeCheckboxComponent,
162 TimestampInputComponent,
163 InputReadonlyCopyComponent,
166 SubscribeButtonComponent,
167 RemoteSubscribeComponent,
168 InstanceFeaturesTableComponent,
169 InstanceStatisticsComponent,
170 FeatureBooleanComponent,
171 UserBanModalComponent,
172 UserModerationDropdownComponent,
173 TopMenuDropdownComponent,
174 UserNotificationsComponent,
179 PreviewUploadComponent
205 SmallLoaderComponent,
207 VideoThumbnailComponent,
208 VideoMiniatureComponent,
209 VideoPlaylistMiniatureComponent,
210 VideoAddToPlaylistComponent,
211 VideoPlaylistElementMiniatureComponent,
212 VideosSelectionComponent,
213 VideoActionsDropdownComponent,
215 VideoDownloadComponent,
216 VideoReportComponent,
217 VideoBlacklistComponent,
222 DeleteButtonComponent,
225 ActionDropdownComponent,
226 MarkdownTextareaComponent,
227 InfiniteScrollerDirective,
228 TextareaAutoResizeDirective,
230 InputReadonlyCopyComponent,
232 ReactiveFileComponent,
233 PeertubeCheckboxComponent,
234 TimestampInputComponent,
237 SubscribeButtonComponent,
238 RemoteSubscribeComponent,
239 InstanceFeaturesTableComponent,
240 InstanceStatisticsComponent,
241 UserBanModalComponent,
242 UserModerationDropdownComponent,
243 TopMenuDropdownComponent,
244 UserNotificationsComponent,
249 PreviewUploadComponent,
254 PeerTubeTemplateDirective,
259 AUTH_INTERCEPTOR_PROVIDER,
263 VideoBlacklistService,
264 VideoOwnershipService,
269 VideoPlaylistService,
272 UserSubscriptionService,
274 FormValidatorService,
275 CustomConfigValidatorsService,
276 LoginValidatorsService,
277 ResetPasswordValidatorsService,
278 UserValidatorsService,
279 VideoPlaylistValidatorsService,
280 VideoAbuseValidatorsService,
281 VideoChannelValidatorsService,
282 VideoCommentValidatorsService,
283 VideoValidatorsService,
284 VideoCaptionsValidatorsService,
285 VideoBlacklistValidatorsService,
287 VideoChangeOwnershipValidatorsService,
288 VideoAcceptOwnershipValidatorsService,
289 InstanceValidatorsService,
298 I18nPrimengCalendarService,
301 UserNotificationService,
309 export class SharedModule { }