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