9647a7966288f86d6f4147217055e45d2bf2b1d1
[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 { VideoFeedComponent } from './video/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
62 @NgModule({
63   imports: [
64     CommonModule,
65     FormsModule,
66     ReactiveFormsModule,
67     RouterModule,
68     HttpClientModule,
69
70     NgbDropdownModule,
71     NgbModalModule,
72     NgbPopoverModule,
73     NgbTabsetModule,
74     NgbTooltipModule,
75
76     PrimeSharedModule,
77     NgPipesModule
78   ],
79
80   declarations: [
81     LoaderComponent,
82     VideoThumbnailComponent,
83     VideoMiniatureComponent,
84     VideoFeedComponent,
85     ButtonComponent,
86     DeleteButtonComponent,
87     EditButtonComponent,
88     ActionDropdownComponent,
89     NumberFormatterPipe,
90     ObjectLengthPipe,
91     FromNowPipe,
92     MarkdownTextareaComponent,
93     InfiniteScrollerDirective,
94     HelpComponent,
95     ReactiveFileComponent,
96     PeertubeCheckboxComponent,
97     SubscribeButtonComponent,
98     RemoteSubscribeComponent,
99     InstanceFeaturesTableComponent,
100     UserBanModalComponent,
101     UserModerationDropdownComponent
102   ],
103
104   exports: [
105     CommonModule,
106     FormsModule,
107     ReactiveFormsModule,
108     RouterModule,
109     HttpClientModule,
110
111     NgbDropdownModule,
112     NgbModalModule,
113     NgbPopoverModule,
114     NgbTabsetModule,
115     NgbTooltipModule,
116
117     PrimeSharedModule,
118     BytesPipe,
119     KeysPipe,
120
121     LoaderComponent,
122     VideoThumbnailComponent,
123     VideoMiniatureComponent,
124     VideoFeedComponent,
125     ButtonComponent,
126     DeleteButtonComponent,
127     EditButtonComponent,
128     ActionDropdownComponent,
129     MarkdownTextareaComponent,
130     InfiniteScrollerDirective,
131     HelpComponent,
132     ReactiveFileComponent,
133     PeertubeCheckboxComponent,
134     SubscribeButtonComponent,
135     RemoteSubscribeComponent,
136     InstanceFeaturesTableComponent,
137     UserBanModalComponent,
138     UserModerationDropdownComponent,
139
140     NumberFormatterPipe,
141     ObjectLengthPipe,
142     FromNowPipe
143   ],
144
145   providers: [
146     AUTH_INTERCEPTOR_PROVIDER,
147     RestExtractor,
148     RestService,
149     VideoAbuseService,
150     VideoBlacklistService,
151     VideoOwnershipService,
152     UserService,
153     VideoService,
154     AccountService,
155     MarkdownService,
156     VideoChannelService,
157     VideoCaptionService,
158     VideoImportService,
159     UserSubscriptionService,
160
161     FormValidatorService,
162     CustomConfigValidatorsService,
163     LoginValidatorsService,
164     ResetPasswordValidatorsService,
165     UserValidatorsService,
166     VideoAbuseValidatorsService,
167     VideoChannelValidatorsService,
168     VideoCommentValidatorsService,
169     VideoValidatorsService,
170     VideoCaptionsValidatorsService,
171     VideoBlacklistValidatorsService,
172     OverviewService,
173     VideoChangeOwnershipValidatorsService,
174     VideoAcceptOwnershipValidatorsService,
175
176     I18nPrimengCalendarService,
177     ScreenService,
178
179     I18n
180   ]
181 })
182 export class SharedModule { }