Playlist videos component
[oweals/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
10 import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
11 import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared'
12 import { KeyFilterModule } from 'primeng/keyfilter'
13
14 import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
15 import { ButtonComponent } from './buttons/button.component'
16 import { DeleteButtonComponent } from './buttons/delete-button.component'
17 import { EditButtonComponent } from './buttons/edit-button.component'
18 import { FromNowPipe } from './misc/from-now.pipe'
19 import { LoaderComponent } from './misc/loader.component'
20 import { NumberFormatterPipe } from './misc/number-formatter.pipe'
21 import { ObjectLengthPipe } from './misc/object-length.pipe'
22 import { RestExtractor, RestService } from './rest'
23 import { UserService } from './users'
24 import { VideoAbuseService } from './video-abuse'
25 import { VideoBlacklistService } from './video-blacklist'
26 import { VideoOwnershipService } from './video-ownership'
27 import { VideoMiniatureComponent } from './video/video-miniature.component'
28 import { FeedComponent } from './video/feed.component'
29 import { VideoThumbnailComponent } from './video/video-thumbnail.component'
30 import { VideoService } from './video/video.service'
31 import { AccountService } from '@app/shared/account/account.service'
32 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
33 import { I18n } from '@ngx-translate/i18n-polyfill'
34 import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
35 import {
36   CustomConfigValidatorsService,
37   InstanceValidatorsService,
38   LoginValidatorsService,
39   ReactiveFileComponent,
40   ResetPasswordValidatorsService,
41   TextareaAutoResizeDirective,
42   UserValidatorsService,
43   VideoAbuseValidatorsService,
44   VideoAcceptOwnershipValidatorsService,
45   VideoBlacklistValidatorsService,
46   VideoChangeOwnershipValidatorsService,
47   VideoChannelValidatorsService,
48   VideoCommentValidatorsService,
49   VideoPlaylistValidatorsService,
50   VideoValidatorsService
51 } from '@app/shared/forms'
52 import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
53 import { InputMaskModule } from 'primeng/inputmask'
54 import { ScreenService } from '@app/shared/misc/screen.service'
55 import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
56 import { VideoCaptionService } from '@app/shared/video-caption'
57 import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
58 import { VideoImportService } from '@app/shared/video-import/video-import.service'
59 import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
60 import { NgbDropdownModule, NgbModalModule, NgbPopoverModule, NgbTabsetModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'
61 import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription'
62 import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
63 import { OverviewService } from '@app/shared/overview'
64 import { UserBanModalComponent } from '@app/shared/moderation'
65 import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
66 import { BlocklistService } from '@app/shared/blocklist'
67 import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
68 import { UserHistoryService } from '@app/shared/users/user-history.service'
69 import { UserNotificationService } from '@app/shared/users/user-notification.service'
70 import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
71 import { InstanceService } from '@app/shared/instance/instance.service'
72 import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
73 import { ConfirmComponent } from '@app/shared/confirm/confirm.component'
74 import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component'
75 import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service'
76 import { ImageUploadComponent } from '@app/shared/images/image-upload.component'
77 import { GlobalIconComponent } from '@app/shared/images/global-icon.component'
78 import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component'
79 import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component'
80 import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component'
81
82 @NgModule({
83   imports: [
84     CommonModule,
85     FormsModule,
86     ReactiveFormsModule,
87     RouterModule,
88     HttpClientModule,
89
90     NgbDropdownModule,
91     NgbModalModule,
92     NgbPopoverModule,
93     NgbTabsetModule,
94     NgbTooltipModule,
95
96     PrimeSharedModule,
97     InputMaskModule,
98     KeyFilterModule,
99     NgPipesModule
100   ],
101
102   declarations: [
103     LoaderComponent,
104     SmallLoaderComponent,
105
106     VideoThumbnailComponent,
107     VideoMiniatureComponent,
108     VideoPlaylistMiniatureComponent,
109     VideoAddToPlaylistComponent,
110
111     FeedComponent,
112
113     ButtonComponent,
114     DeleteButtonComponent,
115     EditButtonComponent,
116
117     ActionDropdownComponent,
118     NumberFormatterPipe,
119     ObjectLengthPipe,
120     FromNowPipe,
121     MarkdownTextareaComponent,
122     InfiniteScrollerDirective,
123     TextareaAutoResizeDirective,
124     HelpComponent,
125
126     ReactiveFileComponent,
127     PeertubeCheckboxComponent,
128     TimestampInputComponent,
129
130     SubscribeButtonComponent,
131     RemoteSubscribeComponent,
132     InstanceFeaturesTableComponent,
133     UserBanModalComponent,
134     UserModerationDropdownComponent,
135     TopMenuDropdownComponent,
136     UserNotificationsComponent,
137     ConfirmComponent,
138
139     GlobalIconComponent,
140     ImageUploadComponent
141   ],
142
143   exports: [
144     CommonModule,
145     FormsModule,
146     ReactiveFormsModule,
147     RouterModule,
148     HttpClientModule,
149
150     NgbDropdownModule,
151     NgbModalModule,
152     NgbPopoverModule,
153     NgbTabsetModule,
154     NgbTooltipModule,
155
156     PrimeSharedModule,
157     InputMaskModule,
158     KeyFilterModule,
159     BytesPipe,
160     KeysPipe,
161
162     LoaderComponent,
163     SmallLoaderComponent,
164
165     VideoThumbnailComponent,
166     VideoMiniatureComponent,
167     VideoPlaylistMiniatureComponent,
168     VideoAddToPlaylistComponent,
169
170     FeedComponent,
171
172     ButtonComponent,
173     DeleteButtonComponent,
174     EditButtonComponent,
175
176     ActionDropdownComponent,
177     MarkdownTextareaComponent,
178     InfiniteScrollerDirective,
179     TextareaAutoResizeDirective,
180     HelpComponent,
181
182     ReactiveFileComponent,
183     PeertubeCheckboxComponent,
184     TimestampInputComponent,
185
186     SubscribeButtonComponent,
187     RemoteSubscribeComponent,
188     InstanceFeaturesTableComponent,
189     UserBanModalComponent,
190     UserModerationDropdownComponent,
191     TopMenuDropdownComponent,
192     UserNotificationsComponent,
193     ConfirmComponent,
194
195     GlobalIconComponent,
196     ImageUploadComponent,
197
198     NumberFormatterPipe,
199     ObjectLengthPipe,
200     FromNowPipe
201   ],
202
203   providers: [
204     AUTH_INTERCEPTOR_PROVIDER,
205     RestExtractor,
206     RestService,
207     VideoAbuseService,
208     VideoBlacklistService,
209     VideoOwnershipService,
210     UserService,
211     VideoService,
212     AccountService,
213     VideoChannelService,
214     VideoPlaylistService,
215     VideoCaptionService,
216     VideoImportService,
217     UserSubscriptionService,
218
219     FormValidatorService,
220     CustomConfigValidatorsService,
221     LoginValidatorsService,
222     ResetPasswordValidatorsService,
223     UserValidatorsService,
224     VideoPlaylistValidatorsService,
225     VideoAbuseValidatorsService,
226     VideoChannelValidatorsService,
227     VideoCommentValidatorsService,
228     VideoValidatorsService,
229     VideoCaptionsValidatorsService,
230     VideoBlacklistValidatorsService,
231     OverviewService,
232     VideoChangeOwnershipValidatorsService,
233     VideoAcceptOwnershipValidatorsService,
234     InstanceValidatorsService,
235     BlocklistService,
236     UserHistoryService,
237     InstanceService,
238
239     MarkdownService,
240     LinkifierService,
241     HtmlRendererService,
242
243     I18nPrimengCalendarService,
244     ScreenService,
245
246     UserNotificationService,
247
248     I18n
249   ]
250 })
251 export class SharedModule { }