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