]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/shared.module.ts
Speedup video watch layout build
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared.module.ts
CommitLineData
df98563e 1import { CommonModule } from '@angular/common'
9bf9d2a5
C
2import { HttpClientModule } from '@angular/common/http'
3import { NgModule } from '@angular/core'
df98563e
C
4import { FormsModule, ReactiveFormsModule } from '@angular/forms'
5import { RouterModule } from '@angular/router'
66b16caf 6import { MarkdownTextareaComponent } from '@app/shared/forms/markdown-textarea.component'
8a8e02a4 7import { HelpComponent } from '@app/shared/misc/help.component'
0cd4344f 8import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
693b1aba 9
62e23e40 10import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
3523b64a 11import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared'
693b1aba 12
d592e0a9 13import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
74d63469 14import { ButtonComponent } from './buttons/button.component'
eacb25c4
C
15import { DeleteButtonComponent } from './buttons/delete-button.component'
16import { EditButtonComponent } from './buttons/edit-button.component'
9bf9d2a5 17import { LoaderComponent } from './misc/loader.component'
df98563e 18import { RestExtractor, RestService } from './rest'
df98563e
C
19import { UserService } from './users'
20import { VideoAbuseService } from './video-abuse'
35bf0c83 21import { VideoBlacklistService } from './video-blacklist'
74d63469 22import { VideoOwnershipService } from './video-ownership'
b1fa3eba 23import { VideoMiniatureComponent } from './video/video-miniature.component'
c199c427 24import { FeedComponent } from './video/feed.component'
202f6b6c
C
25import { VideoThumbnailComponent } from './video/video-thumbnail.component'
26import { VideoService } from './video/video.service'
0626e7af 27import { AccountService } from '@app/shared/account/account.service'
d3e91a5f 28import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
989e526a 29import { I18n } from '@ngx-translate/i18n-polyfill'
d18d6478 30import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
e309822b
C
31import {
32 CustomConfigValidatorsService,
1506307f 33 InstanceValidatorsService,
57c36b27
C
34 LoginValidatorsService,
35 ReactiveFileComponent,
e309822b 36 ResetPasswordValidatorsService,
2fbe7f19 37 TextareaAutoResizeDirective,
57c36b27 38 UserValidatorsService,
22a16e36 39 VideoAbuseValidatorsService,
2fbe7f19 40 VideoAcceptOwnershipValidatorsService,
22a16e36 41 VideoBlacklistValidatorsService,
2fbe7f19 42 VideoChangeOwnershipValidatorsService,
57c36b27
C
43 VideoChannelValidatorsService,
44 VideoCommentValidatorsService,
830b4faf 45 VideoPlaylistValidatorsService,
2fbe7f19 46 VideoValidatorsService
e309822b 47} from '@app/shared/forms'
bbe0f064 48import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
f0a39880 49import { InputMaskModule } from 'primeng/inputmask'
bbe0f064 50import { ScreenService } from '@app/shared/misc/screen.service'
40e87e9e
C
51import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
52import { VideoCaptionService } from '@app/shared/video-caption'
0f7fedc3 53import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
fbad87b0 54import { VideoImportService } from '@app/shared/video-import/video-import.service'
eacb25c4 55import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
63347a0f 56import { NgbDropdownModule, NgbModalModule, NgbPopoverModule, NgbTabsetModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'
2fbe7f19 57import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription'
41a676db 58import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
2d3741d6 59import { OverviewService } from '@app/shared/overview'
e724fa93
C
60import { UserBanModalComponent } from '@app/shared/moderation'
61import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
af5767ff 62import { BlocklistService } from '@app/shared/blocklist'
ddb83e49 63import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
80bfd33c 64import { UserHistoryService } from '@app/shared/users/user-history.service'
2f1548fd
C
65import { UserNotificationService } from '@app/shared/users/user-notification.service'
66import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
d3e56c0c 67import { InstanceService } from '@app/shared/instance/instance.service'
1506307f 68import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
457bb213 69import { ConfirmComponent } from '@app/shared/confirm/confirm.component'
b28e4e5e 70import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component'
830b4faf 71import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service'
7b992a86 72import { PreviewUploadComponent } from '@app/shared/images/preview-upload.component'
830b4faf
C
73import { GlobalIconComponent } from '@app/shared/images/global-icon.component'
74import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component'
f0a39880
C
75import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component'
76import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component'
e2f01c47 77import { VideoPlaylistElementMiniatureComponent } from '@app/shared/video-playlist/video-playlist-element-miniature.component'
693263e9
C
78import { VideosSelectionComponent } from '@app/shared/video/videos-selection.component'
79import { NumberFormatterPipe } from '@app/shared/angular/number-formatter.pipe'
80import { ObjectLengthPipe } from '@app/shared/angular/object-length.pipe'
81import { FromNowPipe } from '@app/shared/angular/from-now.pipe'
82import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
3a0fb65c
C
83import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component'
84import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component'
85import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component'
86import { VideoReportComponent } from '@app/shared/video/modals/video-report.component'
87import { ClipboardModule } from 'ngx-clipboard'
a6dbbf03 88import { FollowService } from '@app/shared/instance/follow.service'
693b1aba
C
89
90@NgModule({
91 imports: [
92 CommonModule,
93 FormsModule,
94 ReactiveFormsModule,
693b1aba 95 RouterModule,
d592e0a9 96 HttpClientModule,
693b1aba 97
d77ad726
C
98 NgbDropdownModule,
99 NgbModalModule,
100 NgbPopoverModule,
101 NgbTabsetModule,
102 NgbTooltipModule,
d396a937 103
3a0fb65c
C
104 ClipboardModule,
105
202f6b6c 106 PrimeSharedModule,
f0a39880 107 InputMaskModule,
6de36768 108 NgPipesModule
693b1aba
C
109 ],
110
111 declarations: [
9bf9d2a5 112 LoaderComponent,
b28e4e5e 113 SmallLoaderComponent,
830b4faf 114
202f6b6c 115 VideoThumbnailComponent,
b1fa3eba 116 VideoMiniatureComponent,
830b4faf 117 VideoPlaylistMiniatureComponent,
f0a39880 118 VideoAddToPlaylistComponent,
e2f01c47 119 VideoPlaylistElementMiniatureComponent,
693263e9 120 VideosSelectionComponent,
3a0fb65c
C
121 VideoActionsDropdownComponent,
122
123 VideoDownloadComponent,
124 VideoReportComponent,
125 VideoBlacklistComponent,
830b4faf 126
c199c427 127 FeedComponent,
f0a39880 128
74d63469 129 ButtonComponent,
cd83ea1b
C
130 DeleteButtonComponent,
131 EditButtonComponent,
f0a39880 132
9bf9d2a5 133 NumberFormatterPipe,
244e76a5 134 ObjectLengthPipe,
66b16caf 135 FromNowPipe,
693263e9
C
136 PeerTubeTemplateDirective,
137
138 ActionDropdownComponent,
0cd4344f 139 MarkdownTextareaComponent,
8a8e02a4 140 InfiniteScrollerDirective,
2fbe7f19 141 TextareaAutoResizeDirective,
40e87e9e 142 HelpComponent,
f0a39880 143
0f7fedc3 144 ReactiveFileComponent,
22a16e36 145 PeertubeCheckboxComponent,
f0a39880
C
146 TimestampInputComponent,
147
41a676db 148 SubscribeButtonComponent,
660d11e9 149 RemoteSubscribeComponent,
e724fa93
C
150 InstanceFeaturesTableComponent,
151 UserBanModalComponent,
ddb83e49 152 UserModerationDropdownComponent,
2f1548fd 153 TopMenuDropdownComponent,
457bb213
C
154 UserNotificationsComponent,
155 ConfirmComponent,
830b4faf
C
156
157 GlobalIconComponent,
7b992a86 158 PreviewUploadComponent
693b1aba
C
159 ],
160
161 exports: [
162 CommonModule,
163 FormsModule,
164 ReactiveFormsModule,
693b1aba 165 RouterModule,
d592e0a9 166 HttpClientModule,
693b1aba 167
63347a0f
C
168 NgbDropdownModule,
169 NgbModalModule,
170 NgbPopoverModule,
171 NgbTabsetModule,
172 NgbTooltipModule,
173
3a0fb65c
C
174 ClipboardModule,
175
d592e0a9 176 PrimeSharedModule,
f0a39880 177 InputMaskModule,
693b1aba 178 BytesPipe,
99fdec46 179 KeysPipe,
693b1aba 180
9bf9d2a5 181 LoaderComponent,
b28e4e5e 182 SmallLoaderComponent,
830b4faf 183
202f6b6c 184 VideoThumbnailComponent,
b1fa3eba 185 VideoMiniatureComponent,
830b4faf 186 VideoPlaylistMiniatureComponent,
f0a39880 187 VideoAddToPlaylistComponent,
e2f01c47 188 VideoPlaylistElementMiniatureComponent,
693263e9 189 VideosSelectionComponent,
3a0fb65c
C
190 VideoActionsDropdownComponent,
191
192 VideoDownloadComponent,
193 VideoReportComponent,
194 VideoBlacklistComponent,
830b4faf 195
c199c427 196 FeedComponent,
f0a39880 197
74d63469 198 ButtonComponent,
cd83ea1b
C
199 DeleteButtonComponent,
200 EditButtonComponent,
f0a39880 201
eacb25c4 202 ActionDropdownComponent,
66b16caf 203 MarkdownTextareaComponent,
0cd4344f 204 InfiniteScrollerDirective,
2fbe7f19 205 TextareaAutoResizeDirective,
8a8e02a4 206 HelpComponent,
f0a39880 207
40e87e9e 208 ReactiveFileComponent,
0f7fedc3 209 PeertubeCheckboxComponent,
f0a39880
C
210 TimestampInputComponent,
211
22a16e36 212 SubscribeButtonComponent,
660d11e9 213 RemoteSubscribeComponent,
41a676db 214 InstanceFeaturesTableComponent,
e724fa93
C
215 UserBanModalComponent,
216 UserModerationDropdownComponent,
ddb83e49 217 TopMenuDropdownComponent,
2f1548fd 218 UserNotificationsComponent,
457bb213 219 ConfirmComponent,
830b4faf 220
457bb213 221 GlobalIconComponent,
7b992a86 222 PreviewUploadComponent,
9bf9d2a5
C
223
224 NumberFormatterPipe,
244e76a5 225 ObjectLengthPipe,
693263e9
C
226 FromNowPipe,
227 PeerTubeTemplateDirective
693b1aba
C
228 ],
229
230 providers: [
d592e0a9 231 AUTH_INTERCEPTOR_PROVIDER,
693b1aba
C
232 RestExtractor,
233 RestService,
e2a2d6c8 234 VideoAbuseService,
35bf0c83 235 VideoBlacklistService,
74d63469 236 VideoOwnershipService,
202f6b6c 237 UserService,
66b16caf 238 VideoService,
0626e7af 239 AccountService,
989e526a 240 VideoChannelService,
830b4faf 241 VideoPlaylistService,
40e87e9e 242 VideoCaptionService,
26b7305a 243 VideoImportService,
22a16e36 244 UserSubscriptionService,
e309822b 245
d18d6478 246 FormValidatorService,
e309822b
C
247 CustomConfigValidatorsService,
248 LoginValidatorsService,
249 ResetPasswordValidatorsService,
250 UserValidatorsService,
830b4faf 251 VideoPlaylistValidatorsService,
e309822b
C
252 VideoAbuseValidatorsService,
253 VideoChannelValidatorsService,
254 VideoCommentValidatorsService,
255 VideoValidatorsService,
40e87e9e 256 VideoCaptionsValidatorsService,
26b7305a 257 VideoBlacklistValidatorsService,
2d3741d6 258 OverviewService,
74d63469
GR
259 VideoChangeOwnershipValidatorsService,
260 VideoAcceptOwnershipValidatorsService,
d3e56c0c 261 InstanceValidatorsService,
af5767ff 262 BlocklistService,
80bfd33c 263 UserHistoryService,
d3e56c0c 264 InstanceService,
e309822b 265
1506307f
C
266 MarkdownService,
267 LinkifierService,
268 HtmlRendererService,
269
bbe0f064
C
270 I18nPrimengCalendarService,
271 ScreenService,
272
2f1548fd
C
273 UserNotificationService,
274
a6dbbf03
C
275 FollowService,
276
989e526a 277 I18n
693b1aba
C
278 ]
279})
280export class SharedModule { }