]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/shared.module.ts
384f5d72218be62214e82b0e3d7ba94cccff2f39
[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 { FromNowPipe } from './misc/from-now.pipe'
18 import { LoaderComponent } from './misc/loader.component'
19 import { NumberFormatterPipe } from './misc/number-formatter.pipe'
20 import { ObjectLengthPipe } from './misc/object-length.pipe'
21 import { RestExtractor, RestService } from './rest'
22 import { UserService } from './users'
23 import { VideoAbuseService } from './video-abuse'
24 import { VideoBlacklistService } from './video-blacklist'
25 import { VideoOwnershipService } from './video-ownership'
26 import { VideoMiniatureComponent } from './video/video-miniature.component'
27 import { FeedComponent } from './video/feed.component'
28 import { VideoThumbnailComponent } from './video/video-thumbnail.component'
29 import { VideoService } from './video/video.service'
30 import { AccountService } from '@app/shared/account/account.service'
31 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
32 import { I18n } from '@ngx-translate/i18n-polyfill'
33 import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
34 import {
35 CustomConfigValidatorsService,
36 InstanceValidatorsService,
37 LoginValidatorsService,
38 ReactiveFileComponent,
39 ResetPasswordValidatorsService,
40 TextareaAutoResizeDirective,
41 UserValidatorsService,
42 VideoAbuseValidatorsService,
43 VideoAcceptOwnershipValidatorsService,
44 VideoBlacklistValidatorsService,
45 VideoChangeOwnershipValidatorsService,
46 VideoChannelValidatorsService,
47 VideoCommentValidatorsService,
48 VideoValidatorsService
49 } from '@app/shared/forms'
50 import { I18nPrimengCalendarService } from '@app/shared/i18n/i18n-primeng-calendar'
51 import { ScreenService } from '@app/shared/misc/screen.service'
52 import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service'
53 import { VideoCaptionService } from '@app/shared/video-caption'
54 import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component'
55 import { VideoImportService } from '@app/shared/video-import/video-import.service'
56 import { ActionDropdownComponent } from '@app/shared/buttons/action-dropdown.component'
57 import { NgbDropdownModule, NgbModalModule, NgbPopoverModule, NgbTabsetModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'
58 import { RemoteSubscribeComponent, SubscribeButtonComponent, UserSubscriptionService } from '@app/shared/user-subscription'
59 import { InstanceFeaturesTableComponent } from '@app/shared/instance/instance-features-table.component'
60 import { OverviewService } from '@app/shared/overview'
61 import { UserBanModalComponent } from '@app/shared/moderation'
62 import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component'
63 import { BlocklistService } from '@app/shared/blocklist'
64 import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component'
65 import { UserHistoryService } from '@app/shared/users/user-history.service'
66 import { UserNotificationService } from '@app/shared/users/user-notification.service'
67 import { UserNotificationsComponent } from '@app/shared/users/user-notifications.component'
68 import { InstanceService } from '@app/shared/instance/instance.service'
69 import { HtmlRendererService, LinkifierService, MarkdownService } from '@app/shared/renderer'
70
71 @NgModule({
72 imports: [
73 CommonModule,
74 FormsModule,
75 ReactiveFormsModule,
76 RouterModule,
77 HttpClientModule,
78
79 NgbDropdownModule,
80 NgbModalModule,
81 NgbPopoverModule,
82 NgbTabsetModule,
83 NgbTooltipModule,
84
85 PrimeSharedModule,
86 NgPipesModule
87 ],
88
89 declarations: [
90 LoaderComponent,
91 VideoThumbnailComponent,
92 VideoMiniatureComponent,
93 FeedComponent,
94 ButtonComponent,
95 DeleteButtonComponent,
96 EditButtonComponent,
97 ActionDropdownComponent,
98 NumberFormatterPipe,
99 ObjectLengthPipe,
100 FromNowPipe,
101 MarkdownTextareaComponent,
102 InfiniteScrollerDirective,
103 TextareaAutoResizeDirective,
104 HelpComponent,
105 ReactiveFileComponent,
106 PeertubeCheckboxComponent,
107 SubscribeButtonComponent,
108 RemoteSubscribeComponent,
109 InstanceFeaturesTableComponent,
110 UserBanModalComponent,
111 UserModerationDropdownComponent,
112 TopMenuDropdownComponent,
113 UserNotificationsComponent
114 ],
115
116 exports: [
117 CommonModule,
118 FormsModule,
119 ReactiveFormsModule,
120 RouterModule,
121 HttpClientModule,
122
123 NgbDropdownModule,
124 NgbModalModule,
125 NgbPopoverModule,
126 NgbTabsetModule,
127 NgbTooltipModule,
128
129 PrimeSharedModule,
130 BytesPipe,
131 KeysPipe,
132
133 LoaderComponent,
134 VideoThumbnailComponent,
135 VideoMiniatureComponent,
136 FeedComponent,
137 ButtonComponent,
138 DeleteButtonComponent,
139 EditButtonComponent,
140 ActionDropdownComponent,
141 MarkdownTextareaComponent,
142 InfiniteScrollerDirective,
143 TextareaAutoResizeDirective,
144 HelpComponent,
145 ReactiveFileComponent,
146 PeertubeCheckboxComponent,
147 SubscribeButtonComponent,
148 RemoteSubscribeComponent,
149 InstanceFeaturesTableComponent,
150 UserBanModalComponent,
151 UserModerationDropdownComponent,
152 TopMenuDropdownComponent,
153 UserNotificationsComponent,
154
155 NumberFormatterPipe,
156 ObjectLengthPipe,
157 FromNowPipe
158 ],
159
160 providers: [
161 AUTH_INTERCEPTOR_PROVIDER,
162 RestExtractor,
163 RestService,
164 VideoAbuseService,
165 VideoBlacklistService,
166 VideoOwnershipService,
167 UserService,
168 VideoService,
169 AccountService,
170 VideoChannelService,
171 VideoCaptionService,
172 VideoImportService,
173 UserSubscriptionService,
174
175 FormValidatorService,
176 CustomConfigValidatorsService,
177 LoginValidatorsService,
178 ResetPasswordValidatorsService,
179 UserValidatorsService,
180 VideoAbuseValidatorsService,
181 VideoChannelValidatorsService,
182 VideoCommentValidatorsService,
183 VideoValidatorsService,
184 VideoCaptionsValidatorsService,
185 VideoBlacklistValidatorsService,
186 OverviewService,
187 VideoChangeOwnershipValidatorsService,
188 VideoAcceptOwnershipValidatorsService,
189 InstanceValidatorsService,
190 BlocklistService,
191 UserHistoryService,
192 InstanceService,
193
194 MarkdownService,
195 LinkifierService,
196 HtmlRendererService,
197
198 I18nPrimengCalendarService,
199 ScreenService,
200
201 UserNotificationService,
202
203 I18n
204 ]
205 })
206 export class SharedModule { }