195 lines
8.7 KiB
TypeScript
195 lines
8.7 KiB
TypeScript
import { NgModule, isDevMode } from '@angular/core'
|
|
import { BrowserModule } from '@angular/platform-browser'
|
|
|
|
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'
|
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms'
|
|
import { MatButtonModule } from '@angular/material/button'
|
|
import { MatCardModule } from '@angular/material/card'
|
|
import { MatDatepickerModule } from '@angular/material/datepicker'
|
|
import { MatDialogModule } from '@angular/material/dialog'
|
|
import { MatIconModule } from '@angular/material/icon'
|
|
import { MatInputModule } from '@angular/material/input'
|
|
import { MatListModule } from '@angular/material/list'
|
|
import { MatTabsModule } from '@angular/material/tabs'
|
|
import { MatToolbarModule } from '@angular/material/toolbar'
|
|
import { MatSidenavModule } from '@angular/material/sidenav'
|
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'
|
|
import { ServiceWorkerModule } from '@angular/service-worker'
|
|
import { AdminViewComponent } from './admin-view/admin-view.component'
|
|
import { AppRoutingModule } from './app-routing.module'
|
|
import { AppViewComponent } from './app-view/app-view.component'
|
|
import { DateSelectorComponent } from './commonComponents/date-selector/date-selector.component'
|
|
import { MenuComponent } from './app-view/menu/menu.component'
|
|
import { NewsComponent } from './app-view/news/news.component'
|
|
import { ChangePasswordDialogComponent } from './app-view/personal/change-password-dialog/change-password-dialog.component'
|
|
import { LogoutConfirmationComponent } from './app-view/personal/logout-confirmation/logout-confirmation.component'
|
|
import { PersonalComponent } from './app-view/personal/personal.component'
|
|
import { AppComponent } from './app.component'
|
|
import { LoginComponent } from './login/login.component'
|
|
import { MenuUploadComponent } from './admin-view/menu-edit/menu-upload/menu-upload.component'
|
|
import { NewsEditComponent } from './admin-view/news-edit/news-edit.component'
|
|
import { MatSnackBarModule } from '@angular/material/snack-bar'
|
|
import { NewPostComponent } from './admin-view/news-edit/new-post/edit-post.component'
|
|
import { AccountMgmtComponent } from './admin-view/account-mgmt/account-mgmt.component'
|
|
import { MatTableModule } from '@angular/material/table'
|
|
import { UserEditComponent } from './admin-view/account-mgmt/user-edit/user-edit.component'
|
|
import { MatPaginatorModule } from '@angular/material/paginator'
|
|
import { UserDeleteComponent } from './admin-view/account-mgmt/user-delete/user-delete.component'
|
|
import { MatSelectModule } from '@angular/material/select'
|
|
import { MenuEditComponent } from './admin-view/menu-edit/menu-edit.component'
|
|
import { FDSelection } from './fd.da'
|
|
import { CeDirective } from './ce.directive'
|
|
import { AllergensComponent } from './app-view/menu/allergens/allergens.component'
|
|
import { MatBottomSheetModule } from '@angular/material/bottom-sheet'
|
|
import { UserResetComponent } from './admin-view/account-mgmt/user-reset/user-reset.component'
|
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle'
|
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'
|
|
import { MatRadioModule } from '@angular/material/radio'
|
|
import { NotificationsComponent } from './admin-view/notifications/notifications.component'
|
|
import { GroupsComponent } from './admin-view/groups/groups.component'
|
|
import { ListEditorComponent } from './commonComponents/list-editor/list-editor.component'
|
|
import { RemoveConfirmComponent } from './admin-view/groups/remove-confirm/remove-confirm.component'
|
|
import { StartComponent } from './app-view/start/start.component'
|
|
import { KeyComponent } from './app-view/personal/key/key.component'
|
|
import { AdminKeyComponent } from './admin-view/key/key.component'
|
|
import { MatChipsModule } from '@angular/material/chips'
|
|
import { NewKeyComponent } from './admin-view/key/new-key/new-key.component'
|
|
import { GradesComponent } from './admin-view/grades/grades.component'
|
|
import { RoomChooserComponent } from './commonComponents/room-chooser/room-chooser.component'
|
|
import { CleanComponent } from './app-view/personal/clean/clean.component'
|
|
import { MatCheckboxModule } from '@angular/material/checkbox'
|
|
import { LabelDirective } from './label.directive'
|
|
import { MatMenuModule } from '@angular/material/menu'
|
|
import { SummaryComponent } from './admin-view/grades/summary/summary.component'
|
|
import { MatSortModule } from '@angular/material/sort'
|
|
import { MatButtonToggleModule } from '@angular/material/button-toggle'
|
|
import { SettingsComponent } from './admin-view/settings/settings.component'
|
|
import { MatExpansionModule } from '@angular/material/expansion'
|
|
import { DragDropModule } from '@angular/cdk/drag-drop'
|
|
import { MatBadgeModule } from '@angular/material/badge'
|
|
import { MenuAddComponent } from './admin-view/menu-edit/menu-add/menu-add.component'
|
|
import { FieldEditorComponent } from './commonComponents/field-editor/field-editor.component'
|
|
import { A11yModule } from '@angular/cdk/a11y'
|
|
import { PortalModule } from '@angular/cdk/portal'
|
|
import { MatAutocompleteModule } from '@angular/material/autocomplete'
|
|
import { AttendenceComponent } from './admin-view/grades/attendence/attendence.component'
|
|
import { AttendenceSummaryComponent } from './admin-view/grades/attendence-summary/attendence-summary.component'
|
|
import { HourDisplayComponent } from './admin-view/grades/attendence-summary/hour-display/hour-display.component'
|
|
import { AboutComponent } from './app-view/personal/about/about.component'
|
|
import { environment } from 'src/environments/environment'
|
|
import { ExtraComponent } from './app-view/personal/extra/extra.component'
|
|
import { RedirectComponent } from './app-view/personal/extra/redirect/redirect.component'
|
|
import { OutboxComponent } from './admin-view/notifications/outbox/outbox.component'
|
|
import { ToolbarComponent } from './admin-view/toolbar/toolbar.component'
|
|
import { MessageComponent } from './admin-view/notifications/outbox/message/message.component'
|
|
import { NotifDialogComponent } from './app-view/notif-dialog/notif-dialog.component'
|
|
import { UserSearchComponent } from './commonComponents/user-search/user-search.component'
|
|
import { StartAdminComponent } from './admin-view/start/start.component'
|
|
import { provideLuxonDateAdapter } from '@angular/material-luxon-adapter';
|
|
import { LoadShadeComponent } from './commonComponents/load-shade/load-shade.component'
|
|
import { GradeColorDirective } from './grade-color.directive'
|
|
|
|
@NgModule({
|
|
declarations: [
|
|
AppComponent,
|
|
NewsComponent,
|
|
MenuComponent,
|
|
LoginComponent,
|
|
AppViewComponent,
|
|
PersonalComponent,
|
|
ChangePasswordDialogComponent,
|
|
LogoutConfirmationComponent,
|
|
DateSelectorComponent,
|
|
AdminViewComponent,
|
|
MenuUploadComponent,
|
|
NewsEditComponent,
|
|
NewPostComponent,
|
|
AccountMgmtComponent,
|
|
UserEditComponent,
|
|
UserDeleteComponent,
|
|
MenuEditComponent,
|
|
CeDirective,
|
|
LabelDirective,
|
|
AllergensComponent,
|
|
UserResetComponent,
|
|
NotificationsComponent,
|
|
GroupsComponent,
|
|
ListEditorComponent,
|
|
RemoveConfirmComponent,
|
|
StartComponent,
|
|
KeyComponent,
|
|
AdminKeyComponent,
|
|
NewKeyComponent,
|
|
GradesComponent,
|
|
RoomChooserComponent,
|
|
CleanComponent,
|
|
SummaryComponent,
|
|
SettingsComponent,
|
|
MenuAddComponent,
|
|
FieldEditorComponent,
|
|
AttendenceComponent,
|
|
AttendenceSummaryComponent,
|
|
HourDisplayComponent,
|
|
AboutComponent,
|
|
ExtraComponent,
|
|
RedirectComponent,
|
|
OutboxComponent,
|
|
ToolbarComponent,
|
|
MessageComponent,
|
|
NotifDialogComponent,
|
|
UserSearchComponent,
|
|
StartAdminComponent,
|
|
LoadShadeComponent,
|
|
GradeColorDirective,
|
|
],
|
|
bootstrap: [AppComponent],
|
|
imports: [
|
|
BrowserModule,
|
|
AppRoutingModule,
|
|
BrowserAnimationsModule,
|
|
MatTabsModule,
|
|
MatCardModule,
|
|
MatButtonModule,
|
|
MatIconModule,
|
|
MatDatepickerModule,
|
|
MatInputModule,
|
|
ReactiveFormsModule,
|
|
FormsModule,
|
|
MatDialogModule,
|
|
MatListModule,
|
|
MatToolbarModule,
|
|
MatSidenavModule,
|
|
MatSnackBarModule,
|
|
MatTableModule,
|
|
MatPaginatorModule,
|
|
MatSelectModule,
|
|
MatBottomSheetModule,
|
|
MatSlideToggleModule,
|
|
MatProgressSpinnerModule,
|
|
MatRadioModule,
|
|
MatChipsModule,
|
|
MatCheckboxModule,
|
|
MatMenuModule,
|
|
MatSortModule,
|
|
MatButtonToggleModule,
|
|
MatExpansionModule,
|
|
DragDropModule,
|
|
MatBadgeModule,
|
|
PortalModule,
|
|
A11yModule,
|
|
MatAutocompleteModule,
|
|
ServiceWorkerModule.register('ngsw-worker.js', {
|
|
enabled: environment.production,
|
|
// Register the ServiceWorker as soon as the application is stable
|
|
// or after 30 seconds (whichever comes first).
|
|
registrationStrategy: 'registerWhenStable:30000',
|
|
}),
|
|
],
|
|
providers: [
|
|
provideLuxonDateAdapter(),
|
|
FDSelection,
|
|
provideHttpClient(withInterceptorsFromDi()),
|
|
],
|
|
})
|
|
export class AppModule {}
|