Merge branch 'master' into develop
[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 import { MarkdownService } from '@app/videos/shared'
10
11 import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
12 import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared'
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   LoginValidatorsService,
38   ReactiveFileComponent,
39   ResetPasswordValidatorsService,
40   UserValidatorsService,
41   VideoAbuseValidatorsService,
42   VideoBlacklistValidatorsService,
43   VideoChannelValidatorsService,
44   VideoCommentValidatorsService,
45   VideoValidatorsService,
46   VideoChangeOwnershipValidatorsService, VideoAcceptOwnershipValidatorsService
47 } from '@app/shared/forms'
48 import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
49 import { ScreenService } from '@app/shared/misc/screen.service'
50 import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
51 import { VideoCaptionService } from '@app/shared/video-caption'
52 import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
53 import { VideoImportService } from '@app/shared/video-import/video-import.service'
54 import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
55 import { NgbDropdownModule, NgbModalModule, NgbPopoverModule, NgbTabsetModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'
56 import { SubscribeButtonComponent, RemoteSubscribeComponent, UserSubscriptionService } from '@app/shared/user-subscription'
57 import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
58 import { OverviewService } from '@app/shared/overview'
59 import { UserBanModalComponent } from '@app/shared/moderation'
60 import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
61 import { BlocklistService } from '@app/shared/blocklist'
62
63 @NgModule({
64   imports: [
65     CommonModule,
66     FormsModule,
67     ReactiveFormsModule,
68     RouterModule,
69     HttpClientModule,
70
71     NgbDropdownModule,
72     NgbModalModule,
73     NgbPopoverModule,
74     NgbTabsetModule,
75     NgbTooltipModule,
76
77     PrimeSharedModule,
78     NgPipesModule
79   ],
80
81   declarations: [
82     LoaderComponent,
83     VideoThumbnailComponent,
84     VideoMiniatureComponent,
85     FeedComponent,
86     ButtonComponent,
87     DeleteButtonComponent,
88     EditButtonComponent,
89     ActionDropdownComponent,
90     NumberFormatterPipe,
91     ObjectLengthPipe,
92     FromNowPipe,
93     MarkdownTextareaComponent,
94     InfiniteScrollerDirective,
95     HelpComponent,
96     ReactiveFileComponent,
97     PeertubeCheckboxComponent,
98     SubscribeButtonComponent,
99     RemoteSubscribeComponent,
100     InstanceFeaturesTableComponent,
101     UserBanModalComponent,
102     UserModerationDropdownComponent
103   ],
104
105   exports: [
106     CommonModule,
107     FormsModule,
108     ReactiveFormsModule,
109     RouterModule,
110     HttpClientModule,
111
112     NgbDropdownModule,
113     NgbModalModule,
114     NgbPopoverModule,
115     NgbTabsetModule,
116     NgbTooltipModule,
117
118     PrimeSharedModule,
119     BytesPipe,
120     KeysPipe,
121
122     LoaderComponent,
123     VideoThumbnailComponent,
124     VideoMiniatureComponent,
125     FeedComponent,
126     ButtonComponent,
127     DeleteButtonComponent,
128     EditButtonComponent,
129     ActionDropdownComponent,
130     MarkdownTextareaComponent,
131     InfiniteScrollerDirective,
132     HelpComponent,
133     ReactiveFileComponent,
134     PeertubeCheckboxComponent,
135     SubscribeButtonComponent,
136     RemoteSubscribeComponent,
137     InstanceFeaturesTableComponent,
138     UserBanModalComponent,
139     UserModerationDropdownComponent,
140
141     NumberFormatterPipe,
142     ObjectLengthPipe,
143     FromNowPipe
144   ],
145
146   providers: [
147     AUTH_INTERCEPTOR_PROVIDER,
148     RestExtractor,
149     RestService,
150     VideoAbuseService,
151     VideoBlacklistService,
152     VideoOwnershipService,
153     UserService,
154     VideoService,
155     AccountService,
156     MarkdownService,
157     VideoChannelService,
158     VideoCaptionService,
159     VideoImportService,
160     UserSubscriptionService,
161
162     FormValidatorService,
163     CustomConfigValidatorsService,
164     LoginValidatorsService,
165     ResetPasswordValidatorsService,
166     UserValidatorsService,
167     VideoAbuseValidatorsService,
168     VideoChannelValidatorsService,
169     VideoCommentValidatorsService,
170     VideoValidatorsService,
171     VideoCaptionsValidatorsService,
172     VideoBlacklistValidatorsService,
173     OverviewService,
174     VideoChangeOwnershipValidatorsService,
175     VideoAcceptOwnershipValidatorsService,
176     BlocklistService,
177
178     I18nPrimengCalendarService,
179     ScreenService,
180
181     I18n
182   ]
183 })
184 export class SharedModule { }