-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathapp.module.ts
More file actions
354 lines (351 loc) · 15.4 KB
/
app.module.ts
File metadata and controls
354 lines (351 loc) · 15.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
import { NgModule, isDevMode } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { ServiceWorkerModule } from '@angular/service-worker';
import { MtxTooltipModule } from '@ng-matero/extensions/tooltip';
import { PhotoGalleryModule } from '@twogate/ngx-photo-gallery';
import { MatInputModule } from '@angular/material/input';
import { MatButtonModule } from '@angular/material/button';
import { MatSelectModule } from '@angular/material/select';
import { MatRadioModule } from '@angular/material/radio';
import { MatCardModule } from '@angular/material/card';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatSidenavModule } from '@angular/material/sidenav';
import { MatIconModule } from '@angular/material/icon';
import { MatListModule } from '@angular/material/list';
import { MatGridListModule } from '@angular/material/grid-list';
import { MatMenuModule } from '@angular/material/menu';
import { MatTreeModule } from '@angular/material/tree';
import { MatBadgeModule } from '@angular/material/badge';
import { MatTabsModule } from '@angular/material/tabs';
import { MatTooltipModule } from '@angular/material/tooltip';
import { MatExpansionModule } from '@angular/material/expansion';
import { MatTableModule } from '@angular/material/table';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatStepperModule } from '@angular/material/stepper';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { MatChipsModule } from '@angular/material/chips';
import { MatPaginatorModule } from '@angular/material/paginator';
import { AuthGuardService } from './services/auth-guard';
import { ConnectComponent } from './connect/connect';
import { LogoutComponent } from './logout/logout';
import { HomeComponent } from './home/home';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { LayoutModule } from '@angular/cdk/layout';
import { MatProgressBarModule } from '@angular/material/progress-bar';
import { MatDialogModule } from '@angular/material/dialog';
import { AgoPipe } from './shared/ago.pipe';
import { SettingsComponent } from './settings/settings';
import { ProfileComponent } from './profile/profile';
import { ProfileImageComponent } from './shared/profile-image/profile-image';
import { ProfileNameComponent } from './shared/profile-name/profile-name';
import { Bech32Pipe } from './shared/bech32.pipe';
import { DirectoryIconComponent } from './shared/directory-icon/directory-icon';
import { AppUpdateService } from './services/app-update';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { UserComponent } from './user/user';
import { CheckForUpdateService } from './services/check-for-update';
import { NoteDialog } from './shared/create-note-dialog/create-note-dialog';
import { PickerModule } from '@ctrl/ngx-emoji-mart';
import { CirclesComponent } from './circles/circles';
import { PeopleComponent } from './people/people';
import { EventHeaderComponent } from './shared/event-header/event-header';
import { ProfileActionsComponent } from './shared/profile-actions/profile-actions';
import { CircleDialog } from './shared/create-circle-dialog/create-circle-dialog';
import { FollowDialog } from './shared/create-follow-dialog/create-follow-dialog';
import { FeedPrivateComponent } from './feed-private/feed-private';
import { FeedPublicComponent } from './feed-public/feed-public';
import { NotesComponent } from './notes/notes';
import { NgxColorsModule } from 'ngx-colors';
import { NoteComponent } from './note/note';
import { CircleStylePipe } from './shared/circle-style';
import { ReplyListComponent } from './shared/reply-list/reply-list';
import { ContentComponent } from './shared/content/content';
import { InfiniteScrollDirective } from './shared/scroll.directive';
import { ImportFollowDialog } from './people/import-follow-dialog/import-follow-dialog';
import { ProfileHeaderComponent } from './shared/profile-header/profile-header';
import { ProfileImageDialog } from './shared/profile-image-dialog/profile-image-dialog';
import { HttpClientModule } from '@angular/common/http';
import { EventActionsComponent } from './shared/event-actions/event-actions';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { ChatComponent } from './chat/chat';
import { FeedComponent } from './feed/feed';
import { WithStatusPipe } from './shared/loading.pipe';
import { EventThreadComponent } from './shared/event-thread/event-thread';
import { EventReactionsComponent } from './shared/event-reactions/event-reactions';
import { NgxLoadingButtonsModule } from 'ngx-loading-buttons';
import { ContentPhotosComponent } from './shared/content-photos/content-photos';
import { NgxMatDatetimePickerModule, NgxMatNativeDateModule, NgxMatTimepickerModule } from '@angular-material-components/datetime-picker';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { FollowingComponent } from './following/following';
import { FollowersComponent } from './followers/followers';
import { ProfileWidgetComponent } from './shared/profile-widget/profile-widget';
import { EventButtonsComponent } from './shared/event-buttons/event-buttons';
import { UserItemComponent } from './shared/user-item/user-item.component';
import { UserProfileComponent } from './shared/user-profile/user-profile.component';
import { UserListComponent } from './shared/user-list/user-list.component';
import { ChatDetailComponent } from './shared/chat-detail/chat-detail.component';
import { ChatItemComponent } from './shared/chat-item/chat-item.component';
import { ChatListComponent } from './shared/chat-list/chat-list.component';
import { MessageBubbleComponent } from './shared/message-bubble/message-bubble.component';
import { ChatService } from './services/chat.service';
import { UserService } from './services/user.service';
import { StatusComponent } from './shared/status/status.component';
import { ContentMusicComponent } from './shared/content-music/content-music';
import { MediaPlayerComponent } from './shared/media-player/media-player';
import { DateComponent } from './shared/date/date';
import { ContentPodcastComponent } from './shared/content-podcast/content-podcast';
import { MatSliderModule } from '@angular/material/slider';
import { TimePipe } from './shared/time.pipe';
import { QueueComponent } from './queue/queue';
import { MessagesComponent } from './messages/messages';
import { MessageComponent } from './message/message';
import { DevelopmentComponent } from './development/development';
import { RelayComponent } from './shared/relay/relay';
import { RelaysComponent } from './shared/relays/relays';
import { LabelsComponent } from './shared/labels/labels';
import { EventComponent } from './shared/event/event';
import { NotificationsComponent } from './notifications/notifications';
import { NotificationLabelComponent } from './shared/notification-label/notification-label';
import { RelayListComponent } from './shared/relay-list/relay-list';
import { AddRelayDialog } from './shared/add-relay-dialog/add-relay-dialog';
import { AddMediaDialog } from './queue/add-media-dialog/add-media-dialog';
import { ConnectKeyComponent } from './connect/key/key';
import { PasswordDialog } from './shared/password-dialog/password-dialog';
import { UsernamePipe } from './shared/username';
import { ScrollingModule } from '@angular/cdk/scrolling';
import { EditorComponent } from './editor/editor';
import { MatButtonToggleModule } from '@angular/material/button-toggle';
import { ArticleComponent } from './article/article';
import { LabelPipe } from './shared/label.pipe';
import { LabelComponent } from './shared/label/label';
import { RelaysManagementComponent } from './relays/relays';
import { BadgesComponent } from './badges/badges';
import { LoginComponent } from './connect/login/login';
import { ConsentDialog } from './connect/consent-dialog/consent-dialog';
import { CreateProfileComponent } from './connect/create/create';
import { ClipboardModule } from '@angular/cdk/clipboard';
import { QrScanDialog } from './connect/key/qr-scan-dialog/qr-scan';
import { ContentEditorDirective } from './shared/content-input-directive/content-input.directive';
import { ContentInputHeightDirective } from './shared/content-input-directive/content-input-height.directive';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { HttpClient } from '@angular/common/http';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { LoggerModule } from '@blockcore/ngx-logger';
import { NgxLoggerLevel, TOKEN_LOGGER_WRITER_SERVICE } from '@blockcore/ngx-logger';
import { LogWriterService } from './services/log-writer';
// required for AOT compilation
export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
return new TranslateHttpLoader(http);
}
import { ZapDialogComponent } from './shared/zap-dialog/zap-dialog.component';
import { QRCodeModule } from 'angularx-qrcode';
import { ZapQrCodeComponent } from './shared/zap-qr-code/zap-qr-code.component';
import { EditorBadgesComponent } from './editor-badges/editor';
import { BadgeCardComponent } from './shared/badge-card/badge-card';
import { TagsComponent } from './shared/tags/tags';
import { BadgeComponent } from './badge/badge';
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
import { DragScrollModule } from 'ngx-drag-scroll';
import { ZappersListDialogComponent } from './shared/zappers-list-dialog/zappers-list-dialog.component';
import { Nip76MainComponent } from './nip76/nip76-main/nip76-main.component';
import { AddChannelDialog } from './nip76/nip76-add-channel-dialog/add-channel-dialog.component';
import { Nip76EventButtonsComponent } from './nip76/nip76-event-buttons/nip76-event-buttons.component';
import { Nip76EventThreadComponent } from './nip76/nip76-event-thread/nip76-event-thread.component';
import { Nip76ContentComponent } from './nip76/nip76-content/nip76-event-content.component';
import { Nip76AddInvitationComponent } from './nip76/nip76-add-invitation/nip76-add-invitation.component';
import { Nip76DiagnosticsComponent } from './nip76/nip76-diagnostics/nip76-diagnostics.component';
import { Nip76ChannelHeaderComponent } from './nip76/nip76-channel/nip76-channel.component';
import { Nip76ChannelNotesComponent } from './nip76/nip76-channel-notes/nip76-channel-notes.component';
import { Nip76RsvpsSentComponent } from './nip76/nip76-rsvps-sent/nip76-rsvps-sent.component';
import { Nip76DemoService } from './nip76/demo-only/nip76-demo.service';
import { Nip76DemoStarterComponent, Nip76DemoCreateComponent, Nip76DemoKeyComponent } from './nip76/demo-only/nip76-demo-starter/nip76-demo-starter.component';
@NgModule({
declarations: [
AppComponent,
ProfileImageComponent,
DirectoryIconComponent,
ProfileNameComponent,
ProfileComponent,
ConnectComponent,
LogoutComponent,
HomeComponent,
AgoPipe,
Bech32Pipe,
CircleStylePipe,
WithStatusPipe,
FollowDialog,
SettingsComponent,
UserComponent,
NoteDialog,
CircleDialog,
CirclesComponent,
PeopleComponent,
EventHeaderComponent,
ProfileActionsComponent,
FeedPrivateComponent,
FeedPublicComponent,
NotesComponent,
NoteComponent,
ReplyListComponent,
ContentComponent,
InfiniteScrollDirective,
ImportFollowDialog,
ProfileHeaderComponent,
AddRelayDialog,
ProfileImageDialog,
EventActionsComponent,
ChatComponent,
FeedComponent,
EventThreadComponent,
EventReactionsComponent,
ContentPhotosComponent,
FollowingComponent,
FollowersComponent,
ProfileWidgetComponent,
EventButtonsComponent,
UserItemComponent,
UserProfileComponent,
UserListComponent,
ChatDetailComponent,
ChatItemComponent,
ChatListComponent,
MessageBubbleComponent,
StatusComponent,
ContentMusicComponent,
MediaPlayerComponent,
DateComponent,
ContentPodcastComponent,
TimePipe,
QueueComponent,
MessagesComponent,
MessageComponent,
DevelopmentComponent,
RelayComponent,
RelaysComponent,
LabelsComponent,
EventComponent,
NotificationsComponent,
NotificationLabelComponent,
RelayListComponent,
AddMediaDialog,
ConnectKeyComponent,
PasswordDialog,
UsernamePipe,
EditorComponent,
ArticleComponent,
LabelComponent,
LabelPipe,
RelaysManagementComponent,
BadgesComponent,
LoginComponent,
ConsentDialog,
CreateProfileComponent,
QrScanDialog,
ContentEditorDirective,
ContentInputHeightDirective,
ZapQrCodeComponent,
ZapDialogComponent,
EditorBadgesComponent,
BadgeCardComponent,
TagsComponent,
BadgeComponent,
ZappersListDialogComponent,
Nip76MainComponent,
AddChannelDialog,
Nip76EventButtonsComponent,
Nip76EventThreadComponent,
Nip76ContentComponent,
Nip76AddInvitationComponent,
Nip76DiagnosticsComponent,
Nip76ChannelHeaderComponent,
Nip76ChannelNotesComponent,
Nip76RsvpsSentComponent,
Nip76DemoKeyComponent,
Nip76DemoCreateComponent,
Nip76DemoStarterComponent
],
imports: [
HttpClientModule,
BrowserModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient],
},
}),
LoggerModule.forRoot(
{ level: NgxLoggerLevel.INFO, enableSourceMaps: true, serverLogLevel: NgxLoggerLevel.OFF }, // Don't send logs anywhere!
{
writerProvider: {
provide: TOKEN_LOGGER_WRITER_SERVICE,
useClass: LogWriterService,
},
}
),
AppRoutingModule,
BrowserAnimationsModule,
MatCheckboxModule,
MatInputModule,
MatButtonModule,
MatSelectModule,
MatRadioModule,
MatCardModule,
MatToolbarModule,
MatSidenavModule,
MatIconModule,
MatListModule,
MatGridListModule,
MatMenuModule,
MatTreeModule,
MatBadgeModule,
MatTabsModule,
MatTooltipModule,
MtxTooltipModule,
MatExpansionModule,
MatTableModule,
MatStepperModule,
MatProgressSpinnerModule,
MatChipsModule,
MatPaginatorModule,
MatSlideToggleModule,
MatAutocompleteModule,
PickerModule,
FormsModule,
ReactiveFormsModule,
LayoutModule,
MatBottomSheetModule,
NgxLoadingButtonsModule,
MatSliderModule,
MatSnackBarModule,
MatProgressBarModule,
MatDialogModule,
MatDatepickerModule,
MatButtonToggleModule,
ScrollingModule,
PhotoGalleryModule,
ClipboardModule,
NgxMatDatetimePickerModule,
NgxMatNativeDateModule,
NgxMatTimepickerModule,
NgxColorsModule,
QRCodeModule,
DragScrollModule,
ServiceWorkerModule.register('ngsw-worker.js', {
enabled: !isDevMode(),
// enabled: true,
// Register the ServiceWorker as soon as the application is stable
// or after 30 seconds (whichever comes first).
registrationStrategy: 'registerWhenStable:30000',
}),
],
exports: [],
providers: [{ provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'outline' } }, AuthGuardService, AppUpdateService, CheckForUpdateService, ChatService, UserService, Nip76DemoService],
bootstrap: [AppComponent],
})
export class AppModule {}