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