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 { HighlightPipe } from '@app/shared/angular/highlight.pipe'
93 import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
94 import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component'
95 import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component'
96 import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component'
97 import { VideoReportComponent } from '@app/shared/video/modals/video-report.component'
98 import { FollowService } from '@app/shared/instance/follow.service'
99 import { MultiSelectModule } from 'primeng/multiselect'
100 import { FeatureBooleanComponent } from '@app/shared/instance/feature-boolean.component'
101 import { InputReadonlyCopyComponent } from '@app/shared/forms/input-readonly-copy.component'
102 import { RedundancyService } from '@app/shared/video/redundancy.service'
103 import { ClipboardModule } from '@angular/cdk/clipboard'
130 SmallLoaderComponent,
132 VideoThumbnailComponent,
133 VideoMiniatureComponent,
134 VideoPlaylistMiniatureComponent,
135 VideoAddToPlaylistComponent,
136 VideoPlaylistElementMiniatureComponent,
137 VideosSelectionComponent,
138 VideoActionsDropdownComponent,
140 VideoDownloadComponent,
141 VideoReportComponent,
142 VideoBlacklistComponent,
147 DeleteButtonComponent,
154 PeerTubeTemplateDirective,
157 ActionDropdownComponent,
158 MarkdownTextareaComponent,
159 InfiniteScrollerDirective,
160 TextareaAutoResizeDirective,
162 ListOverflowComponent,
164 ReactiveFileComponent,
165 PeertubeCheckboxComponent,
166 TimestampInputComponent,
167 InputReadonlyCopyComponent,
170 SubscribeButtonComponent,
171 RemoteSubscribeComponent,
172 InstanceFeaturesTableComponent,
173 InstanceStatisticsComponent,
174 FeatureBooleanComponent,
175 UserBanModalComponent,
176 UserModerationDropdownComponent,
177 TopMenuDropdownComponent,
178 UserNotificationsComponent,
183 PreviewUploadComponent
209 SmallLoaderComponent,
211 VideoThumbnailComponent,
212 VideoMiniatureComponent,
213 VideoPlaylistMiniatureComponent,
214 VideoAddToPlaylistComponent,
215 VideoPlaylistElementMiniatureComponent,
216 VideosSelectionComponent,
217 VideoActionsDropdownComponent,
219 VideoDownloadComponent,
220 VideoReportComponent,
221 VideoBlacklistComponent,
226 DeleteButtonComponent,
229 ActionDropdownComponent,
230 MarkdownTextareaComponent,
231 InfiniteScrollerDirective,
232 TextareaAutoResizeDirective,
234 ListOverflowComponent,
235 InputReadonlyCopyComponent,
237 ReactiveFileComponent,
238 PeertubeCheckboxComponent,
239 TimestampInputComponent,
242 SubscribeButtonComponent,
243 RemoteSubscribeComponent,
244 InstanceFeaturesTableComponent,
245 InstanceStatisticsComponent,
246 UserBanModalComponent,
247 UserModerationDropdownComponent,
248 TopMenuDropdownComponent,
249 UserNotificationsComponent,
254 PreviewUploadComponent,
260 PeerTubeTemplateDirective,
265 AUTH_INTERCEPTOR_PROVIDER,
269 VideoBlacklistService,
270 VideoOwnershipService,
275 VideoPlaylistService,
278 UserSubscriptionService,
280 FormValidatorService,
281 CustomConfigValidatorsService,
282 LoginValidatorsService,
283 ResetPasswordValidatorsService,
284 UserValidatorsService,
285 VideoPlaylistValidatorsService,
286 VideoAbuseValidatorsService,
287 VideoChannelValidatorsService,
288 VideoCommentValidatorsService,
289 VideoValidatorsService,
290 VideoCaptionsValidatorsService,
291 VideoBlacklistValidatorsService,
293 VideoChangeOwnershipValidatorsService,
294 VideoAcceptOwnershipValidatorsService,
295 InstanceValidatorsService,
304 I18nPrimengCalendarService,
307 UserNotificationService,
315 export class SharedModule { }