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 { 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'
127 SmallLoaderComponent,
129 VideoThumbnailComponent,
130 VideoMiniatureComponent,
131 VideoPlaylistMiniatureComponent,
132 VideoAddToPlaylistComponent,
133 VideoPlaylistElementMiniatureComponent,
134 VideosSelectionComponent,
135 VideoActionsDropdownComponent,
137 VideoDownloadComponent,
138 VideoReportComponent,
139 VideoBlacklistComponent,
144 DeleteButtonComponent,
150 PeerTubeTemplateDirective,
153 ActionDropdownComponent,
154 MarkdownTextareaComponent,
155 InfiniteScrollerDirective,
156 TextareaAutoResizeDirective,
159 ReactiveFileComponent,
160 PeertubeCheckboxComponent,
161 TimestampInputComponent,
162 InputReadonlyCopyComponent,
165 SubscribeButtonComponent,
166 RemoteSubscribeComponent,
167 InstanceFeaturesTableComponent,
168 InstanceStatisticsComponent,
169 FeatureBooleanComponent,
170 UserBanModalComponent,
171 UserModerationDropdownComponent,
172 TopMenuDropdownComponent,
173 UserNotificationsComponent,
178 PreviewUploadComponent
204 SmallLoaderComponent,
206 VideoThumbnailComponent,
207 VideoMiniatureComponent,
208 VideoPlaylistMiniatureComponent,
209 VideoAddToPlaylistComponent,
210 VideoPlaylistElementMiniatureComponent,
211 VideosSelectionComponent,
212 VideoActionsDropdownComponent,
214 VideoDownloadComponent,
215 VideoReportComponent,
216 VideoBlacklistComponent,
221 DeleteButtonComponent,
224 ActionDropdownComponent,
225 MarkdownTextareaComponent,
226 InfiniteScrollerDirective,
227 TextareaAutoResizeDirective,
229 InputReadonlyCopyComponent,
231 ReactiveFileComponent,
232 PeertubeCheckboxComponent,
233 TimestampInputComponent,
236 SubscribeButtonComponent,
237 RemoteSubscribeComponent,
238 InstanceFeaturesTableComponent,
239 InstanceStatisticsComponent,
240 UserBanModalComponent,
241 UserModerationDropdownComponent,
242 TopMenuDropdownComponent,
243 UserNotificationsComponent,
248 PreviewUploadComponent,
253 PeerTubeTemplateDirective,
258 AUTH_INTERCEPTOR_PROVIDER,
262 VideoBlacklistService,
263 VideoOwnershipService,
268 VideoPlaylistService,
271 UserSubscriptionService,
273 FormValidatorService,
274 CustomConfigValidatorsService,
275 LoginValidatorsService,
276 ResetPasswordValidatorsService,
277 UserValidatorsService,
278 VideoPlaylistValidatorsService,
279 VideoAbuseValidatorsService,
280 VideoChannelValidatorsService,
281 VideoCommentValidatorsService,
282 VideoValidatorsService,
283 VideoCaptionsValidatorsService,
284 VideoBlacklistValidatorsService,
286 VideoChangeOwnershipValidatorsService,
287 VideoAcceptOwnershipValidatorsService,
288 InstanceValidatorsService,
297 I18nPrimengCalendarService,
300 UserNotificationService,
307 export class SharedModule { }