74730e2aa5f95f248c28752d4d90209c2028559b
[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
35 @NgModule({
36   imports: [
37     CommonModule,
38     FormsModule,
39     ReactiveFormsModule,
40     RouterModule,
41     HttpClientModule,
42
43     BsDropdownModule.forRoot(),
44     ModalModule.forRoot(),
45     PopoverModule.forRoot(),
46     TabsModule.forRoot(),
47     TooltipModule.forRoot(),
48
49     PrimeSharedModule,
50     NgPipesModule
51   ],
52
53   declarations: [
54     LoaderComponent,
55     VideoThumbnailComponent,
56     VideoMiniatureComponent,
57     VideoFeedComponent,
58     DeleteButtonComponent,
59     EditButtonComponent,
60     NumberFormatterPipe,
61     ObjectLengthPipe,
62     FromNowPipe,
63     MarkdownTextareaComponent,
64     InfiniteScrollerDirective,
65     HelpComponent
66   ],
67
68   exports: [
69     CommonModule,
70     FormsModule,
71     ReactiveFormsModule,
72     RouterModule,
73     HttpClientModule,
74
75     BsDropdownModule,
76     ModalModule,
77     PopoverModule,
78     TabsModule,
79     TooltipModule,
80     PrimeSharedModule,
81     BytesPipe,
82     KeysPipe,
83
84     LoaderComponent,
85     VideoThumbnailComponent,
86     VideoMiniatureComponent,
87     VideoFeedComponent,
88     DeleteButtonComponent,
89     EditButtonComponent,
90     MarkdownTextareaComponent,
91     InfiniteScrollerDirective,
92     HelpComponent,
93
94     NumberFormatterPipe,
95     ObjectLengthPipe,
96     FromNowPipe
97   ],
98
99   providers: [
100     AUTH_INTERCEPTOR_PROVIDER,
101     RestExtractor,
102     RestService,
103     VideoAbuseService,
104     VideoBlacklistService,
105     UserService,
106     VideoService,
107     MarkdownService
108   ]
109 })
110 export class SharedModule { }