Little i18n refractoring
[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 { BsDropdownModule } from 'ngx-bootstrap/dropdown'
12 import { ModalModule } from 'ngx-bootstrap/modal'
13 import { PopoverModule } from 'ngx-bootstrap/popover'
14 import { TabsModule } from 'ngx-bootstrap/tabs'
15 import { TooltipModule } from 'ngx-bootstrap/tooltip'
16 import { BytesPipe, KeysPipe, NgPipesModule } from 'ngx-pipes'
17 import { SharedModule as PrimeSharedModule } from 'primeng/components/common/shared'
18
19 import { AUTH_INTERCEPTOR_PROVIDER } from './auth'
20 import { DeleteButtonComponent } from './misc/delete-button.component'
21 import { EditButtonComponent } from './misc/edit-button.component'
22 import { FromNowPipe } from './misc/from-now.pipe'
23 import { LoaderComponent } from './misc/loader.component'
24 import { NumberFormatterPipe } from './misc/number-formatter.pipe'
25 import { ObjectLengthPipe } from './misc/object-length.pipe'
26 import { RestExtractor, RestService } from './rest'
27 import { UserService } from './users'
28 import { VideoAbuseService } from './video-abuse'
29 import { VideoBlacklistService } from './video-blacklist'
30 import { VideoMiniatureComponent } from './video/video-miniature.component'
31 import { VideoFeedComponent } from './video/video-feed.component'
32 import { VideoThumbnailComponent } from './video/video-thumbnail.component'
33 import { VideoService } from './video/video.service'
34 import { AccountService } from '@app/shared/account/account.service'
35 import { VideoChannelService } from '@app/shared/video-channel/video-channel.service'
36 import { I18n } from '@ngx-translate/i18n-polyfill'
37 import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service'
38 import {
39   CustomConfigValidatorsService,
40   LoginValidatorsService,
41   ResetPasswordValidatorsService,
42   UserValidatorsService, VideoAbuseValidatorsService, VideoChannelValidatorsService, VideoCommentValidatorsService, VideoValidatorsService
43 } from '@app/shared/forms'
44
45 @NgModule({
46   imports: [
47     CommonModule,
48     FormsModule,
49     ReactiveFormsModule,
50     RouterModule,
51     HttpClientModule,
52
53     BsDropdownModule.forRoot(),
54     ModalModule.forRoot(),
55     PopoverModule.forRoot(),
56     TabsModule.forRoot(),
57     TooltipModule.forRoot(),
58
59     PrimeSharedModule,
60     NgPipesModule
61   ],
62
63   declarations: [
64     LoaderComponent,
65     VideoThumbnailComponent,
66     VideoMiniatureComponent,
67     VideoFeedComponent,
68     DeleteButtonComponent,
69     EditButtonComponent,
70     NumberFormatterPipe,
71     ObjectLengthPipe,
72     FromNowPipe,
73     MarkdownTextareaComponent,
74     InfiniteScrollerDirective,
75     HelpComponent
76   ],
77
78   exports: [
79     CommonModule,
80     FormsModule,
81     ReactiveFormsModule,
82     RouterModule,
83     HttpClientModule,
84
85     BsDropdownModule,
86     ModalModule,
87     PopoverModule,
88     TabsModule,
89     TooltipModule,
90     PrimeSharedModule,
91     BytesPipe,
92     KeysPipe,
93
94     LoaderComponent,
95     VideoThumbnailComponent,
96     VideoMiniatureComponent,
97     VideoFeedComponent,
98     DeleteButtonComponent,
99     EditButtonComponent,
100     MarkdownTextareaComponent,
101     InfiniteScrollerDirective,
102     HelpComponent,
103
104     NumberFormatterPipe,
105     ObjectLengthPipe,
106     FromNowPipe
107   ],
108
109   providers: [
110     AUTH_INTERCEPTOR_PROVIDER,
111     RestExtractor,
112     RestService,
113     VideoAbuseService,
114     VideoBlacklistService,
115     UserService,
116     VideoService,
117     AccountService,
118     MarkdownService,
119     VideoChannelService,
120
121     FormValidatorService,
122     CustomConfigValidatorsService,
123     LoginValidatorsService,
124     ResetPasswordValidatorsService,
125     UserValidatorsService,
126     VideoAbuseValidatorsService,
127     VideoChannelValidatorsService,
128     VideoCommentValidatorsService,
129     VideoValidatorsService,
130
131     I18n
132   ]
133 })
134 export class SharedModule { }