]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/shared.module.ts
Make video-add-nav tabs scrollable on small devices (#2677)
[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'
24e7916c 8import { ListOverflowComponent } from '@app/shared/misc/list-overflow.component'
0cd4344f 9import { InfiniteScrollerDirective } from '@app/shared/video/infinite-scroller.directive'
62e23e40 10import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
f77eb73b 11import { SharedModule as PrimeSharedModule } from 'primeng/api'
d592e0a9 12import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
74d63469 13import { ButtonComponent } from './buttons/button.component'
eacb25c4
C
14import { DeleteButtonComponent } from './buttons/delete-button.component'
15import { EditButtonComponent } from './buttons/edit-button.component'
9bf9d2a5 16import { LoaderComponent } from './misc/loader.component'
df98563e 17import { RestExtractor, RestService } from './rest'
df98563e
C
18import { UserService } from './users'
19import { VideoAbuseService } from './video-abuse'
35bf0c83 20import { VideoBlacklistService } from './video-blacklist'
74d63469 21import { VideoOwnershipService } from './video-ownership'
b1fa3eba 22import { VideoMiniatureComponent } from './video/video-miniature.component'
c199c427 23import { FeedComponent } from './video/feed.component'
202f6b6c
C
24import { VideoThumbnailComponent } from './video/video-thumbnail.component'
25import { VideoService } from './video/video.service'
0626e7af 26import { AccountService } from '@app/shared/account/account.service'
d3e91a5f 27import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
989e526a 28import { I18n } from '@ngx-translate/i18n-polyfill'
d18d6478 29import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
e309822b
C
30import {
31 CustomConfigValidatorsService,
1506307f 32 InstanceValidatorsService,
57c36b27
C
33 LoginValidatorsService,
34 ReactiveFileComponent,
e309822b 35 ResetPasswordValidatorsService,
2fbe7f19 36 TextareaAutoResizeDirective,
57c36b27 37 UserValidatorsService,
22a16e36 38 VideoAbuseValidatorsService,
2fbe7f19 39 VideoAcceptOwnershipValidatorsService,
22a16e36 40 VideoBlacklistValidatorsService,
2fbe7f19 41 VideoChangeOwnershipValidatorsService,
57c36b27
C
42 VideoChannelValidatorsService,
43 VideoCommentValidatorsService,
830b4faf 44 VideoPlaylistValidatorsService,
2fbe7f19 45 VideoValidatorsService
e309822b 46} from '@app/shared/forms'
bbe0f064 47import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
f0a39880 48import { InputMaskModule } from 'primeng/inputmask'
bbe0f064 49import { ScreenService } from '@app/shared/misc/screen.service'
d3217560 50import { LocalStorageService, SessionStorageService } from '@app/shared/misc/storage.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'
2f4c784a
C
56import {
57 NgbCollapseModule,
58 NgbDropdownModule,
59 NgbModalModule,
60 NgbPopoverModule,
45c6bcf3 61 NgbNavModule,
2f4c784a
C
62 NgbTooltipModule
63} from '@ng-bootstrap/ng-bootstrap'
2fbe7f19 64import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription'
41a676db 65import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
3d05209c 66import { InstanceStatisticsComponent } from '@app/shared/instance/instance-statistics.component'
2d3741d6 67import { OverviewService } from '@app/shared/overview'
e724fa93
C
68import { UserBanModalComponent } from '@app/shared/moderation'
69import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
af5767ff 70import { BlocklistService } from '@app/shared/blocklist'
dd4f25ee 71import { AvatarComponent } from '@app/shared/channel/avatar.component'
ddb83e49 72import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
80bfd33c 73import { UserHistoryService } from '@app/shared/users/user-history.service'
2f1548fd
C
74import { UserNotificationService } from '@app/shared/users/user-notification.service'
75import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
d3e56c0c 76import { InstanceService } from '@app/shared/instance/instance.service'
1506307f 77import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
457bb213 78import { ConfirmComponent } from '@app/shared/confirm/confirm.component'
e8050208 79import { DateToggleComponent } from '@app/shared/date/date-toggle.component'
b28e4e5e 80import { SmallLoaderComponent } from '@app/shared/misc/small-loader.component'
830b4faf 81import { VideoPlaylistService } from '@app/shared/video-playlist/video-playlist.service'
7b992a86 82import { PreviewUploadComponent } from '@app/shared/images/preview-upload.component'
830b4faf
C
83import { GlobalIconComponent } from '@app/shared/images/global-icon.component'
84import { VideoPlaylistMiniatureComponent } from '@app/shared/video-playlist/video-playlist-miniature.component'
f0a39880
C
85import { VideoAddToPlaylistComponent } from '@app/shared/video-playlist/video-add-to-playlist.component'
86import { TimestampInputComponent } from '@app/shared/forms/timestamp-input.component'
e2f01c47 87import { VideoPlaylistElementMiniatureComponent } from '@app/shared/video-playlist/video-playlist-element-miniature.component'
693263e9
C
88import { VideosSelectionComponent } from '@app/shared/video/videos-selection.component'
89import { NumberFormatterPipe } from '@app/shared/angular/number-formatter.pipe'
df8340b7 90import { VideoDurationPipe } from '@app/shared/angular/video-duration-formatter.pipe'
693263e9
C
91import { ObjectLengthPipe } from '@app/shared/angular/object-length.pipe'
92import { FromNowPipe } from '@app/shared/angular/from-now.pipe'
8a979d73 93import { HighlightPipe } from '@app/shared/angular/highlight.pipe'
693263e9 94import { PeerTubeTemplateDirective } from '@app/shared/angular/peertube-template.directive'
3a0fb65c
C
95import { VideoActionsDropdownComponent } from '@app/shared/video/video-actions-dropdown.component'
96import { VideoBlacklistComponent } from '@app/shared/video/modals/video-blacklist.component'
97import { VideoDownloadComponent } from '@app/shared/video/modals/video-download.component'
98import { VideoReportComponent } from '@app/shared/video/modals/video-report.component'
a6dbbf03 99import { FollowService } from '@app/shared/instance/follow.service'
ccc00cb2 100import { MultiSelectModule } from 'primeng/multiselect'
a00045a2 101import { FeatureBooleanComponent } from '@app/shared/instance/feature-boolean.component'
3a1fed11 102import { InputReadonlyCopyComponent } from '@app/shared/forms/input-readonly-copy.component'
b764380a 103import { RedundancyService } from '@app/shared/video/redundancy.service'
7811819b 104import { ClipboardModule } from '@angular/cdk/clipboard'
d3217560
RK
105import { InputSwitchModule } from 'primeng/inputswitch'
106
107import { MyAccountVideoSettingsComponent } from '@app/+my-account/my-account-settings/my-account-video-settings'
108import { MyAccountInterfaceSettingsComponent } from '@app/+my-account/my-account-settings/my-account-interface'
76314386 109import { ActorAvatarInfoComponent } from '@app/+my-account/shared/actor-avatar-info.component'
bb152476 110import { BatchDomainsValidatorsService } from '@app/+admin/config/shared/batch-domains-validators.service'
693b1aba
C
111
112@NgModule({
113 imports: [
114 CommonModule,
115 FormsModule,
116 ReactiveFormsModule,
693b1aba 117 RouterModule,
d592e0a9 118 HttpClientModule,
693b1aba 119
d77ad726
C
120 NgbDropdownModule,
121 NgbModalModule,
122 NgbPopoverModule,
45c6bcf3 123 NgbNavModule,
d77ad726 124 NgbTooltipModule,
2f4c784a 125 NgbCollapseModule,
d396a937 126
3a0fb65c
C
127 ClipboardModule,
128
202f6b6c 129 PrimeSharedModule,
f0a39880 130 InputMaskModule,
ccc00cb2 131 NgPipesModule,
d3217560
RK
132 MultiSelectModule,
133 InputSwitchModule
693b1aba
C
134 ],
135
136 declarations: [
9bf9d2a5 137 LoaderComponent,
b28e4e5e 138 SmallLoaderComponent,
830b4faf 139
202f6b6c 140 VideoThumbnailComponent,
b1fa3eba 141 VideoMiniatureComponent,
830b4faf 142 VideoPlaylistMiniatureComponent,
f0a39880 143 VideoAddToPlaylistComponent,
e2f01c47 144 VideoPlaylistElementMiniatureComponent,
693263e9 145 VideosSelectionComponent,
3a0fb65c
C
146 VideoActionsDropdownComponent,
147
148 VideoDownloadComponent,
149 VideoReportComponent,
150 VideoBlacklistComponent,
830b4faf 151
c199c427 152 FeedComponent,
f0a39880 153
74d63469 154 ButtonComponent,
cd83ea1b
C
155 DeleteButtonComponent,
156 EditButtonComponent,
f0a39880 157
9bf9d2a5 158 NumberFormatterPipe,
244e76a5 159 ObjectLengthPipe,
66b16caf 160 FromNowPipe,
f409f0c3 161 HighlightPipe,
693263e9 162 PeerTubeTemplateDirective,
df8340b7 163 VideoDurationPipe,
693263e9
C
164
165 ActionDropdownComponent,
0cd4344f 166 MarkdownTextareaComponent,
8a8e02a4 167 InfiniteScrollerDirective,
2fbe7f19 168 TextareaAutoResizeDirective,
40e87e9e 169 HelpComponent,
24e7916c 170 ListOverflowComponent,
f0a39880 171
0f7fedc3 172 ReactiveFileComponent,
22a16e36 173 PeertubeCheckboxComponent,
f0a39880 174 TimestampInputComponent,
3a1fed11 175 InputReadonlyCopyComponent,
f0a39880 176
dd4f25ee 177 AvatarComponent,
41a676db 178 SubscribeButtonComponent,
660d11e9 179 RemoteSubscribeComponent,
e724fa93 180 InstanceFeaturesTableComponent,
3d05209c 181 InstanceStatisticsComponent,
a00045a2 182 FeatureBooleanComponent,
e724fa93 183 UserBanModalComponent,
ddb83e49 184 UserModerationDropdownComponent,
2f1548fd 185 TopMenuDropdownComponent,
457bb213
C
186 UserNotificationsComponent,
187 ConfirmComponent,
e8050208 188 DateToggleComponent,
830b4faf
C
189
190 GlobalIconComponent,
d3217560
RK
191 PreviewUploadComponent,
192
193 MyAccountVideoSettingsComponent,
76314386
RK
194 MyAccountInterfaceSettingsComponent,
195 ActorAvatarInfoComponent
693b1aba
C
196 ],
197
198 exports: [
199 CommonModule,
200 FormsModule,
201 ReactiveFormsModule,
693b1aba 202 RouterModule,
d592e0a9 203 HttpClientModule,
693b1aba 204
63347a0f
C
205 NgbDropdownModule,
206 NgbModalModule,
207 NgbPopoverModule,
45c6bcf3 208 NgbNavModule,
63347a0f 209 NgbTooltipModule,
2f4c784a 210 NgbCollapseModule,
63347a0f 211
3a0fb65c
C
212 ClipboardModule,
213
d592e0a9 214 PrimeSharedModule,
f0a39880 215 InputMaskModule,
693b1aba 216 BytesPipe,
99fdec46 217 KeysPipe,
ccc00cb2 218 MultiSelectModule,
693b1aba 219
9bf9d2a5 220 LoaderComponent,
b28e4e5e 221 SmallLoaderComponent,
830b4faf 222
202f6b6c 223 VideoThumbnailComponent,
b1fa3eba 224 VideoMiniatureComponent,
830b4faf 225 VideoPlaylistMiniatureComponent,
f0a39880 226 VideoAddToPlaylistComponent,
e2f01c47 227 VideoPlaylistElementMiniatureComponent,
693263e9 228 VideosSelectionComponent,
3a0fb65c
C
229 VideoActionsDropdownComponent,
230
231 VideoDownloadComponent,
232 VideoReportComponent,
233 VideoBlacklistComponent,
830b4faf 234
c199c427 235 FeedComponent,
f0a39880 236
74d63469 237 ButtonComponent,
cd83ea1b
C
238 DeleteButtonComponent,
239 EditButtonComponent,
f0a39880 240
eacb25c4 241 ActionDropdownComponent,
66b16caf 242 MarkdownTextareaComponent,
0cd4344f 243 InfiniteScrollerDirective,
2fbe7f19 244 TextareaAutoResizeDirective,
8a8e02a4 245 HelpComponent,
24e7916c 246 ListOverflowComponent,
3a1fed11 247 InputReadonlyCopyComponent,
f0a39880 248
40e87e9e 249 ReactiveFileComponent,
0f7fedc3 250 PeertubeCheckboxComponent,
f0a39880
C
251 TimestampInputComponent,
252
dd4f25ee 253 AvatarComponent,
22a16e36 254 SubscribeButtonComponent,
660d11e9 255 RemoteSubscribeComponent,
41a676db 256 InstanceFeaturesTableComponent,
3d05209c 257 InstanceStatisticsComponent,
e724fa93
C
258 UserBanModalComponent,
259 UserModerationDropdownComponent,
ddb83e49 260 TopMenuDropdownComponent,
2f1548fd 261 UserNotificationsComponent,
457bb213 262 ConfirmComponent,
e8050208 263 DateToggleComponent,
830b4faf 264
457bb213 265 GlobalIconComponent,
7b992a86 266 PreviewUploadComponent,
9bf9d2a5
C
267
268 NumberFormatterPipe,
244e76a5 269 ObjectLengthPipe,
693263e9 270 FromNowPipe,
f409f0c3 271 HighlightPipe,
df8340b7 272 PeerTubeTemplateDirective,
d3217560
RK
273 VideoDurationPipe,
274
275 MyAccountVideoSettingsComponent,
76314386
RK
276 MyAccountInterfaceSettingsComponent,
277 ActorAvatarInfoComponent
693b1aba
C
278 ],
279
280 providers: [
d592e0a9 281 AUTH_INTERCEPTOR_PROVIDER,
693b1aba
C
282 RestExtractor,
283 RestService,
e2a2d6c8 284 VideoAbuseService,
35bf0c83 285 VideoBlacklistService,
74d63469 286 VideoOwnershipService,
202f6b6c 287 UserService,
66b16caf 288 VideoService,
0626e7af 289 AccountService,
989e526a 290 VideoChannelService,
830b4faf 291 VideoPlaylistService,
40e87e9e 292 VideoCaptionService,
26b7305a 293 VideoImportService,
22a16e36 294 UserSubscriptionService,
e309822b 295
d18d6478 296 FormValidatorService,
e309822b
C
297 CustomConfigValidatorsService,
298 LoginValidatorsService,
299 ResetPasswordValidatorsService,
300 UserValidatorsService,
bb152476 301 BatchDomainsValidatorsService,
830b4faf 302 VideoPlaylistValidatorsService,
e309822b
C
303 VideoAbuseValidatorsService,
304 VideoChannelValidatorsService,
305 VideoCommentValidatorsService,
306 VideoValidatorsService,
40e87e9e 307 VideoCaptionsValidatorsService,
26b7305a 308 VideoBlacklistValidatorsService,
2d3741d6 309 OverviewService,
74d63469
GR
310 VideoChangeOwnershipValidatorsService,
311 VideoAcceptOwnershipValidatorsService,
d3e56c0c 312 InstanceValidatorsService,
af5767ff 313 BlocklistService,
80bfd33c 314 UserHistoryService,
d3e56c0c 315 InstanceService,
e309822b 316
1506307f
C
317 MarkdownService,
318 LinkifierService,
319 HtmlRendererService,
320
bbe0f064
C
321 I18nPrimengCalendarService,
322 ScreenService,
d3217560 323 LocalStorageService, SessionStorageService,
bbe0f064 324
2f1548fd
C
325 UserNotificationService,
326
a6dbbf03 327 FollowService,
b764380a 328 RedundancyService,
a6dbbf03 329
989e526a 330 I18n
693b1aba
C
331 ]
332})
333export class SharedModule { }