2019-11-07 18:02:26 +00:00
import { BrowserAnimationsModule } from '@angular/platform-browser/animations' ;
2022-02-10 22:16:36 +00:00
import { BrowserModule , Title } from '@angular/platform-browser' ;
import { FormsModule } from '@angular/forms' ;
2024-04-14 17:14:22 +00:00
import { HttpBackend , HttpClientModule } from '@angular/common/http' ;
2018-08-07 11:51:51 +00:00
import { NgModule } from '@angular/core' ;
2021-01-03 18:05:10 +00:00
import { MatButtonModule } from '@angular/material/button' ;
import { MatButtonToggleModule } from '@angular/material/button-toggle' ;
import { MatDialogModule } from '@angular/material/dialog' ;
import { MatCardModule } from '@angular/material/card' ;
import { MatSnackBarModule } from '@angular/material/snack-bar' ;
2020-05-09 07:02:05 +00:00
import { MatFormFieldModule } from '@angular/material/form-field' ;
import { MatGridListModule } from '@angular/material/grid-list' ;
import { MatIconModule } from '@angular/material/icon' ;
2021-01-03 18:05:10 +00:00
import { MatInputModule } from '@angular/material/input' ;
2019-10-06 00:28:36 +00:00
import { MatListModule } from '@angular/material/list' ;
2020-05-09 07:02:05 +00:00
import { MatSelectModule } from '@angular/material/select' ;
2019-10-06 00:28:36 +00:00
import { MatSidenavModule } from '@angular/material/sidenav' ;
2020-05-09 07:02:05 +00:00
import { MatSlideToggleModule } from '@angular/material/slide-toggle' ;
import { MatTabsModule } from '@angular/material/tabs' ;
2019-10-06 00:28:36 +00:00
import { MatToolbarModule } from '@angular/material/toolbar' ;
import { MatTooltipModule } from '@angular/material/tooltip' ;
2022-12-21 16:27:47 +00:00
import { MatBottomSheetModule } from '@angular/material/bottom-sheet' ;
2023-02-09 18:31:24 +00:00
import { MatSliderModule } from '@angular/material/slider' ;
2018-08-19 20:37:53 +00:00
2024-04-11 18:04:54 +00:00
import { TranslateModule , TranslateLoader } from '@ngx-translate/core' ;
2024-04-14 17:14:22 +00:00
import { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader' ;
2024-04-11 18:04:54 +00:00
2018-08-07 11:51:51 +00:00
import { AppComponent } from './app.component' ;
2019-11-07 18:02:26 +00:00
import { PageTitleService } from './page-title.service' ;
2018-08-19 20:37:53 +00:00
import { OpenLPService } from './openlp.service' ;
2022-02-10 22:16:36 +00:00
import { WindowRef } from './window-ref.service' ;
2018-08-19 20:37:53 +00:00
import { AppRoutingModule } from './app.routing' ;
2019-10-06 00:28:36 +00:00
import { ServiceComponent } from './components/service/service.component' ;
import { AlertComponent } from './components/alert/alert.component' ;
import { SearchComponent } from './components/search/search.component' ;
2020-08-27 04:55:11 +00:00
import { SearchOptionsComponent } from './components/search/search-options/search-options.component' ;
2019-10-06 00:28:36 +00:00
import { SlidesComponent } from './components/slides/slides.component' ;
2019-10-08 05:43:49 +00:00
import { ChordViewComponent } from './components/chord-view/chord-view.component' ;
import { StageViewComponent } from './components/stage-view/stage-view.component' ;
2020-07-21 23:26:34 +00:00
import { Nl2BrPipe } from './components/stage-view/nl2br.pipe' ;
2019-10-08 05:43:49 +00:00
import { MainViewComponent } from './components/main-view/main-view.component' ;
import { ChordProPipe } from './components/chord-view/chordpro.pipe' ;
import { LoginComponent } from './components/login/login.component' ;
2020-01-23 20:10:11 +00:00
import { ThemesComponent } from './components/themes/themes.component' ;
2021-09-06 07:11:19 +00:00
import { SlideListComponent } from './components/slides/slide-list/slide-list.component' ;
import { SlideItemComponent } from './components/slides/slide-item/slide-item.component' ;
import { ServiceItemComponent } from './components/service/service-item/service-item.component' ;
import { ServiceListComponent } from './components/service/service-list/service-list.component' ;
2022-12-21 19:51:50 +00:00
import { ChordViewItemComponent } from './components/chord-view/chord-view-item/chord-view-item.component' ;
import { StageViewItemComponent } from './components/stage-view/stage-view-item/stage-view-item.component' ;
2022-12-21 16:27:47 +00:00
import { DisplayModeSelectorComponent } from './components/display-mode-selector/display-mode-selector.component' ;
2023-02-09 18:31:24 +00:00
import { SettingsComponent } from './components/settings/settings.component' ;
import { StageChordPreviewComponent } from './components/settings/stage-chord-preview/stage-chord-preview.component' ;
2019-10-08 05:43:49 +00:00
2024-04-11 18:04:54 +00:00
// AoT requires an exported function for factories
2024-04-14 17:14:22 +00:00
export function HttpLoaderFactory ( httpBackend : HttpBackend ) {
return new MultiTranslateHttpLoader ( httpBackend , [
{ prefix : './assets/i18n/' , optional : true } ,
{ prefix : './assets/' , optional : true } // Workaround for Web API 2.4 or older to prevent HTTP 404 errors while retrieving the en.json file when using Web Remote 0.9.16 or newer.
] ) ;
2024-04-11 18:04:54 +00:00
}
2018-08-07 11:51:51 +00:00
@NgModule ( {
declarations : [
2018-08-19 20:37:53 +00:00
AppComponent ,
2019-10-08 05:43:49 +00:00
ChordViewComponent ,
StageViewComponent ,
2022-12-21 19:51:50 +00:00
StageViewItemComponent ,
ChordViewItemComponent ,
2020-07-21 23:26:34 +00:00
Nl2BrPipe ,
2019-10-08 05:43:49 +00:00
MainViewComponent ,
ChordProPipe ,
LoginComponent ,
2019-10-06 00:28:36 +00:00
ServiceComponent ,
2021-09-06 07:11:19 +00:00
ServiceListComponent ,
ServiceItemComponent ,
2019-10-06 00:28:36 +00:00
AlertComponent ,
SearchComponent ,
2020-08-27 04:55:11 +00:00
SearchOptionsComponent ,
2020-01-23 20:10:11 +00:00
SlidesComponent ,
2021-09-06 07:11:19 +00:00
SlideListComponent ,
SlideItemComponent ,
2022-12-21 16:27:47 +00:00
ThemesComponent ,
2023-02-09 18:31:24 +00:00
DisplayModeSelectorComponent ,
SettingsComponent ,
StageChordPreviewComponent
2018-08-07 11:51:51 +00:00
] ,
imports : [
2018-08-19 20:37:53 +00:00
BrowserModule ,
BrowserAnimationsModule ,
HttpClientModule ,
2020-05-09 07:02:05 +00:00
FormsModule ,
2018-08-19 20:37:53 +00:00
AppRoutingModule ,
2020-05-09 07:02:05 +00:00
MatButtonModule ,
2020-01-23 20:10:11 +00:00
MatButtonToggleModule ,
2020-05-09 07:02:05 +00:00
MatCardModule ,
MatDialogModule ,
2018-08-19 20:37:53 +00:00
MatFormFieldModule ,
2020-05-09 07:02:05 +00:00
MatGridListModule ,
MatIconModule ,
2018-08-20 12:25:52 +00:00
MatInputModule ,
2020-05-09 07:02:05 +00:00
MatListModule ,
MatSelectModule ,
MatSidenavModule ,
2019-10-08 05:43:49 +00:00
MatSlideToggleModule ,
2020-05-09 07:02:05 +00:00
MatSnackBarModule ,
MatTabsModule ,
MatToolbarModule ,
2020-08-27 05:07:14 +00:00
MatTooltipModule ,
2023-02-09 18:31:24 +00:00
MatBottomSheetModule ,
2024-04-11 18:04:54 +00:00
MatSliderModule ,
TranslateModule . forRoot ( {
defaultLanguage : 'en' ,
loader : {
provide : TranslateLoader ,
2024-04-14 17:14:22 +00:00
useFactory : ( HttpLoaderFactory ) ,
deps : [ HttpBackend ]
2024-04-11 18:04:54 +00:00
}
} )
2018-08-19 20:37:53 +00:00
] ,
providers : [
2019-11-07 18:02:26 +00:00
PageTitleService ,
OpenLPService ,
2022-02-10 22:16:36 +00:00
Title ,
WindowRef
2018-08-07 11:51:51 +00:00
] ,
bootstrap : [ AppComponent ]
} )
export class AppModule { }