import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { LoyalityProgramComponent } from './pages/loyality-program/loyality-program.component'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { MainComponent } from './pages/main/main.component'; import { NavbarComponent } from './components/navbar/navbar.component'; import { CardComponent } from './components/card/card.component'; import { InputMaskModule } from 'primeng/inputmask'; import { AuthComponent } from './pages/account/auth/auth.component'; import { ProgressSpinnerModule } from 'primeng/progressspinner'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { AccountComponent } from './pages/account/account.component'; import { ExitComponent } from './components/exit/exit.component'; import { HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { DialogService } from 'primeng/dynamicdialog'; import { BonusProgramComponent } from './pages/account/bonus-program/bonus-program.component'; import { OrderInfoComponent } from './components/order-info/order-info.component'; import { ServiceWorkerModule } from '@angular/service-worker'; import { environment } from '../environments/environment'; import { AngularFireModule } from '@angular/fire/compat'; import { AngularFireMessagingModule } from '@angular/fire/compat/messaging'; import { ToastModule } from 'primeng/toast'; import { MessageService } from 'primeng/api'; import { FooterButtonsComponent } from './components/footer-buttons/footer-buttons.component'; import { UserDataComponent } from './pages/account/user-data/user-data.component'; import { RefSystemComponent } from './pages/account/ref-system/ref-system.component'; import { ShareButtonsModule } from 'ngx-sharebuttons/buttons'; import { ShareIconsModule } from 'ngx-sharebuttons/icons'; import { MessagingService } from './services/messaging.service'; import { NotFoundComponent } from './pages/not-found/not-found.component'; import { MatIconModule } from '@angular/material/icon'; import { GuestCardComponent } from './pages/guest-card/guest-card.component'; import { QrCodeModule } from 'ng-qrcode'; import { AccordionComponent } from './components/accordion/accordion.component'; import { LastOrderComponent } from './components/last-order/last-order.component'; import { InviteFriendsComponent } from './components/invite-friends/invite-friends.component'; import { FooterComponent } from './components/footer/footer.component'; import { SocialMediaButtonsComponent } from './components/social-media-buttons/social-media-buttons.component'; import { LoginComponent } from './pages/login/login.component'; import { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatSnackBarModule } from '@angular/material/snack-bar'; import { MAT_BOTTOM_SHEET_DATA, MatBottomSheetModule, MatBottomSheetRef, } from '@angular/material/bottom-sheet'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { DirectivesModule } from './directives/directives.module'; @NgModule({ declarations: [ AppComponent, NavbarComponent, MainComponent, CardComponent, AuthComponent, AccountComponent, ExitComponent, BonusProgramComponent, OrderInfoComponent, FooterButtonsComponent, UserDataComponent, RefSystemComponent, NotFoundComponent, GuestCardComponent, AccordionComponent, LastOrderComponent, InviteFriendsComponent, FooterComponent, SocialMediaButtonsComponent, LoginComponent, // FocusNextInputDirective, LoyalityProgramComponent, ], imports: [ BrowserModule, AppRoutingModule, InputMaskModule, ProgressSpinnerModule, FormsModule, HttpClientModule, BrowserAnimationsModule, BrowserModule, ServiceWorkerModule.register('/sw-master.js', { enabled: environment.production, // Register the ServiceWorker as soon as the application is stable // or after 30 seconds (whichever comes first). registrationStrategy: 'registerWhenStable:30000', }), AngularFireModule.initializeApp(environment.firebase), AngularFireMessagingModule, ToastModule, ReactiveFormsModule, ShareButtonsModule.withConfig({ debug: true, }), ShareIconsModule, MatIconModule, QrCodeModule, NgxMatIntlTelInputComponent, MatFormFieldModule, MatInputModule, MatSnackBarModule, MatBottomSheetModule, MatProgressSpinnerModule, DirectivesModule, ], providers: [ DialogService, MessageService, MessagingService, { provide: MatBottomSheetRef, useValue: {} }, { provide: MAT_BOTTOM_SHEET_DATA, useValue: {} }, ], bootstrap: [AppComponent], }) export class AppModule {}