]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/shared.module.ts
Add ability to list redundancies
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared.module.ts
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'
29 import {
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'
54 import {
55 NgbCollapseModule,
56 NgbDropdownModule,
57 NgbModalModule,
58 NgbPopoverModule,
59 NgbTabsetModule,
60 NgbTooltipModule
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'
102
103 @NgModule({
104 imports: [
105 CommonModule,
106 FormsModule,
107 ReactiveFormsModule,
108 RouterModule,
109 HttpClientModule,
110
111 NgbDropdownModule,
112 NgbModalModule,
113 NgbPopoverModule,
114 NgbTabsetModule,
115 NgbTooltipModule,
116 NgbCollapseModule,
117
118 ClipboardModule,
119
120 PrimeSharedModule,
121 InputMaskModule,
122 NgPipesModule,
123 MultiSelectModule
124 ],
125
126 declarations: [
127 LoaderComponent,
128 SmallLoaderComponent,
129
130 VideoThumbnailComponent,
131 VideoMiniatureComponent,
132 VideoPlaylistMiniatureComponent,
133 VideoAddToPlaylistComponent,
134 VideoPlaylistElementMiniatureComponent,
135 VideosSelectionComponent,
136 VideoActionsDropdownComponent,
137
138 VideoDownloadComponent,
139 VideoReportComponent,
140 VideoBlacklistComponent,
141
142 FeedComponent,
143
144 ButtonComponent,
145 DeleteButtonComponent,
146 EditButtonComponent,
147
148 NumberFormatterPipe,
149 ObjectLengthPipe,
150 FromNowPipe,
151 PeerTubeTemplateDirective,
152 VideoDurationPipe,
153
154 ActionDropdownComponent,
155 MarkdownTextareaComponent,
156 InfiniteScrollerDirective,
157 TextareaAutoResizeDirective,
158 HelpComponent,
159
160 ReactiveFileComponent,
161 PeertubeCheckboxComponent,
162 TimestampInputComponent,
163 InputReadonlyCopyComponent,
164
165 AvatarComponent,
166 SubscribeButtonComponent,
167 RemoteSubscribeComponent,
168 InstanceFeaturesTableComponent,
169 InstanceStatisticsComponent,
170 FeatureBooleanComponent,
171 UserBanModalComponent,
172 UserModerationDropdownComponent,
173 TopMenuDropdownComponent,
174 UserNotificationsComponent,
175 ConfirmComponent,
176 DateToggleComponent,
177
178 GlobalIconComponent,
179 PreviewUploadComponent
180 ],
181
182 exports: [
183 CommonModule,
184 FormsModule,
185 ReactiveFormsModule,
186 RouterModule,
187 HttpClientModule,
188
189 NgbDropdownModule,
190 NgbModalModule,
191 NgbPopoverModule,
192 NgbTabsetModule,
193 NgbTooltipModule,
194 NgbCollapseModule,
195
196 ClipboardModule,
197
198 PrimeSharedModule,
199 InputMaskModule,
200 BytesPipe,
201 KeysPipe,
202 MultiSelectModule,
203
204 LoaderComponent,
205 SmallLoaderComponent,
206
207 VideoThumbnailComponent,
208 VideoMiniatureComponent,
209 VideoPlaylistMiniatureComponent,
210 VideoAddToPlaylistComponent,
211 VideoPlaylistElementMiniatureComponent,
212 VideosSelectionComponent,
213 VideoActionsDropdownComponent,
214
215 VideoDownloadComponent,
216 VideoReportComponent,
217 VideoBlacklistComponent,
218
219 FeedComponent,
220
221 ButtonComponent,
222 DeleteButtonComponent,
223 EditButtonComponent,
224
225 ActionDropdownComponent,
226 MarkdownTextareaComponent,
227 InfiniteScrollerDirective,
228 TextareaAutoResizeDirective,
229 HelpComponent,
230 InputReadonlyCopyComponent,
231
232 ReactiveFileComponent,
233 PeertubeCheckboxComponent,
234 TimestampInputComponent,
235
236 AvatarComponent,
237 SubscribeButtonComponent,
238 RemoteSubscribeComponent,
239 InstanceFeaturesTableComponent,
240 InstanceStatisticsComponent,
241 UserBanModalComponent,
242 UserModerationDropdownComponent,
243 TopMenuDropdownComponent,
244 UserNotificationsComponent,
245 ConfirmComponent,
246 DateToggleComponent,
247
248 GlobalIconComponent,
249 PreviewUploadComponent,
250
251 NumberFormatterPipe,
252 ObjectLengthPipe,
253 FromNowPipe,
254 PeerTubeTemplateDirective,
255 VideoDurationPipe
256 ],
257
258 providers: [
259 AUTH_INTERCEPTOR_PROVIDER,
260 RestExtractor,
261 RestService,
262 VideoAbuseService,
263 VideoBlacklistService,
264 VideoOwnershipService,
265 UserService,
266 VideoService,
267 AccountService,
268 VideoChannelService,
269 VideoPlaylistService,
270 VideoCaptionService,
271 VideoImportService,
272 UserSubscriptionService,
273
274 FormValidatorService,
275 CustomConfigValidatorsService,
276 LoginValidatorsService,
277 ResetPasswordValidatorsService,
278 UserValidatorsService,
279 VideoPlaylistValidatorsService,
280 VideoAbuseValidatorsService,
281 VideoChannelValidatorsService,
282 VideoCommentValidatorsService,
283 VideoValidatorsService,
284 VideoCaptionsValidatorsService,
285 VideoBlacklistValidatorsService,
286 OverviewService,
287 VideoChangeOwnershipValidatorsService,
288 VideoAcceptOwnershipValidatorsService,
289 InstanceValidatorsService,
290 BlocklistService,
291 UserHistoryService,
292 InstanceService,
293
294 MarkdownService,
295 LinkifierService,
296 HtmlRendererService,
297
298 I18nPrimengCalendarService,
299 ScreenService,
300
301 UserNotificationService,
302
303 FollowService,
304 RedundancyService,
305
306 I18n
307 ]
308 })
309 export class SharedModule { }