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 { ListOverflowComponent } from '@app/shared/misc/list-overflow.component'
9 import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
10 import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
11 import { SharedModule as PrimeSharedModule } from 'primeng/api'
12 import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
13 import { ButtonComponent } from './buttons/button.component'
14 import { DeleteButtonComponent } from './buttons/delete-button.component'
15 import { EditButtonComponent } from './buttons/edit-button.component'
16 import { LoaderComponent } from './misc/loader.component'
17 import { RestExtractor, RestService } from './rest'
18 import { UserService } from './users'
19 import { VideoAbuseService } from './video-abuse'
20 import { VideoBlacklistService } from './video-blacklist'
21 import { VideoOwnershipService } from './video-ownership'
22 import { VideoMiniatureComponent } from './video/video-miniature.component'
23 import { FeedComponent } from './video/feed.component'
24 import { VideoThumbnailComponent } from './video/video-thumbnail.component'
25 import { VideoService } from './video/video.service'
26 import { AccountService } from '@app/shared/account/account.service'
27 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
28 import { I18n } from '@ngx-translate/i18n-polyfill'
29 import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
31 CustomConfigValidatorsService,
32 InstanceValidatorsService,
33 LoginValidatorsService,
34 ReactiveFileComponent,
35 ResetPasswordValidatorsService,
36 TextareaAutoResizeDirective,
37 UserValidatorsService,
38 VideoAbuseValidatorsService,
39 VideoAcceptOwnershipValidatorsService,
40 VideoBlacklistValidatorsService,
41 VideoChangeOwnershipValidatorsService,
42 VideoChannelValidatorsService,
43 VideoCommentValidatorsService,
44 VideoPlaylistValidatorsService,
45 VideoValidatorsService
46 } from '@app/shared/forms'
47 import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
48 import { InputMaskModule } from 'primeng/inputmask'
49 import { ScreenService } from '@app/shared/misc/screen.service'
50 import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
51 import { VideoCaptionService } from '@app/shared/video-caption'
52 import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
53 import { VideoImportService } from '@app/shared/video-import/video-import.service'
54 import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
62 } from '@ng-bootstrap/ng-bootstrap'
63 import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription'
64 import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
65 import { InstanceStatisticsComponent } from '@app/shared/instance/instance-statistics.component'
66 import { OverviewService } from '@app/shared/overview'
67 import { UserBanModalComponent } from '@app/shared/moderation'
68 import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
69 import { BlocklistService } from '@app/shared/blocklist'
70 import { AvatarComponent } from '@app/shared/channel/avatar.component'
71 import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
72 import { UserHistoryService } from '@app/shared/users/user-history.service'
73 import { UserNotificationService } from '@app/shared/users/user-notification.service'
74 import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
75 import { InstanceService } from '@app/shared/instance/instance.service'
76 import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
77 import { ConfirmComponent } from '@app/shared/confirm/confirm.component'
78 import { DateToggleComponent } from '@app/shared/date/date-toggle.component'
79 import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component'
80 import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service'
81 import { PreviewUploadComponent } from '@app/shared/images/preview-upload.component'
82 import { GlobalIconComponent } from '@app/shared/images/global-icon.component'
83 import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component'
84 import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component'
85 import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component'
86 import { VideoPlaylistElementMiniatureComponent } from '@app/shared/video-playlist/video-playlist-element-miniature.component'
87 import { VideosSelectionComponent } from '@app/shared/video/videos-selection.component'
88 import { NumberFormatterPipe } from '@app/shared/angular/number-formatter.pipe'
89 import { VideoDurationPipe } from '@app/shared/angular/video-duration-formatter.pipe'
90 import { ObjectLengthPipe } from '@app/shared/angular/object-length.pipe'
91 import { FromNowPipe } from '@app/shared/angular/from-now.pipe'
92 import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
93 import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component'
94 import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component'
95 import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component'
96 import { VideoReportComponent } from '@app/shared/video/modals/video-report.component'
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'
102 import { ClipboardModule } from '@angular/cdk/clipboard'
129 SmallLoaderComponent,
131 VideoThumbnailComponent,
132 VideoMiniatureComponent,
133 VideoPlaylistMiniatureComponent,
134 VideoAddToPlaylistComponent,
135 VideoPlaylistElementMiniatureComponent,
136 VideosSelectionComponent,
137 VideoActionsDropdownComponent,
139 VideoDownloadComponent,
140 VideoReportComponent,
141 VideoBlacklistComponent,
146 DeleteButtonComponent,
152 PeerTubeTemplateDirective,
155 ActionDropdownComponent,
156 MarkdownTextareaComponent,
157 InfiniteScrollerDirective,
158 TextareaAutoResizeDirective,
160 ListOverflowComponent,
162 ReactiveFileComponent,
163 PeertubeCheckboxComponent,
164 TimestampInputComponent,
165 InputReadonlyCopyComponent,
168 SubscribeButtonComponent,
169 RemoteSubscribeComponent,
170 InstanceFeaturesTableComponent,
171 InstanceStatisticsComponent,
172 FeatureBooleanComponent,
173 UserBanModalComponent,
174 UserModerationDropdownComponent,
175 TopMenuDropdownComponent,
176 UserNotificationsComponent,
181 PreviewUploadComponent
207 SmallLoaderComponent,
209 VideoThumbnailComponent,
210 VideoMiniatureComponent,
211 VideoPlaylistMiniatureComponent,
212 VideoAddToPlaylistComponent,
213 VideoPlaylistElementMiniatureComponent,
214 VideosSelectionComponent,
215 VideoActionsDropdownComponent,
217 VideoDownloadComponent,
218 VideoReportComponent,
219 VideoBlacklistComponent,
224 DeleteButtonComponent,
227 ActionDropdownComponent,
228 MarkdownTextareaComponent,
229 InfiniteScrollerDirective,
230 TextareaAutoResizeDirective,
232 ListOverflowComponent,
233 InputReadonlyCopyComponent,
235 ReactiveFileComponent,
236 PeertubeCheckboxComponent,
237 TimestampInputComponent,
240 SubscribeButtonComponent,
241 RemoteSubscribeComponent,
242 InstanceFeaturesTableComponent,
243 InstanceStatisticsComponent,
244 UserBanModalComponent,
245 UserModerationDropdownComponent,
246 TopMenuDropdownComponent,
247 UserNotificationsComponent,
252 PreviewUploadComponent,
257 PeerTubeTemplateDirective,
262 AUTH_INTERCEPTOR_PROVIDER,
266 VideoBlacklistService,
267 VideoOwnershipService,
272 VideoPlaylistService,
275 UserSubscriptionService,
277 FormValidatorService,
278 CustomConfigValidatorsService,
279 LoginValidatorsService,
280 ResetPasswordValidatorsService,
281 UserValidatorsService,
282 VideoPlaylistValidatorsService,
283 VideoAbuseValidatorsService,
284 VideoChannelValidatorsService,
285 VideoCommentValidatorsService,
286 VideoValidatorsService,
287 VideoCaptionsValidatorsService,
288 VideoBlacklistValidatorsService,
290 VideoChangeOwnershipValidatorsService,
291 VideoAcceptOwnershipValidatorsService,
292 InstanceValidatorsService,
301 I18nPrimengCalendarService,
304 UserNotificationService,
312 export class SharedModule { }