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