diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 772b33e..b5f5332 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -6,9 +6,8 @@ describe('AppComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - imports: [RouterTestingModule], - declarations: [AppComponent], - }).compileComponents(); + imports: [RouterTestingModule, AppComponent], +}).compileComponents(); }), ); diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 6e678dd..0e51f4a 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -2,6 +2,8 @@ import {ChangeDetectionStrategy, Component, OnInit} from '@angular/core'; import {fader} from './animations'; import {ScrollService} from './services/scroll.service'; import {register} from 'swiper/element/bundle'; +import {RouterOutlet} from '@angular/router'; +import {NavigationComponent} from './widget-modules/components/application-frame/navigation/navigation.component'; @Component({ selector: 'app-root', @@ -9,7 +11,7 @@ import {register} from 'swiper/element/bundle'; styleUrls: ['./app.component.less'], animations: [fader], changeDetection: ChangeDetectionStrategy.OnPush, - standalone: false, + imports: [RouterOutlet, NavigationComponent], }) export class AppComponent implements OnInit { public constructor(private scrollService: ScrollService) { diff --git a/src/app/app.module.ts b/src/app/app.module.ts deleted file mode 100644 index 10bc9a7..0000000 --- a/src/app/app.module.ts +++ /dev/null @@ -1,44 +0,0 @@ -import {BrowserModule} from '@angular/platform-browser'; -import {NgModule} from '@angular/core'; - -import {AppRoutingModule} from './app-routing.module'; -import {AppComponent} from './app.component'; -import {ServiceWorkerModule} from '@angular/service-worker'; -import {environment} from '../environments/environment'; -import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; -import {ApplicationFrameModule} from './widget-modules/components/application-frame/application-frame.module'; -import {AngularFireModule} from '@angular/fire/compat'; -import {AngularFirestoreModule} from '@angular/fire/compat/firestore'; -import {AngularFireStorageModule} from '@angular/fire/compat/storage'; -import {AngularFireDatabaseModule} from '@angular/fire/compat/database'; -import {AngularFireAuthModule} from '@angular/fire/compat/auth'; -import {AngularFireAuthGuardModule} from '@angular/fire/compat/auth-guard'; -import {MAT_DATE_LOCALE} from '@angular/material/core'; -import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; - -@NgModule({ - declarations: [AppComponent], - imports: [ - BrowserModule, - BrowserAnimationsModule, - AppRoutingModule, - ServiceWorkerModule.register('ngsw-worker.js', { - enabled: environment.production, - }), - BrowserAnimationsModule, - - ApplicationFrameModule, - - AngularFireModule.initializeApp(environment.firebase), - AngularFirestoreModule.enablePersistence({synchronizeTabs: true}), - AngularFireStorageModule, - AngularFireDatabaseModule, - AngularFireAuthModule, - AngularFireAuthGuardModule, - FontAwesomeModule, - ], - providers: [{provide: MAT_DATE_LOCALE, useValue: 'de-DE'}], - bootstrap: [AppComponent], -}) -export class AppModule { -} diff --git a/src/app/modules/brand/brand.component.spec.ts b/src/app/modules/brand/brand.component.spec.ts index 1514bd4..f765998 100644 --- a/src/app/modules/brand/brand.component.spec.ts +++ b/src/app/modules/brand/brand.component.spec.ts @@ -9,8 +9,8 @@ describe('BrandComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [BrandComponent], - }).compileComponents(); + imports: [BrandComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/brand/brand.component.ts b/src/app/modules/brand/brand.component.ts index 7764fed..4ae67ea 100644 --- a/src/app/modules/brand/brand.component.ts +++ b/src/app/modules/brand/brand.component.ts @@ -1,10 +1,11 @@ import {Component} from '@angular/core'; +import { LogoComponent } from '../../widget-modules/components/logo/logo.component'; @Component({ - selector: 'app-brand', - templateUrl: './brand.component.html', - styleUrls: ['./brand.component.less'], - standalone: false, + selector: 'app-brand', + templateUrl: './brand.component.html', + styleUrls: ['./brand.component.less'], + imports: [LogoComponent], }) export class BrandComponent { } diff --git a/src/app/modules/brand/brand.module.ts b/src/app/modules/brand/brand.module.ts index 72c0864..0fb064e 100644 --- a/src/app/modules/brand/brand.module.ts +++ b/src/app/modules/brand/brand.module.ts @@ -2,7 +2,7 @@ import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {BrandComponent} from './brand.component'; import {RouterModule, Routes} from '@angular/router'; -import {LogoModule} from '../../widget-modules/components/logo/logo.module'; + import {NewUserComponent} from './new-user/new-user.component'; const routes: Routes = [ @@ -18,8 +18,7 @@ const routes: Routes = [ ]; @NgModule({ - declarations: [BrandComponent, NewUserComponent], - imports: [CommonModule, RouterModule.forChild(routes), LogoModule], + imports: [CommonModule, RouterModule.forChild(routes), BrandComponent, NewUserComponent], }) export class BrandModule { } diff --git a/src/app/modules/brand/new-user/new-user.component.spec.ts b/src/app/modules/brand/new-user/new-user.component.spec.ts index 5da84d3..f1e8a8c 100644 --- a/src/app/modules/brand/new-user/new-user.component.spec.ts +++ b/src/app/modules/brand/new-user/new-user.component.spec.ts @@ -9,8 +9,8 @@ describe('NewUserComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [NewUserComponent], - }).compileComponents(); + imports: [NewUserComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/brand/new-user/new-user.component.ts b/src/app/modules/brand/new-user/new-user.component.ts index 7711ecd..95b02d7 100644 --- a/src/app/modules/brand/new-user/new-user.component.ts +++ b/src/app/modules/brand/new-user/new-user.component.ts @@ -2,12 +2,18 @@ import {Component} from '@angular/core'; import {UserService} from '../../../services/user/user.service'; import {Observable} from 'rxjs'; import {User} from '../../../services/user/user'; +import { BrandComponent } from '../brand.component'; +import { NgIf, AsyncPipe } from '@angular/common'; @Component({ - selector: 'app-new-user', - templateUrl: './new-user.component.html', - styleUrls: ['./new-user.component.less'], - standalone: false, + selector: 'app-new-user', + templateUrl: './new-user.component.html', + styleUrls: ['./new-user.component.less'], + imports: [ + BrandComponent, + NgIf, + AsyncPipe, + ], }) export class NewUserComponent { public user$: Observable | null = null; diff --git a/src/app/modules/guest/guest.component.spec.ts b/src/app/modules/guest/guest.component.spec.ts index 5b2386d..4a2a784 100644 --- a/src/app/modules/guest/guest.component.spec.ts +++ b/src/app/modules/guest/guest.component.spec.ts @@ -9,8 +9,8 @@ describe('GuestComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [GuestComponent], - }).compileComponents(); + imports: [GuestComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/guest/guest.component.ts b/src/app/modules/guest/guest.component.ts index ac969ef..743dedf 100644 --- a/src/app/modules/guest/guest.component.ts +++ b/src/app/modules/guest/guest.component.ts @@ -4,12 +4,22 @@ import {ActivatedRoute} from '@angular/router'; import {map, switchMap} from 'rxjs/operators'; import {Song} from '../songs/services/song'; import {ConfigService} from '../../services/config.service'; +import { NgIf, NgFor, AsyncPipe, DatePipe } from '@angular/common'; +import { SongTextComponent } from '../../widget-modules/components/song-text/song-text.component'; +import { ShowTypePipe } from '../../widget-modules/pipes/show-type-translater/show-type.pipe'; @Component({ - selector: 'app-guest', - templateUrl: './guest.component.html', - styleUrls: ['./guest.component.less'], - standalone: false, + selector: 'app-guest', + templateUrl: './guest.component.html', + styleUrls: ['./guest.component.less'], + imports: [ + NgIf, + NgFor, + SongTextComponent, + AsyncPipe, + DatePipe, + ShowTypePipe, + ], }) export class GuestComponent { public show$ = this.currentRoute.params.pipe( diff --git a/src/app/modules/guest/guest.module.ts b/src/app/modules/guest/guest.module.ts index f7e995c..495381c 100644 --- a/src/app/modules/guest/guest.module.ts +++ b/src/app/modules/guest/guest.module.ts @@ -6,18 +6,18 @@ import {SongTextComponent} from '../../widget-modules/components/song-text/song- import {ShowTypePipe} from '../../widget-modules/pipes/show-type-translater/show-type.pipe'; @NgModule({ - declarations: [GuestComponent], - imports: [ - CommonModule, - RouterModule.forChild([ - { - path: ':id', - component: GuestComponent, - }, - ]), - SongTextComponent, - ShowTypePipe, - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], + imports: [ + CommonModule, + RouterModule.forChild([ + { + path: ':id', + component: GuestComponent, + }, + ]), + SongTextComponent, + ShowTypePipe, + GuestComponent, + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class GuestModule {} diff --git a/src/app/modules/presentation/monitor/legal/legal.component.spec.ts b/src/app/modules/presentation/monitor/legal/legal.component.spec.ts index 0b7049c..a989f2f 100644 --- a/src/app/modules/presentation/monitor/legal/legal.component.spec.ts +++ b/src/app/modules/presentation/monitor/legal/legal.component.spec.ts @@ -9,8 +9,8 @@ describe('LegalComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [LegalComponent], - }).compileComponents(); + imports: [LegalComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/presentation/monitor/legal/legal.component.ts b/src/app/modules/presentation/monitor/legal/legal.component.ts index 879954d..b2c8823 100644 --- a/src/app/modules/presentation/monitor/legal/legal.component.ts +++ b/src/app/modules/presentation/monitor/legal/legal.component.ts @@ -1,12 +1,13 @@ import {Component, Input} from '@angular/core'; import {Song} from '../../../songs/services/song'; import {Config} from '../../../../services/config'; +import { NgIf } from '@angular/common'; @Component({ - selector: 'app-legal', - templateUrl: './legal.component.html', - styleUrls: ['./legal.component.less'], - standalone: false, + selector: 'app-legal', + templateUrl: './legal.component.html', + styleUrls: ['./legal.component.less'], + imports: [NgIf], }) export class LegalComponent { @Input() public song: Song | null = null; diff --git a/src/app/modules/presentation/monitor/logo/logo.component.spec.ts b/src/app/modules/presentation/monitor/logo/logo.component.spec.ts index fbbde5b..981b563 100644 --- a/src/app/modules/presentation/monitor/logo/logo.component.spec.ts +++ b/src/app/modules/presentation/monitor/logo/logo.component.spec.ts @@ -9,8 +9,8 @@ describe('LogoComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [LogoComponent], - }).compileComponents(); + imports: [LogoComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/presentation/monitor/logo/logo.component.ts b/src/app/modules/presentation/monitor/logo/logo.component.ts index 84ebf60..9902d5c 100644 --- a/src/app/modules/presentation/monitor/logo/logo.component.ts +++ b/src/app/modules/presentation/monitor/logo/logo.component.ts @@ -1,10 +1,9 @@ import {Component} from '@angular/core'; @Component({ - selector: 'app-logo', - templateUrl: './logo.component.html', - styleUrls: ['./logo.component.less'], - standalone: false, + selector: 'app-logo', + templateUrl: './logo.component.html', + styleUrls: ['./logo.component.less'], }) export class LogoComponent { } diff --git a/src/app/modules/presentation/monitor/monitor.component.spec.ts b/src/app/modules/presentation/monitor/monitor.component.spec.ts index d15116a..b4ec1ce 100644 --- a/src/app/modules/presentation/monitor/monitor.component.spec.ts +++ b/src/app/modules/presentation/monitor/monitor.component.spec.ts @@ -9,8 +9,8 @@ describe('MonitorComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [MonitorComponent], - }).compileComponents(); + imports: [MonitorComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/presentation/monitor/monitor.component.ts b/src/app/modules/presentation/monitor/monitor.component.ts index d35180e..c290983 100644 --- a/src/app/modules/presentation/monitor/monitor.component.ts +++ b/src/app/modules/presentation/monitor/monitor.component.ts @@ -13,13 +13,26 @@ import {PresentationBackground, Show} from '../../shows/services/show'; import {GlobalSettings} from '../../../services/global-settings'; import {ShowSongService} from '../../shows/services/show-song.service'; import {openFullscreen} from '../../../services/fullscreen'; +import { NgIf, AsyncPipe, DatePipe } from '@angular/common'; +import { LogoComponent } from './logo/logo.component'; +import { SongTextComponent } from '../../../widget-modules/components/song-text/song-text.component'; +import { LegalComponent } from './legal/legal.component'; +import { ShowTypePipe } from '../../../widget-modules/pipes/show-type-translater/show-type.pipe'; @Component({ - selector: 'app-monitor', - templateUrl: './monitor.component.html', - styleUrls: ['./monitor.component.less'], - animations: [songSwitch], - standalone: false, + selector: 'app-monitor', + templateUrl: './monitor.component.html', + styleUrls: ['./monitor.component.less'], + animations: [songSwitch], + imports: [ + NgIf, + LogoComponent, + SongTextComponent, + LegalComponent, + AsyncPipe, + DatePipe, + ShowTypePipe, + ], }) export class MonitorComponent implements OnInit { public song: Song | null = null; diff --git a/src/app/modules/presentation/presentation.module.ts b/src/app/modules/presentation/presentation.module.ts index bb67a74..035f838 100644 --- a/src/app/modules/presentation/presentation.module.ts +++ b/src/app/modules/presentation/presentation.module.ts @@ -4,7 +4,7 @@ import {CommonModule} from '@angular/common'; import {PresentationRoutingModule} from './presentation-routing.module'; import {MonitorComponent} from './monitor/monitor.component'; import {RemoteComponent} from './remote/remote.component'; -import {CardModule} from '../../widget-modules/components/card/card.module'; + import {MatFormFieldModule} from '@angular/material/form-field'; import {MatSelectModule} from '@angular/material/select'; import {LegalComponent} from './monitor/legal/legal.component'; @@ -15,19 +15,17 @@ import {FormsModule, ReactiveFormsModule} from '@angular/forms'; import {LogoComponent} from './monitor/logo/logo.component'; import {SelectComponent} from './select/select.component'; import {MatInputModule} from '@angular/material/input'; -import {UserNameModule} from '../../services/user/user-name/user-name.module'; + import {SongTextComponent} from '../../widget-modules/components/song-text/song-text.component'; import {AddSongComponent} from '../../widget-modules/components/add-song/add-song.component'; import {SectionTypePipe} from '../../widget-modules/pipes/section-type-translator/section-type.pipe'; import {ShowTypePipe} from '../../widget-modules/pipes/show-type-translater/show-type.pipe'; @NgModule({ - declarations: [MonitorComponent, RemoteComponent, LegalComponent, LogoComponent, SelectComponent], - exports: [RemoteComponent], - imports: [ + exports: [RemoteComponent], + imports: [ CommonModule, PresentationRoutingModule, - CardModule, MatFormFieldModule, MatSelectModule, ShowTypePipe, @@ -40,7 +38,7 @@ import {ShowTypePipe} from '../../widget-modules/pipes/show-type-translater/show AddSongComponent, ReactiveFormsModule, MatInputModule, - UserNameModule, - ], + MonitorComponent, RemoteComponent, LegalComponent, LogoComponent, SelectComponent, +], }) export class PresentationModule {} diff --git a/src/app/modules/presentation/remote/remote.component.spec.ts b/src/app/modules/presentation/remote/remote.component.spec.ts index d83cf80..e3a57fb 100644 --- a/src/app/modules/presentation/remote/remote.component.spec.ts +++ b/src/app/modules/presentation/remote/remote.component.spec.ts @@ -9,8 +9,8 @@ describe('RemoteComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [RemoteComponent], - }).compileComponents(); + imports: [RemoteComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/presentation/remote/remote.component.ts b/src/app/modules/presentation/remote/remote.component.ts index a207d7b..e792fe5 100644 --- a/src/app/modules/presentation/remote/remote.component.ts +++ b/src/app/modules/presentation/remote/remote.component.ts @@ -13,6 +13,20 @@ import {TextRenderingService} from '../../songs/services/text-rendering.service' import {Section} from '../../songs/services/section'; import {GlobalSettings} from '../../../services/global-settings'; import {LineType} from '../../songs/services/line-type'; +import { NgIf, NgFor, AsyncPipe, DatePipe } from '@angular/common'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatInput } from '@angular/material/input'; +import { ReactiveFormsModule, FormsModule } from '@angular/forms'; +import { MatButton } from '@angular/material/button'; +import { RouterLink } from '@angular/router'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; +import { MatSelect } from '@angular/material/select'; +import { MatOption } from '@angular/material/core'; +import { MatSlider, MatSliderThumb } from '@angular/material/slider'; +import { AddSongComponent } from '../../../widget-modules/components/add-song/add-song.component'; +import { ShowTypePipe } from '../../../widget-modules/pipes/show-type-translater/show-type.pipe'; +import { SectionTypePipe } from '../../../widget-modules/pipes/section-type-translator/section-type.pipe'; export interface PresentationSong { id: string; @@ -21,12 +35,33 @@ export interface PresentationSong { } @Component({ - selector: 'app-remote', - templateUrl: './remote.component.html', - styleUrls: ['./remote.component.less'], - animations: [fade], - changeDetection: ChangeDetectionStrategy.OnPush, - standalone: false, + selector: 'app-remote', + templateUrl: './remote.component.html', + styleUrls: ['./remote.component.less'], + animations: [fade], + changeDetection: ChangeDetectionStrategy.OnPush, + imports: [ + NgIf, + CardComponent, + NgFor, + MatFormField, + MatLabel, + MatInput, + ReactiveFormsModule, + FormsModule, + MatButton, + RouterLink, + FaIconComponent, + MatSelect, + MatOption, + MatSlider, + MatSliderThumb, + AddSongComponent, + AsyncPipe, + DatePipe, + ShowTypePipe, + SectionTypePipe, + ], }) export class RemoteComponent { public show: Show | null = null; diff --git a/src/app/modules/presentation/select/select.component.ts b/src/app/modules/presentation/select/select.component.ts index 696d369..727b8e3 100644 --- a/src/app/modules/presentation/select/select.component.ts +++ b/src/app/modules/presentation/select/select.component.ts @@ -5,13 +5,27 @@ import {Show} from '../../shows/services/show'; import {GlobalSettingsService} from '../../../services/global-settings.service'; import {Router} from '@angular/router'; import {fade} from '../../../animations'; +import { NgIf, NgFor, AsyncPipe, DatePipe } from '@angular/common'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { MatButton } from '@angular/material/button'; +import { UserNameComponent } from '../../../services/user/user-name/user-name.component'; +import { ShowTypePipe } from '../../../widget-modules/pipes/show-type-translater/show-type.pipe'; @Component({ - selector: 'app-select', - templateUrl: './select.component.html', - styleUrls: ['./select.component.less'], - animations: [fade], - standalone: false, + selector: 'app-select', + templateUrl: './select.component.html', + styleUrls: ['./select.component.less'], + animations: [fade], + imports: [ + NgIf, + CardComponent, + NgFor, + MatButton, + UserNameComponent, + AsyncPipe, + DatePipe, + ShowTypePipe, + ], }) export class SelectComponent implements OnInit { public visible = false; diff --git a/src/app/modules/shows/dialog/archive-dialog/archive-dialog.component.spec.ts b/src/app/modules/shows/dialog/archive-dialog/archive-dialog.component.spec.ts index 760bc5f..ab85da3 100644 --- a/src/app/modules/shows/dialog/archive-dialog/archive-dialog.component.spec.ts +++ b/src/app/modules/shows/dialog/archive-dialog/archive-dialog.component.spec.ts @@ -8,8 +8,8 @@ describe('ArchiveDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ArchiveDialogComponent], - }).compileComponents(); + imports: [ArchiveDialogComponent], +}).compileComponents(); fixture = TestBed.createComponent(ArchiveDialogComponent); component = fixture.componentInstance; diff --git a/src/app/modules/shows/dialog/archive-dialog/archive-dialog.component.ts b/src/app/modules/shows/dialog/archive-dialog/archive-dialog.component.ts index 997dc63..ae6e737 100644 --- a/src/app/modules/shows/dialog/archive-dialog/archive-dialog.component.ts +++ b/src/app/modules/shows/dialog/archive-dialog/archive-dialog.component.ts @@ -1,10 +1,19 @@ import {Component} from '@angular/core'; +import { CdkScrollable } from '@angular/cdk/scrolling'; +import { MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog'; +import { MatButton } from '@angular/material/button'; @Component({ - selector: 'app-archive-dialog', - templateUrl: './archive-dialog.component.html', - styleUrls: ['./archive-dialog.component.less'], - standalone: false, + selector: 'app-archive-dialog', + templateUrl: './archive-dialog.component.html', + styleUrls: ['./archive-dialog.component.less'], + imports: [ + CdkScrollable, + MatDialogContent, + MatDialogActions, + MatButton, + MatDialogClose, + ], }) export class ArchiveDialogComponent { } diff --git a/src/app/modules/shows/edit/edit.component.ts b/src/app/modules/shows/edit/edit.component.ts index 4287ff8..193b586 100644 --- a/src/app/modules/shows/edit/edit.component.ts +++ b/src/app/modules/shows/edit/edit.component.ts @@ -3,18 +3,45 @@ import {ShowDataService} from '../services/show-data.service'; import {Observable, take} from 'rxjs'; import {Show} from '../services/show'; import {ShowService} from '../services/show.service'; -import {FormControl, FormGroup, Validators} from '@angular/forms'; +import { FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms'; import {ActivatedRoute, Router} from '@angular/router'; import {faSave} from '@fortawesome/free-solid-svg-icons'; import {map, switchMap} from 'rxjs/operators'; import firebase from 'firebase/compat/app'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { MatFormField, MatLabel, MatSuffix } from '@angular/material/form-field'; +import { MatSelect } from '@angular/material/select'; +import { MatOptgroup, MatOption } from '@angular/material/core'; +import { NgFor } from '@angular/common'; +import { MatInput } from '@angular/material/input'; +import { MatDatepickerInput, MatDatepickerToggle, MatDatepicker } from '@angular/material/datepicker'; +import { ButtonRowComponent } from '../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../widget-modules/components/button/button.component'; +import { ShowTypePipe } from '../../../widget-modules/pipes/show-type-translater/show-type.pipe'; import Timestamp = firebase.firestore.Timestamp; @Component({ - selector: 'app-edit', - templateUrl: './edit.component.html', - styleUrls: ['./edit.component.less'], - standalone: false, + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.less'], + imports: [ + CardComponent, + ReactiveFormsModule, + MatFormField, + MatLabel, + MatSelect, + MatOptgroup, + NgFor, + MatOption, + MatInput, + MatDatepickerInput, + MatDatepickerToggle, + MatSuffix, + MatDatepicker, + ButtonRowComponent, + ButtonComponent, + ShowTypePipe, + ], }) export class EditComponent implements OnInit { public shows$: Observable; diff --git a/src/app/modules/shows/list/filter/filter.component.spec.ts b/src/app/modules/shows/list/filter/filter.component.spec.ts index 2cc97d4..9ff4239 100644 --- a/src/app/modules/shows/list/filter/filter.component.spec.ts +++ b/src/app/modules/shows/list/filter/filter.component.spec.ts @@ -8,8 +8,8 @@ describe('FilterComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [FilterComponent], - }).compileComponents(); + imports: [FilterComponent], +}).compileComponents(); }); beforeEach(() => { diff --git a/src/app/modules/shows/list/filter/filter.component.ts b/src/app/modules/shows/list/filter/filter.component.ts index c197d39..6695b44 100644 --- a/src/app/modules/shows/list/filter/filter.component.ts +++ b/src/app/modules/shows/list/filter/filter.component.ts @@ -1,7 +1,7 @@ import {Component, Input} from '@angular/core'; -import {KeyValue} from '@angular/common'; +import { KeyValue, NgFor } from '@angular/common'; import {ActivatedRoute, Router} from '@angular/router'; -import {UntypedFormBuilder, UntypedFormGroup} from '@angular/forms'; +import { UntypedFormBuilder, UntypedFormGroup, ReactiveFormsModule } from '@angular/forms'; import {FilterValues} from './filter-values'; import {Show} from '../../services/show'; import {ShowService} from '../../services/show.service'; @@ -10,12 +10,25 @@ import {combineLatest, Observable} from 'rxjs'; import {dynamicSort, onlyUnique} from '../../../../services/filter.helper'; import {UserService} from '../../../../services/user/user.service'; import {isEqual} from 'lodash'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatSelect } from '@angular/material/select'; +import { MatOption, MatOptgroup } from '@angular/material/core'; +import { ShowTypePipe } from '../../../../widget-modules/pipes/show-type-translater/show-type.pipe'; @Component({ - selector: 'app-filter', - templateUrl: './filter.component.html', - styleUrls: ['./filter.component.less'], - standalone: false, + selector: 'app-filter', + templateUrl: './filter.component.html', + styleUrls: ['./filter.component.less'], + imports: [ + ReactiveFormsModule, + MatFormField, + MatLabel, + MatSelect, + NgFor, + MatOption, + MatOptgroup, + ShowTypePipe, + ], }) export class FilterComponent { @Input() public route = '/shows/'; diff --git a/src/app/modules/shows/list/list-item/list-item.component.spec.ts b/src/app/modules/shows/list/list-item/list-item.component.spec.ts index ddea867..0d9fc61 100644 --- a/src/app/modules/shows/list/list-item/list-item.component.spec.ts +++ b/src/app/modules/shows/list/list-item/list-item.component.spec.ts @@ -9,8 +9,8 @@ describe('ListItemComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [ListItemComponent], - }).compileComponents(); + imports: [ListItemComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/shows/list/list-item/list-item.component.ts b/src/app/modules/shows/list/list-item/list-item.component.ts index d498ef9..fc82b53 100644 --- a/src/app/modules/shows/list/list-item/list-item.component.ts +++ b/src/app/modules/shows/list/list-item/list-item.component.ts @@ -1,11 +1,19 @@ import {Component, Input} from '@angular/core'; import {Show} from '../../services/show'; +import { NgIf, DatePipe } from '@angular/common'; +import { UserNameComponent } from '../../../../services/user/user-name/user-name.component'; +import { ShowTypePipe } from '../../../../widget-modules/pipes/show-type-translater/show-type.pipe'; @Component({ - selector: 'app-list-item', - templateUrl: './list-item.component.html', - styleUrls: ['./list-item.component.less'], - standalone: false, + selector: 'app-list-item', + templateUrl: './list-item.component.html', + styleUrls: ['./list-item.component.less'], + imports: [ + NgIf, + UserNameComponent, + DatePipe, + ShowTypePipe, + ], }) export class ListItemComponent { @Input() public show: Show | null = null; diff --git a/src/app/modules/shows/list/list.component.spec.ts b/src/app/modules/shows/list/list.component.spec.ts index b57417a..12ff705 100644 --- a/src/app/modules/shows/list/list.component.spec.ts +++ b/src/app/modules/shows/list/list.component.spec.ts @@ -9,8 +9,8 @@ describe('ListComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [ListComponent], - }).compileComponents(); + imports: [ListComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/shows/list/list.component.ts b/src/app/modules/shows/list/list.component.ts index 6980086..7183ced 100644 --- a/src/app/modules/shows/list/list.component.ts +++ b/src/app/modules/shows/list/list.component.ts @@ -4,15 +4,33 @@ import {Show} from '../services/show'; import {fade} from '../../../animations'; import {ShowService} from '../services/show.service'; import {FilterValues} from './filter/filter-values'; -import {ActivatedRoute} from '@angular/router'; +import { ActivatedRoute, RouterLink } from '@angular/router'; import {map} from 'rxjs/operators'; +import { RoleDirective } from '../../../services/user/role.directive'; +import { ListHeaderComponent } from '../../../widget-modules/components/list-header/list-header.component'; +import { NgIf, NgFor, AsyncPipe } from '@angular/common'; +import { FilterComponent } from './filter/filter.component'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { ListItemComponent } from './list-item/list-item.component'; +import { SortByPipe } from '../../../widget-modules/pipes/sort-by/sort-by.pipe'; @Component({ - selector: 'app-list', - templateUrl: './list.component.html', - styleUrls: ['./list.component.less'], - animations: [fade], - standalone: false, + selector: 'app-list', + templateUrl: './list.component.html', + styleUrls: ['./list.component.less'], + animations: [fade], + imports: [ + RoleDirective, + ListHeaderComponent, + NgIf, + FilterComponent, + CardComponent, + NgFor, + ListItemComponent, + RouterLink, + AsyncPipe, + SortByPipe, + ], }) export class ListComponent { public shows$ = this.showService.list$(); diff --git a/src/app/modules/shows/new/new.component.spec.ts b/src/app/modules/shows/new/new.component.spec.ts index 1c259c2..19bae0c 100644 --- a/src/app/modules/shows/new/new.component.spec.ts +++ b/src/app/modules/shows/new/new.component.spec.ts @@ -9,8 +9,8 @@ describe('NewComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [NewComponent], - }).compileComponents(); + imports: [NewComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/shows/new/new.component.ts b/src/app/modules/shows/new/new.component.ts index b467bfb..9acf9b5 100644 --- a/src/app/modules/shows/new/new.component.ts +++ b/src/app/modules/shows/new/new.component.ts @@ -3,15 +3,42 @@ import {ShowDataService} from '../services/show-data.service'; import {Observable} from 'rxjs'; import {Show} from '../services/show'; import {ShowService} from '../services/show.service'; -import {UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms'; +import { UntypedFormControl, UntypedFormGroup, Validators, ReactiveFormsModule } from '@angular/forms'; import {Router} from '@angular/router'; import {faSave} from '@fortawesome/free-solid-svg-icons'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { MatFormField, MatLabel, MatSuffix } from '@angular/material/form-field'; +import { MatSelect } from '@angular/material/select'; +import { MatOptgroup, MatOption } from '@angular/material/core'; +import { NgFor } from '@angular/common'; +import { MatInput } from '@angular/material/input'; +import { MatDatepickerInput, MatDatepickerToggle, MatDatepicker } from '@angular/material/datepicker'; +import { ButtonRowComponent } from '../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../widget-modules/components/button/button.component'; +import { ShowTypePipe } from '../../../widget-modules/pipes/show-type-translater/show-type.pipe'; @Component({ - selector: 'app-new', - templateUrl: './new.component.html', - styleUrls: ['./new.component.less'], - standalone: false, + selector: 'app-new', + templateUrl: './new.component.html', + styleUrls: ['./new.component.less'], + imports: [ + CardComponent, + ReactiveFormsModule, + MatFormField, + MatLabel, + MatSelect, + MatOptgroup, + NgFor, + MatOption, + MatInput, + MatDatepickerInput, + MatDatepickerToggle, + MatSuffix, + MatDatepicker, + ButtonRowComponent, + ButtonComponent, + ShowTypePipe, + ], }) export class NewComponent implements OnInit { public shows$: Observable; diff --git a/src/app/modules/shows/show/show.component.spec.ts b/src/app/modules/shows/show/show.component.spec.ts index 9b77b1b..58c42c4 100644 --- a/src/app/modules/shows/show/show.component.spec.ts +++ b/src/app/modules/shows/show/show.component.spec.ts @@ -9,8 +9,8 @@ describe('ShowComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [ShowComponent], - }).compileComponents(); + imports: [ShowComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/shows/show/show.component.ts b/src/app/modules/shows/show/show.component.ts index b3dbfdd..4145c71 100644 --- a/src/app/modules/shows/show/show.component.ts +++ b/src/app/modules/shows/show/show.component.ts @@ -25,20 +25,60 @@ import { faUser, faUsers, } from '@fortawesome/free-solid-svg-icons'; -import {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop'; +import { CdkDragDrop, moveItemInArray, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop'; import {fade} from '../../../animations'; import {MatDialog} from '@angular/material/dialog'; import {ArchiveDialogComponent} from '../dialog/archive-dialog/archive-dialog.component'; import {closeFullscreen, openFullscreen} from '../../../services/fullscreen'; import {GuestShowService} from '../../guest/guest-show.service'; import {ShareDialogComponent} from '../dialog/share-dialog/share-dialog.component'; +import { NgIf, NgFor, AsyncPipe, DatePipe } from '@angular/common'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { UserNameComponent } from '../../../services/user/user-name/user-name.component'; +import { MatCheckbox } from '@angular/material/checkbox'; +import { ReactiveFormsModule, FormsModule } from '@angular/forms'; +import { MenuButtonComponent } from '../../../widget-modules/components/menu-button/menu-button.component'; +import { MatTooltip } from '@angular/material/tooltip'; +import { SongComponent } from './song/song.component'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; +import { AddSongComponent } from '../../../widget-modules/components/add-song/add-song.component'; +import { ButtonRowComponent } from '../../../widget-modules/components/button-row/button-row.component'; +import { RoleDirective } from '../../../services/user/role.directive'; +import { OwnerDirective } from '../../../services/user/owner.directive'; +import { ButtonComponent } from '../../../widget-modules/components/button/button.component'; +import { MatMenuTrigger, MatMenu } from '@angular/material/menu'; +import { ShowTypePipe } from '../../../widget-modules/pipes/show-type-translater/show-type.pipe'; @Component({ - selector: 'app-show', - templateUrl: './show.component.html', - styleUrls: ['./show.component.less'], - animations: [fade], - standalone: false, + selector: 'app-show', + templateUrl: './show.component.html', + styleUrls: ['./show.component.less'], + animations: [fade], + imports: [ + NgIf, + CardComponent, + UserNameComponent, + MatCheckbox, + ReactiveFormsModule, + FormsModule, + MenuButtonComponent, + MatTooltip, + CdkDropList, + NgFor, + CdkDrag, + SongComponent, + FaIconComponent, + AddSongComponent, + ButtonRowComponent, + RoleDirective, + OwnerDirective, + ButtonComponent, + MatMenuTrigger, + MatMenu, + AsyncPipe, + DatePipe, + ShowTypePipe, + ], }) export class ShowComponent implements OnInit, OnDestroy { public show$: Observable | null = null; diff --git a/src/app/modules/shows/show/song/song.component.spec.ts b/src/app/modules/shows/show/song/song.component.spec.ts index 84ac9ed..f775ec8 100644 --- a/src/app/modules/shows/show/song/song.component.spec.ts +++ b/src/app/modules/shows/show/song/song.component.spec.ts @@ -9,8 +9,8 @@ describe('SongComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [SongComponent], - }).compileComponents(); + imports: [SongComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/shows/show/song/song.component.ts b/src/app/modules/shows/show/song/song.component.ts index e6a9b75..c26d334 100644 --- a/src/app/modules/shows/show/song/song.component.ts +++ b/src/app/modules/shows/show/song/song.component.ts @@ -2,19 +2,43 @@ import {Component, Input, OnInit, ViewChild} from '@angular/core'; import {ShowSongService} from '../../services/show-song.service'; import {ShowSong} from '../../services/show-song'; import {getScale} from '../../../songs/services/key.helper'; -import {UntypedFormControl} from '@angular/forms'; -import {ChordMode} from '../../../../widget-modules/components/song-text/song-text.component'; +import { UntypedFormControl, ReactiveFormsModule } from '@angular/forms'; +import { ChordMode, SongTextComponent } from '../../../../widget-modules/components/song-text/song-text.component'; import {Show} from '../../services/show'; import {faEraser, faPenToSquare, faSave, faTrash} from '@fortawesome/free-solid-svg-icons'; import {fade} from '../../../../animations'; import {MatSelect} from '@angular/material/select'; +import { NgIf, NgFor } from '@angular/common'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatOption } from '@angular/material/core'; +import { MenuButtonComponent } from '../../../../widget-modules/components/menu-button/menu-button.component'; +import { MatTooltip } from '@angular/material/tooltip'; +import { MatInput } from '@angular/material/input'; +import { CdkTextareaAutosize } from '@angular/cdk/text-field'; +import { ButtonRowComponent } from '../../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../../widget-modules/components/button/button.component'; @Component({ - selector: 'app-song', - templateUrl: './song.component.html', - styleUrls: ['./song.component.less'], - animations: [fade], - standalone: false, + selector: 'app-song', + templateUrl: './song.component.html', + styleUrls: ['./song.component.less'], + animations: [fade], + imports: [ + NgIf, + MatFormField, + MatSelect, + ReactiveFormsModule, + NgFor, + MatOption, + MenuButtonComponent, + MatTooltip, + MatLabel, + MatInput, + CdkTextareaAutosize, + ButtonRowComponent, + ButtonComponent, + SongTextComponent, + ], }) export class SongComponent implements OnInit { @Input() public show: Show | null = null; diff --git a/src/app/modules/shows/shows.module.ts b/src/app/modules/shows/shows.module.ts index 4c239f3..cbe19ad 100644 --- a/src/app/modules/shows/shows.module.ts +++ b/src/app/modules/shows/shows.module.ts @@ -3,15 +3,15 @@ import {CommonModule} from '@angular/common'; import {ShowsRoutingModule} from './shows-routing.module'; import {NewComponent} from './new/new.component'; -import {CardModule} from '../../widget-modules/components/card/card.module'; + import {MatFormFieldModule} from '@angular/material/form-field'; import {FormsModule, ReactiveFormsModule} from '@angular/forms'; import {MatInputModule} from '@angular/material/input'; import {ListComponent} from './list/list.component'; import {ListItemComponent} from './list/list-item/list-item.component'; -import {ListHeaderModule} from '../../widget-modules/components/list-header/list-header.module'; + import {MatCheckboxModule} from '@angular/material/checkbox'; -import {ButtonRowModule} from '../../widget-modules/components/button-row/button-row.module'; + import {MatButtonModule} from '@angular/material/button'; import {MatDatepickerModule} from '@angular/material/datepicker'; import {MatSelectModule} from '@angular/material/select'; @@ -19,14 +19,14 @@ import {MatNativeDateModule} from '@angular/material/core'; import {ShowComponent} from './show/show.component'; import {SongComponent} from './show/song/song.component'; import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; -import {MenuButtonModule} from '../../widget-modules/components/menu-button/menu-button.module'; + import {NgxMatSelectSearchModule} from 'ngx-mat-select-search'; -import {ButtonModule} from '../../widget-modules/components/button/button.module'; -import {OwnerModule} from '../../services/user/owner.module'; -import {UserNameModule} from '../../services/user/user-name/user-name.module'; + + + import {MatMenuModule} from '@angular/material/menu'; import {DragDropModule} from '@angular/cdk/drag-drop'; -import {RoleModule} from '../../services/user/role.module'; + import {MatTooltipModule} from '@angular/material/tooltip'; import {FilterComponent} from './list/filter/filter.component'; import {EditComponent} from './edit/edit.component'; @@ -38,38 +38,30 @@ import {ShowTypePipe} from '../../widget-modules/pipes/show-type-translater/show import {SortByPipe} from '../../widget-modules/pipes/sort-by/sort-by.pipe'; @NgModule({ - declarations: [NewComponent, ListComponent, ListItemComponent, ShowComponent, SongComponent, FilterComponent, EditComponent, ArchiveDialogComponent], - imports: [ + imports: [ CommonModule, ShowsRoutingModule, - CardModule, MatFormFieldModule, ReactiveFormsModule, MatInputModule, - ListHeaderModule, MatCheckboxModule, - ButtonRowModule, MatButtonModule, MatDatepickerModule, MatNativeDateModule, MatSelectModule, ShowTypePipe, FontAwesomeModule, - MenuButtonModule, FormsModule, SongTextComponent, NgxMatSelectSearchModule, AddSongComponent, - ButtonModule, - OwnerModule, - UserNameModule, MatMenuModule, DragDropModule, - RoleModule, SortByPipe, MatTooltipModule, MatDialogModule, - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA], + NewComponent, ListComponent, ListItemComponent, ShowComponent, SongComponent, FilterComponent, EditComponent, ArchiveDialogComponent, +], + schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class ShowsModule {} diff --git a/src/app/modules/songs/song-list/filter/filter.component.spec.ts b/src/app/modules/songs/song-list/filter/filter.component.spec.ts index a6958cb..a568676 100644 --- a/src/app/modules/songs/song-list/filter/filter.component.spec.ts +++ b/src/app/modules/songs/song-list/filter/filter.component.spec.ts @@ -9,8 +9,8 @@ describe('FilterComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [FilterComponent], - }).compileComponents(); + imports: [FilterComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song-list/filter/filter.component.ts b/src/app/modules/songs/song-list/filter/filter.component.ts index f8a222b..0da2687 100644 --- a/src/app/modules/songs/song-list/filter/filter.component.ts +++ b/src/app/modules/songs/song-list/filter/filter.component.ts @@ -1,16 +1,35 @@ import {Component, Input} from '@angular/core'; import {ActivatedRoute, Router} from '@angular/router'; -import {UntypedFormBuilder, UntypedFormGroup} from '@angular/forms'; +import { UntypedFormBuilder, UntypedFormGroup, ReactiveFormsModule } from '@angular/forms'; import {SongService} from '../../services/song.service'; import {FilterValues} from './filter-values'; import {Song} from '../../services/song'; import {KEYS} from '../../services/key.helper'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatInput } from '@angular/material/input'; +import { MatSelect } from '@angular/material/select'; +import { MatOption } from '@angular/material/core'; +import { NgFor } from '@angular/common'; +import { LegalTypePipe } from '../../../../widget-modules/pipes/legal-type-translator/legal-type.pipe'; +import { KeyPipe } from '../../../../widget-modules/pipes/key-translator/key.pipe'; +import { SongTypePipe } from '../../../../widget-modules/pipes/song-type-translater/song-type.pipe'; @Component({ - selector: 'app-filter', - templateUrl: './filter.component.html', - styleUrls: ['./filter.component.less'], - standalone: false, + selector: 'app-filter', + templateUrl: './filter.component.html', + styleUrls: ['./filter.component.less'], + imports: [ + ReactiveFormsModule, + MatFormField, + MatLabel, + MatInput, + MatSelect, + MatOption, + NgFor, + LegalTypePipe, + KeyPipe, + SongTypePipe, + ], }) export class FilterComponent { public filterFormGroup: UntypedFormGroup; diff --git a/src/app/modules/songs/song-list/song-list.component.spec.ts b/src/app/modules/songs/song-list/song-list.component.spec.ts index bc1a001..ddb2922 100644 --- a/src/app/modules/songs/song-list/song-list.component.spec.ts +++ b/src/app/modules/songs/song-list/song-list.component.spec.ts @@ -18,10 +18,10 @@ describe('SongListComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [SongListComponent], - providers: [{provide: SongService, useValue: mockSongService}], - schemas: [NO_ERRORS_SCHEMA], - }).compileComponents(); + imports: [SongListComponent], + providers: [{ provide: SongService, useValue: mockSongService }], + schemas: [NO_ERRORS_SCHEMA], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song-list/song-list.component.ts b/src/app/modules/songs/song-list/song-list.component.ts index 0327799..80040b1 100644 --- a/src/app/modules/songs/song-list/song-list.component.ts +++ b/src/app/modules/songs/song-list/song-list.component.ts @@ -4,19 +4,35 @@ import {Song} from '../services/song'; import {map} from 'rxjs/operators'; import {combineLatest, Observable} from 'rxjs'; import {fade} from '../../../animations'; -import {ActivatedRoute} from '@angular/router'; +import { ActivatedRoute, RouterLink } from '@angular/router'; import {filterSong} from '../../../services/filter.helper'; import {FilterValues} from './filter/filter-values'; import {ScrollService} from '../../../services/scroll.service'; import {faBalanceScaleRight, faCheck, faPencilRuler} from '@fortawesome/free-solid-svg-icons'; +import { NgIf, NgFor, AsyncPipe } from '@angular/common'; +import { ListHeaderComponent } from '../../../widget-modules/components/list-header/list-header.component'; +import { FilterComponent } from './filter/filter.component'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { RoleDirective } from '../../../services/user/role.directive'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; @Component({ - selector: 'app-songs', - templateUrl: './song-list.component.html', - styleUrls: ['./song-list.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, - animations: [fade], - standalone: false, + selector: 'app-songs', + templateUrl: './song-list.component.html', + styleUrls: ['./song-list.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, + animations: [fade], + imports: [ + NgIf, + ListHeaderComponent, + FilterComponent, + CardComponent, + NgFor, + RouterLink, + RoleDirective, + FaIconComponent, + AsyncPipe, + ], }) export class SongListComponent implements OnInit, OnDestroy { public anyFilterActive = false; diff --git a/src/app/modules/songs/song-list/song-list.module.ts b/src/app/modules/songs/song-list/song-list.module.ts deleted file mode 100644 index 13483b5..0000000 --- a/src/app/modules/songs/song-list/song-list.module.ts +++ /dev/null @@ -1,40 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {SongListComponent} from './song-list.component'; -import {CardModule} from '../../../widget-modules/components/card/card.module'; -import {RouterModule} from '@angular/router'; -import {ListHeaderModule} from '../../../widget-modules/components/list-header/list-header.module'; -import {MatFormFieldModule} from '@angular/material/form-field'; -import {MatInputModule} from '@angular/material/input'; -import {FilterComponent} from './filter/filter.component'; -import {ReactiveFormsModule} from '@angular/forms'; -import {MatSelectModule} from '@angular/material/select'; -import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; -import {MatTooltipModule} from '@angular/material/tooltip'; -import {RoleModule} from '../../../services/user/role.module'; -import {KeyPipe} from '../../../widget-modules/pipes/key-translator/key.pipe'; -import {LegalTypePipe} from '../../../widget-modules/pipes/legal-type-translator/legal-type.pipe'; -import {SongTypePipe} from '../../../widget-modules/pipes/song-type-translater/song-type.pipe'; - -@NgModule({ - declarations: [SongListComponent, FilterComponent], - exports: [SongListComponent], - imports: [ - CommonModule, - RouterModule, - - CardModule, - LegalTypePipe, - ListHeaderModule, - MatFormFieldModule, - MatInputModule, - ReactiveFormsModule, - MatSelectModule, - FontAwesomeModule, - MatTooltipModule, - RoleModule, - KeyPipe, - SongTypePipe, - ], -}) -export class SongListModule {} diff --git a/src/app/modules/songs/song/edit/edit-file/edit-file.component.spec.ts b/src/app/modules/songs/song/edit/edit-file/edit-file.component.spec.ts index 154e7a4..4e578cc 100644 --- a/src/app/modules/songs/song/edit/edit-file/edit-file.component.spec.ts +++ b/src/app/modules/songs/song/edit/edit-file/edit-file.component.spec.ts @@ -9,8 +9,8 @@ describe('EditFileComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [EditFileComponent], - }).compileComponents(); + imports: [EditFileComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/edit/edit-file/edit-file.component.ts b/src/app/modules/songs/song/edit/edit-file/edit-file.component.ts index 73966d2..aa5b8e9 100644 --- a/src/app/modules/songs/song/edit/edit-file/edit-file.component.ts +++ b/src/app/modules/songs/song/edit/edit-file/edit-file.component.ts @@ -6,12 +6,26 @@ import {map, switchMap} from 'rxjs/operators'; import {FileDataService} from '../../../services/file-data.service'; import {Observable} from 'rxjs'; import {File} from '../../../services/file'; +import { CardComponent } from '../../../../../widget-modules/components/card/card.component'; +import { NgIf, NgStyle, NgFor, AsyncPipe } from '@angular/common'; +import { MatIconButton } from '@angular/material/button'; +import { MatIcon } from '@angular/material/icon'; +import { FileComponent } from './file/file.component'; @Component({ - selector: 'app-edit-file', - templateUrl: './edit-file.component.html', - styleUrls: ['./edit-file.component.less'], - standalone: false, + selector: 'app-edit-file', + templateUrl: './edit-file.component.html', + styleUrls: ['./edit-file.component.less'], + imports: [ + CardComponent, + NgIf, + NgStyle, + MatIconButton, + MatIcon, + NgFor, + FileComponent, + AsyncPipe, + ], }) export class EditFileComponent { public selectedFiles: FileList | null = null; diff --git a/src/app/modules/songs/song/edit/edit-file/file/file.component.spec.ts b/src/app/modules/songs/song/edit/edit-file/file/file.component.spec.ts index e9f87bf..0ed74e2 100644 --- a/src/app/modules/songs/song/edit/edit-file/file/file.component.spec.ts +++ b/src/app/modules/songs/song/edit/edit-file/file/file.component.spec.ts @@ -9,8 +9,8 @@ describe('FileComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [FileComponent], - }).compileComponents(); + imports: [FileComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/edit/edit-file/file/file.component.ts b/src/app/modules/songs/song/edit/edit-file/file/file.component.ts index 482e117..9cc8543 100644 --- a/src/app/modules/songs/song/edit/edit-file/file/file.component.ts +++ b/src/app/modules/songs/song/edit/edit-file/file/file.component.ts @@ -3,12 +3,19 @@ import {Observable} from 'rxjs'; import {File} from '../../../../services/file'; import {faTrashAlt} from '@fortawesome/free-solid-svg-icons'; import {FileService} from '../../../../services/file.service'; +import { MatIconButton } from '@angular/material/button'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; +import { AsyncPipe } from '@angular/common'; @Component({ - selector: 'app-file', - templateUrl: './file.component.html', - styleUrls: ['./file.component.less'], - standalone: false, + selector: 'app-file', + templateUrl: './file.component.html', + styleUrls: ['./file.component.less'], + imports: [ + MatIconButton, + FaIconComponent, + AsyncPipe, + ], }) export class FileComponent { public url$: Observable | null = null; diff --git a/src/app/modules/songs/song/edit/edit-song/edit-song.component.spec.ts b/src/app/modules/songs/song/edit/edit-song/edit-song.component.spec.ts index 412adc4..c84ef5b 100644 --- a/src/app/modules/songs/song/edit/edit-song/edit-song.component.spec.ts +++ b/src/app/modules/songs/song/edit/edit-song/edit-song.component.spec.ts @@ -9,8 +9,8 @@ describe('EditSongComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [EditSongComponent], - }).compileComponents(); + imports: [EditSongComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/edit/edit-song/edit-song.component.ts b/src/app/modules/songs/song/edit/edit-song/edit-song.component.ts index 0c6855e..f0fceae 100644 --- a/src/app/modules/songs/song/edit/edit-song/edit-song.component.ts +++ b/src/app/modules/songs/song/edit/edit-song/edit-song.component.ts @@ -1,22 +1,64 @@ import {Component, OnInit} from '@angular/core'; import {Song} from '../../../services/song'; -import {UntypedFormGroup} from '@angular/forms'; +import { UntypedFormGroup, ReactiveFormsModule } from '@angular/forms'; import {ActivatedRoute, Router, RouterStateSnapshot} from '@angular/router'; import {SongService} from '../../../services/song.service'; import {EditService} from '../edit.service'; import {first, map, switchMap} from 'rxjs/operators'; import {KEYS} from '../../../services/key.helper'; import {COMMA, ENTER} from '@angular/cdk/keycodes'; -import {MatChipInputEvent} from '@angular/material/chips'; +import { MatChipInputEvent, MatChipGrid, MatChipRow, MatChipInput } from '@angular/material/chips'; import {faExternalLinkAlt, faSave, faTimesCircle} from '@fortawesome/free-solid-svg-icons'; import {MatDialog} from '@angular/material/dialog'; import {SaveDialogComponent} from './save-dialog/save-dialog.component'; +import { NgIf, NgFor } from '@angular/common'; +import { CardComponent } from '../../../../../widget-modules/components/card/card.component'; +import { MatFormField, MatLabel, MatSuffix } from '@angular/material/form-field'; +import { MatInput } from '@angular/material/input'; +import { MatSelect } from '@angular/material/select'; +import { MatOption } from '@angular/material/core'; +import { CdkTextareaAutosize } from '@angular/cdk/text-field'; +import { SongTextComponent } from '../../../../../widget-modules/components/song-text/song-text.component'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; +import { MatTooltip } from '@angular/material/tooltip'; +import { ButtonRowComponent } from '../../../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../../../widget-modules/components/button/button.component'; +import { SongTypePipe } from '../../../../../widget-modules/pipes/song-type-translater/song-type.pipe'; +import { LegalOwnerPipe } from '../../../../../widget-modules/pipes/legal-owner-translator/legal-owner.pipe'; +import { LegalTypePipe } from '../../../../../widget-modules/pipes/legal-type-translator/legal-type.pipe'; +import { KeyPipe } from '../../../../../widget-modules/pipes/key-translator/key.pipe'; +import { StatusPipe } from '../../../../../widget-modules/pipes/status-translater/status.pipe'; @Component({ - selector: 'app-edit-song', - templateUrl: './edit-song.component.html', - styleUrls: ['./edit-song.component.less'], - standalone: false, + selector: 'app-edit-song', + templateUrl: './edit-song.component.html', + styleUrls: ['./edit-song.component.less'], + imports: [ + NgIf, + CardComponent, + ReactiveFormsModule, + MatFormField, + MatLabel, + MatInput, + MatSelect, + NgFor, + MatOption, + CdkTextareaAutosize, + SongTextComponent, + MatChipGrid, + MatChipRow, + FaIconComponent, + MatChipInput, + MatSuffix, + MatTooltip, + ButtonRowComponent, + ButtonComponent, + SongTypePipe, + LegalOwnerPipe, + LegalTypePipe, + KeyPipe, + StatusPipe, + ], }) export class EditSongComponent implements OnInit { public song: Song | null = null; diff --git a/src/app/modules/songs/song/edit/edit-song/save-dialog/save-dialog.component.spec.ts b/src/app/modules/songs/song/edit/edit-song/save-dialog/save-dialog.component.spec.ts index c3b839a..498b2c2 100644 --- a/src/app/modules/songs/song/edit/edit-song/save-dialog/save-dialog.component.spec.ts +++ b/src/app/modules/songs/song/edit/edit-song/save-dialog/save-dialog.component.spec.ts @@ -9,8 +9,8 @@ describe('SaveDialogComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [SaveDialogComponent], - }).compileComponents(); + declarations: [SaveDialogComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/edit/edit.component.spec.ts b/src/app/modules/songs/song/edit/edit.component.spec.ts index 97fc171..4a84ea0 100644 --- a/src/app/modules/songs/song/edit/edit.component.spec.ts +++ b/src/app/modules/songs/song/edit/edit.component.spec.ts @@ -9,8 +9,8 @@ describe('EditComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [EditComponent], - }).compileComponents(); + imports: [EditComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/edit/edit.component.ts b/src/app/modules/songs/song/edit/edit.component.ts index a40bf89..2a3b285 100644 --- a/src/app/modules/songs/song/edit/edit.component.ts +++ b/src/app/modules/songs/song/edit/edit.component.ts @@ -1,11 +1,17 @@ import {Component, ViewChild} from '@angular/core'; import {EditSongComponent} from './edit-song/edit-song.component'; +import { EditFileComponent } from './edit-file/edit-file.component'; +import { HistoryComponent } from './history/history.component'; @Component({ - selector: 'app-edit', - templateUrl: './edit.component.html', - styleUrls: ['./edit.component.less'], - standalone: false, + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.less'], + imports: [ + EditSongComponent, + EditFileComponent, + HistoryComponent, + ], }) export class EditComponent { @ViewChild(EditSongComponent) public editSongComponent: EditSongComponent | null = null; diff --git a/src/app/modules/songs/song/edit/edit.module.ts b/src/app/modules/songs/song/edit/edit.module.ts index a0b0a85..6c27036 100644 --- a/src/app/modules/songs/song/edit/edit.module.ts +++ b/src/app/modules/songs/song/edit/edit.module.ts @@ -1,13 +1,13 @@ import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {EditComponent} from './edit.component'; -import {CardModule} from '../../../../widget-modules/components/card/card.module'; + import {ReactiveFormsModule} from '@angular/forms'; import {MatInputModule} from '@angular/material/input'; import {MatCheckboxModule} from '@angular/material/checkbox'; import {MatSelectModule} from '@angular/material/select'; import {MatButtonModule} from '@angular/material/button'; -import {ButtonRowModule} from '../../../../widget-modules/components/button-row/button-row.module'; + import {RouterModule} from '@angular/router'; import {EditSongComponent} from './edit-song/edit-song.component'; import {EditFileComponent} from './edit-file/edit-file.component'; @@ -15,7 +15,7 @@ import {MatIconModule} from '@angular/material/icon'; import {FileComponent} from './edit-file/file/file.component'; import {MatChipsModule} from '@angular/material/chips'; import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; -import {ButtonModule} from '../../../../widget-modules/components/button/button.module'; + import {MatTooltipModule} from '@angular/material/tooltip'; import {SaveDialogComponent} from './edit-song/save-dialog/save-dialog.component'; import {MatDialogModule} from '@angular/material/dialog'; @@ -28,22 +28,18 @@ import {SongTypePipe} from '../../../../widget-modules/pipes/song-type-translate import {StatusPipe} from '../../../../widget-modules/pipes/status-translater/status.pipe'; @NgModule({ - declarations: [EditComponent, EditSongComponent, EditFileComponent, FileComponent, SaveDialogComponent, HistoryComponent], - exports: [EditComponent], - bootstrap: [SaveDialogComponent], - imports: [ + declarations: [SaveDialogComponent], + exports: [EditComponent], + bootstrap: [SaveDialogComponent], + imports: [ CommonModule, - CardModule, SongTypePipe, ReactiveFormsModule, RouterModule, - MatInputModule, MatButtonModule, MatCheckboxModule, MatSelectModule, - ButtonRowModule, - MatIconModule, LegalOwnerPipe, LegalTypePipe, @@ -51,10 +47,10 @@ import {StatusPipe} from '../../../../widget-modules/pipes/status-translater/sta MatChipsModule, FontAwesomeModule, StatusPipe, - ButtonModule, MatTooltipModule, MatDialogModule, SongTextComponent, - ], + EditComponent, EditSongComponent, EditFileComponent, FileComponent, HistoryComponent, +], }) export class EditModule {} diff --git a/src/app/modules/songs/song/edit/history/history.component.spec.ts b/src/app/modules/songs/song/edit/history/history.component.spec.ts index 3dc93a8..2654294 100644 --- a/src/app/modules/songs/song/edit/history/history.component.spec.ts +++ b/src/app/modules/songs/song/edit/history/history.component.spec.ts @@ -9,8 +9,8 @@ describe('HistoryComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [HistoryComponent], - }).compileComponents(); + imports: [HistoryComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/edit/history/history.component.ts b/src/app/modules/songs/song/edit/history/history.component.ts index 8a9b4fc..d9bef34 100644 --- a/src/app/modules/songs/song/edit/history/history.component.ts +++ b/src/app/modules/songs/song/edit/history/history.component.ts @@ -3,12 +3,19 @@ import {first, map, switchMap} from 'rxjs/operators'; import {ActivatedRoute} from '@angular/router'; import {SongService} from '../../../services/song.service'; import {Song} from '../../../services/song'; +import { NgIf, NgFor, DatePipe } from '@angular/common'; +import { CardComponent } from '../../../../../widget-modules/components/card/card.component'; @Component({ - selector: 'app-history', - templateUrl: './history.component.html', - styleUrls: ['./history.component.less'], - standalone: false, + selector: 'app-history', + templateUrl: './history.component.html', + styleUrls: ['./history.component.less'], + imports: [ + NgIf, + CardComponent, + NgFor, + DatePipe, + ], }) export class HistoryComponent implements OnInit { public song: Song | null = null; diff --git a/src/app/modules/songs/song/file/file.component.spec.ts b/src/app/modules/songs/song/file/file.component.spec.ts index e9f87bf..0ed74e2 100644 --- a/src/app/modules/songs/song/file/file.component.spec.ts +++ b/src/app/modules/songs/song/file/file.component.spec.ts @@ -9,8 +9,8 @@ describe('FileComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [FileComponent], - }).compileComponents(); + imports: [FileComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/file/file.component.ts b/src/app/modules/songs/song/file/file.component.ts index e69169e..678009a 100644 --- a/src/app/modules/songs/song/file/file.component.ts +++ b/src/app/modules/songs/song/file/file.component.ts @@ -2,12 +2,13 @@ import {Component, Input} from '@angular/core'; import {File} from '../../services/file'; import {AngularFireStorage} from '@angular/fire/compat/storage'; import {Observable} from 'rxjs'; +import { AsyncPipe } from '@angular/common'; @Component({ - selector: 'app-file', - templateUrl: './file.component.html', - styleUrls: ['./file.component.less'], - standalone: false, + selector: 'app-file', + templateUrl: './file.component.html', + styleUrls: ['./file.component.less'], + imports: [AsyncPipe], }) export class FileComponent { public url$: Observable | null = null; diff --git a/src/app/modules/songs/song/new/new.component.spec.ts b/src/app/modules/songs/song/new/new.component.spec.ts index 1c259c2..19bae0c 100644 --- a/src/app/modules/songs/song/new/new.component.spec.ts +++ b/src/app/modules/songs/song/new/new.component.spec.ts @@ -9,8 +9,8 @@ describe('NewComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [NewComponent], - }).compileComponents(); + imports: [NewComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/new/new.component.ts b/src/app/modules/songs/song/new/new.component.ts index 620b112..d3313b8 100644 --- a/src/app/modules/songs/song/new/new.component.ts +++ b/src/app/modules/songs/song/new/new.component.ts @@ -1,16 +1,29 @@ import {Component, OnDestroy, OnInit} from '@angular/core'; import {faSave} from '@fortawesome/free-solid-svg-icons'; -import {UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms'; +import { UntypedFormControl, UntypedFormGroup, Validators, ReactiveFormsModule } from '@angular/forms'; import {SongService} from '../../services/song.service'; import {Song} from '../../services/song'; import {Router} from '@angular/router'; import {Subscription} from 'rxjs'; +import { CardComponent } from '../../../../widget-modules/components/card/card.component'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatInput } from '@angular/material/input'; +import { ButtonRowComponent } from '../../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../../widget-modules/components/button/button.component'; @Component({ - selector: 'app-new', - templateUrl: './new.component.html', - styleUrls: ['./new.component.less'], - standalone: false, + selector: 'app-new', + templateUrl: './new.component.html', + styleUrls: ['./new.component.less'], + imports: [ + CardComponent, + ReactiveFormsModule, + MatFormField, + MatLabel, + MatInput, + ButtonRowComponent, + ButtonComponent, + ], }) export class NewComponent implements OnInit, OnDestroy { public faSave = faSave; diff --git a/src/app/modules/songs/song/new/new.module.ts b/src/app/modules/songs/song/new/new.module.ts deleted file mode 100644 index 05e15fc..0000000 --- a/src/app/modules/songs/song/new/new.module.ts +++ /dev/null @@ -1,17 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {NewComponent} from './new.component'; -import {CardModule} from '../../../../widget-modules/components/card/card.module'; -import {ReactiveFormsModule} from '@angular/forms'; -import {MatFormFieldModule} from '@angular/material/form-field'; -import {MatInputModule} from '@angular/material/input'; -import {ButtonRowModule} from '../../../../widget-modules/components/button-row/button-row.module'; -import {ButtonModule} from '../../../../widget-modules/components/button/button.module'; -import {AutofocusModule} from '../../../../widget-modules/directives/autofocus/autofocus.module'; - -@NgModule({ - declarations: [NewComponent], - imports: [CommonModule, CardModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, ButtonRowModule, ButtonModule, AutofocusModule], -}) -export class NewModule { -} diff --git a/src/app/modules/songs/song/song.component.spec.ts b/src/app/modules/songs/song/song.component.spec.ts index e641b94..14caf63 100644 --- a/src/app/modules/songs/song/song.component.spec.ts +++ b/src/app/modules/songs/song/song.component.spec.ts @@ -15,9 +15,9 @@ describe('SongComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [SongComponent], - providers: [{provide: ActivatedRoute, useValue: mockActivatedRoute}], - }).compileComponents(); + imports: [SongComponent], + providers: [{ provide: ActivatedRoute, useValue: mockActivatedRoute }], +}).compileComponents(); }), ); diff --git a/src/app/modules/songs/song/song.component.ts b/src/app/modules/songs/song/song.component.ts index ad291dc..0386a6e 100644 --- a/src/app/modules/songs/song/song.component.ts +++ b/src/app/modules/songs/song/song.component.ts @@ -1,5 +1,5 @@ import {Component, OnInit} from '@angular/core'; -import {ActivatedRoute, Router} from '@angular/router'; +import { ActivatedRoute, Router, RouterLink } from '@angular/router'; import {SongService} from '../services/song.service'; import {distinctUntilChanged, map, switchMap} from 'rxjs/operators'; import {Song} from '../services/song'; @@ -12,12 +12,45 @@ import {faEdit, faFileCirclePlus, faTrash} from '@fortawesome/free-solid-svg-ico import {ShowService} from '../../shows/services/show.service'; import {Show} from '../../shows/services/show'; import {ShowSongService} from '../../shows/services/show-song.service'; +import { NgIf, NgFor, AsyncPipe, DatePipe } from '@angular/common'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { RoleDirective } from '../../../services/user/role.directive'; +import { SongTextComponent } from '../../../widget-modules/components/song-text/song-text.component'; +import { MatChipListbox, MatChipOption } from '@angular/material/chips'; +import { ButtonRowComponent } from '../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../widget-modules/components/button/button.component'; +import { MatMenuTrigger, MatMenu } from '@angular/material/menu'; +import { FileComponent } from './file/file.component'; +import { SongTypePipe } from '../../../widget-modules/pipes/song-type-translater/song-type.pipe'; +import { LegalOwnerPipe } from '../../../widget-modules/pipes/legal-owner-translator/legal-owner.pipe'; +import { StatusPipe } from '../../../widget-modules/pipes/status-translater/status.pipe'; +import { ShowTypePipe } from '../../../widget-modules/pipes/show-type-translater/show-type.pipe'; @Component({ - selector: 'app-song', - templateUrl: './song.component.html', - styleUrls: ['./song.component.less'], - standalone: false, + selector: 'app-song', + templateUrl: './song.component.html', + styleUrls: ['./song.component.less'], + imports: [ + NgIf, + CardComponent, + RoleDirective, + SongTextComponent, + MatChipListbox, + NgFor, + MatChipOption, + ButtonRowComponent, + ButtonComponent, + RouterLink, + MatMenuTrigger, + MatMenu, + FileComponent, + AsyncPipe, + DatePipe, + SongTypePipe, + LegalOwnerPipe, + StatusPipe, + ShowTypePipe, + ], }) export class SongComponent implements OnInit { public song$: Observable | null = null; diff --git a/src/app/modules/songs/song/song.module.ts b/src/app/modules/songs/song/song.module.ts deleted file mode 100644 index 4991a34..0000000 --- a/src/app/modules/songs/song/song.module.ts +++ /dev/null @@ -1,40 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {SongComponent} from './song.component'; -import {CardModule} from '../../../widget-modules/components/card/card.module'; -import {MatButtonModule} from '@angular/material/button'; -import {ButtonRowModule} from '../../../widget-modules/components/button-row/button-row.module'; -import {RouterModule} from '@angular/router'; -import {MatChipsModule} from '@angular/material/chips'; -import {RoleModule} from '../../../services/user/role.module'; -import {ButtonModule} from '../../../widget-modules/components/button/button.module'; -import {FileComponent} from './file/file.component'; -import {MatMenuModule} from '@angular/material/menu'; -import {SongTextComponent} from '../../../widget-modules/components/song-text/song-text.component'; -import {LegalOwnerPipe} from '../../../widget-modules/pipes/legal-owner-translator/legal-owner.pipe'; -import {ShowTypePipe} from '../../../widget-modules/pipes/show-type-translater/show-type.pipe'; -import {SongTypePipe} from '../../../widget-modules/pipes/song-type-translater/song-type.pipe'; -import {StatusPipe} from '../../../widget-modules/pipes/status-translater/status.pipe'; - -@NgModule({ - declarations: [SongComponent, FileComponent], - exports: [SongComponent], - imports: [ - CommonModule, - CardModule, - RouterModule, - - SongTypePipe, - MatButtonModule, - ButtonRowModule, - LegalOwnerPipe, - SongTextComponent, - MatChipsModule, - RoleModule, - StatusPipe, - ButtonModule, - MatMenuModule, - ShowTypePipe, - ], -}) -export class SongModule {} diff --git a/src/app/modules/songs/songs.module.ts b/src/app/modules/songs/songs.module.ts index 5433568..74a6cee 100644 --- a/src/app/modules/songs/songs.module.ts +++ b/src/app/modules/songs/songs.module.ts @@ -2,14 +2,14 @@ import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {SongsRoutingModule} from './songs-routing.module'; -import {SongListModule} from './song-list/song-list.module'; -import {SongModule} from './song/song.module'; + + import {EditModule} from './song/edit/edit.module'; -import {NewModule} from './song/new/new.module'; + @NgModule({ declarations: [], - imports: [CommonModule, SongsRoutingModule, SongListModule, SongModule, EditModule, NewModule], + imports: [CommonModule, SongsRoutingModule, EditModule], }) export class SongsModule { } diff --git a/src/app/modules/user/info/info.component.spec.ts b/src/app/modules/user/info/info.component.spec.ts index 2c1c44c..87b2981 100644 --- a/src/app/modules/user/info/info.component.spec.ts +++ b/src/app/modules/user/info/info.component.spec.ts @@ -9,8 +9,8 @@ describe('InfoComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [InfoComponent], - }).compileComponents(); + imports: [InfoComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/user/info/info.component.ts b/src/app/modules/user/info/info.component.ts index f27e036..e80dbbe 100644 --- a/src/app/modules/user/info/info.component.ts +++ b/src/app/modules/user/info/info.component.ts @@ -6,12 +6,39 @@ import {ChordMode} from '../../../widget-modules/components/song-text/song-text. import {faSignOutAlt} from '@fortawesome/free-solid-svg-icons'; import {RolePipe} from './role.pipe'; import {roles} from '../../../services/user/roles'; +import { NgIf, AsyncPipe } from '@angular/common'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { MatFormField, MatLabel, MatHint } from '@angular/material/form-field'; +import { MatSelect } from '@angular/material/select'; +import { ReactiveFormsModule, FormsModule } from '@angular/forms'; +import { MatOption } from '@angular/material/core'; +import { ButtonRowComponent } from '../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../widget-modules/components/button/button.component'; +import { RouterLink } from '@angular/router'; +import { RoleDirective } from '../../../services/user/role.directive'; +import { UsersComponent } from './users/users.component'; @Component({ - selector: 'app-info', - templateUrl: './info.component.html', - styleUrls: ['./info.component.less'], - standalone: false, + selector: 'app-info', + templateUrl: './info.component.html', + styleUrls: ['./info.component.less'], + imports: [ + NgIf, + CardComponent, + MatFormField, + MatLabel, + MatSelect, + ReactiveFormsModule, + FormsModule, + MatOption, + MatHint, + ButtonRowComponent, + ButtonComponent, + RouterLink, + RoleDirective, + UsersComponent, + AsyncPipe, + ], }) export class InfoComponent implements OnInit { public user$: Observable | null = null; diff --git a/src/app/modules/user/info/role.pipe.ts b/src/app/modules/user/info/role.pipe.ts index 63520d5..79de300 100644 --- a/src/app/modules/user/info/role.pipe.ts +++ b/src/app/modules/user/info/role.pipe.ts @@ -1,10 +1,7 @@ import {Pipe, PipeTransform} from '@angular/core'; import {roles} from '../../../services/user/roles'; -@Pipe({ - name: 'role', - standalone: false, -}) +@Pipe({ name: 'role', }) export class RolePipe implements PipeTransform { public transform(role: roles): string { switch (role) { diff --git a/src/app/modules/user/info/users/user/user.component.spec.ts b/src/app/modules/user/info/users/user/user.component.spec.ts index 5af7b1b..77f9f95 100644 --- a/src/app/modules/user/info/users/user/user.component.spec.ts +++ b/src/app/modules/user/info/users/user/user.component.spec.ts @@ -9,8 +9,8 @@ describe('UserComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [UserComponent], - }).compileComponents(); + imports: [UserComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/user/info/users/user/user.component.ts b/src/app/modules/user/info/users/user/user.component.ts index c72e056..78f2879 100644 --- a/src/app/modules/user/info/users/user/user.component.ts +++ b/src/app/modules/user/info/users/user/user.component.ts @@ -3,12 +3,34 @@ import {User} from '../../../../../services/user/user'; import {UserService} from '../../../../../services/user/user.service'; import {ROLE_TYPES} from '../../../../../services/user/roles'; import {faTimes} from '@fortawesome/free-solid-svg-icons'; +import { NgIf, NgFor } from '@angular/common'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatInput } from '@angular/material/input'; +import { ReactiveFormsModule, FormsModule } from '@angular/forms'; +import { MatSelect } from '@angular/material/select'; +import { MatOption } from '@angular/material/core'; +import { MatIconButton } from '@angular/material/button'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; +import { RolePipe } from '../../role.pipe'; @Component({ - selector: 'app-user', - templateUrl: './user.component.html', - styleUrls: ['./user.component.less'], - standalone: false, + selector: 'app-user', + templateUrl: './user.component.html', + styleUrls: ['./user.component.less'], + imports: [ + NgIf, + MatFormField, + MatLabel, + MatInput, + ReactiveFormsModule, + FormsModule, + MatSelect, + NgFor, + MatOption, + MatIconButton, + FaIconComponent, + RolePipe, + ], }) export class UserComponent { public id = ''; diff --git a/src/app/modules/user/info/users/users.component.spec.ts b/src/app/modules/user/info/users/users.component.spec.ts index f546aa5..5a09b00 100644 --- a/src/app/modules/user/info/users/users.component.spec.ts +++ b/src/app/modules/user/info/users/users.component.spec.ts @@ -9,8 +9,8 @@ describe('UsersComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [UsersComponent], - }).compileComponents(); + imports: [UsersComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/user/info/users/users.component.ts b/src/app/modules/user/info/users/users.component.ts index 8c483d4..4f8f9dc 100644 --- a/src/app/modules/user/info/users/users.component.ts +++ b/src/app/modules/user/info/users/users.component.ts @@ -2,12 +2,22 @@ import {Component} from '@angular/core'; import {UserService} from '../../../../services/user/user.service'; import {Observable} from 'rxjs'; import {User} from '../../../../services/user/user'; +import { CardComponent } from '../../../../widget-modules/components/card/card.component'; +import { NgFor, AsyncPipe } from '@angular/common'; +import { UserComponent } from './user/user.component'; +import { SortByPipe } from '../../../../widget-modules/pipes/sort-by/sort-by.pipe'; @Component({ - selector: 'app-users', - templateUrl: './users.component.html', - styleUrls: ['./users.component.less'], - standalone: false, + selector: 'app-users', + templateUrl: './users.component.html', + styleUrls: ['./users.component.less'], + imports: [ + CardComponent, + NgFor, + UserComponent, + AsyncPipe, + SortByPipe, + ], }) export class UsersComponent { public users$: Observable; diff --git a/src/app/modules/user/login/auth-message.pipe.ts b/src/app/modules/user/login/auth-message.pipe.ts index e7807c4..c02304d 100644 --- a/src/app/modules/user/login/auth-message.pipe.ts +++ b/src/app/modules/user/login/auth-message.pipe.ts @@ -1,9 +1,6 @@ import {Pipe, PipeTransform} from '@angular/core'; -@Pipe({ - name: 'authMessage', - standalone: false, -}) +@Pipe({ name: 'authMessage', }) export class AuthMessagePipe implements PipeTransform { public transform(code: string): string { switch (code) { diff --git a/src/app/modules/user/login/login.component.spec.ts b/src/app/modules/user/login/login.component.spec.ts index 0ce53fd..363a6f7 100644 --- a/src/app/modules/user/login/login.component.spec.ts +++ b/src/app/modules/user/login/login.component.spec.ts @@ -9,8 +9,8 @@ describe('LoginComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [LoginComponent], - }).compileComponents(); + imports: [LoginComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/user/login/login.component.ts b/src/app/modules/user/login/login.component.ts index 4eb249d..05329b1 100644 --- a/src/app/modules/user/login/login.component.ts +++ b/src/app/modules/user/login/login.component.ts @@ -1,14 +1,30 @@ import {Component, OnInit} from '@angular/core'; -import {UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms'; -import {Router} from '@angular/router'; +import { UntypedFormControl, UntypedFormGroup, Validators, ReactiveFormsModule } from '@angular/forms'; +import { Router, RouterLink } from '@angular/router'; import {UserService} from '../../../services/user/user.service'; import {faSignInAlt, faUserPlus} from '@fortawesome/free-solid-svg-icons'; +import { LogoComponent } from '../../../widget-modules/components/logo/logo.component'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatInput } from '@angular/material/input'; +import { NgIf } from '@angular/common'; +import { MatButton } from '@angular/material/button'; +import { AuthMessagePipe } from './auth-message.pipe'; @Component({ - selector: 'app-login', - templateUrl: './login.component.html', - styleUrls: ['./login.component.less'], - standalone: false, + selector: 'app-login', + templateUrl: './login.component.html', + styleUrls: ['./login.component.less'], + imports: [ + LogoComponent, + ReactiveFormsModule, + MatFormField, + MatLabel, + MatInput, + NgIf, + MatButton, + RouterLink, + AuthMessagePipe, + ], }) export class LoginComponent implements OnInit { public form: UntypedFormGroup = new UntypedFormGroup({ diff --git a/src/app/modules/user/logout/logout.component.spec.ts b/src/app/modules/user/logout/logout.component.spec.ts index 4c25462..e623438 100644 --- a/src/app/modules/user/logout/logout.component.spec.ts +++ b/src/app/modules/user/logout/logout.component.spec.ts @@ -9,8 +9,8 @@ describe('LogoutComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [LogoutComponent], - }).compileComponents(); + imports: [LogoutComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/user/logout/logout.component.ts b/src/app/modules/user/logout/logout.component.ts index 5d454c2..63583f9 100644 --- a/src/app/modules/user/logout/logout.component.ts +++ b/src/app/modules/user/logout/logout.component.ts @@ -3,10 +3,9 @@ import {Router} from '@angular/router'; import {UserService} from '../../../services/user/user.service'; @Component({ - selector: 'app-logout', - templateUrl: './logout.component.html', - styleUrls: ['./logout.component.less'], - standalone: false, + selector: 'app-logout', + templateUrl: './logout.component.html', + styleUrls: ['./logout.component.less'], }) export class LogoutComponent implements AfterViewInit { public constructor(private userService: UserService, private router: Router) { diff --git a/src/app/modules/user/new/new.component.spec.ts b/src/app/modules/user/new/new.component.spec.ts index 1c259c2..19bae0c 100644 --- a/src/app/modules/user/new/new.component.spec.ts +++ b/src/app/modules/user/new/new.component.spec.ts @@ -9,8 +9,8 @@ describe('NewComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [NewComponent], - }).compileComponents(); + imports: [NewComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/user/new/new.component.ts b/src/app/modules/user/new/new.component.ts index 2f39a03..3b3ac89 100644 --- a/src/app/modules/user/new/new.component.ts +++ b/src/app/modules/user/new/new.component.ts @@ -1,13 +1,26 @@ import {Component, OnInit} from '@angular/core'; -import {UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms'; +import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators, ReactiveFormsModule } from '@angular/forms'; import {UserService} from '../../../services/user/user.service'; import {faUserPlus} from '@fortawesome/free-solid-svg-icons'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatInput } from '@angular/material/input'; +import { ButtonRowComponent } from '../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../widget-modules/components/button/button.component'; @Component({ - selector: 'app-new', - templateUrl: './new.component.html', - styleUrls: ['./new.component.less'], - standalone: false, + selector: 'app-new', + templateUrl: './new.component.html', + styleUrls: ['./new.component.less'], + imports: [ + CardComponent, + ReactiveFormsModule, + MatFormField, + MatLabel, + MatInput, + ButtonRowComponent, + ButtonComponent, + ], }) export class NewComponent implements OnInit { public form: UntypedFormGroup = this.fb.group({ diff --git a/src/app/modules/user/password-send/password-send.component.spec.ts b/src/app/modules/user/password-send/password-send.component.spec.ts index 92ee273..8cc36bd 100644 --- a/src/app/modules/user/password-send/password-send.component.spec.ts +++ b/src/app/modules/user/password-send/password-send.component.spec.ts @@ -9,8 +9,8 @@ describe('PasswordSendComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [PasswordSendComponent], - }).compileComponents(); + imports: [PasswordSendComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/user/password-send/password-send.component.ts b/src/app/modules/user/password-send/password-send.component.ts index ac598b7..5ca9aed 100644 --- a/src/app/modules/user/password-send/password-send.component.ts +++ b/src/app/modules/user/password-send/password-send.component.ts @@ -1,10 +1,11 @@ import {Component} from '@angular/core'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; @Component({ - selector: 'app-password-send', - templateUrl: './password-send.component.html', - styleUrls: ['./password-send.component.less'], - standalone: false, + selector: 'app-password-send', + templateUrl: './password-send.component.html', + styleUrls: ['./password-send.component.less'], + imports: [CardComponent], }) export class PasswordSendComponent { } diff --git a/src/app/modules/user/password/password.component.spec.ts b/src/app/modules/user/password/password.component.spec.ts index e69de33..dd6df34 100644 --- a/src/app/modules/user/password/password.component.spec.ts +++ b/src/app/modules/user/password/password.component.spec.ts @@ -9,8 +9,8 @@ describe('PasswordComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [PasswordComponent], - }).compileComponents(); + imports: [PasswordComponent], +}).compileComponents(); }), ); diff --git a/src/app/modules/user/password/password.component.ts b/src/app/modules/user/password/password.component.ts index 27a4ce5..63b557f 100644 --- a/src/app/modules/user/password/password.component.ts +++ b/src/app/modules/user/password/password.component.ts @@ -1,14 +1,31 @@ import {Component, OnInit} from '@angular/core'; -import {UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms'; +import { UntypedFormControl, UntypedFormGroup, Validators, ReactiveFormsModule } from '@angular/forms'; import {Router} from '@angular/router'; import {UserService} from '../../../services/user/user.service'; import {faWindowRestore} from '@fortawesome/free-solid-svg-icons'; +import { CardComponent } from '../../../widget-modules/components/card/card.component'; +import { MatFormField, MatLabel } from '@angular/material/form-field'; +import { MatInput } from '@angular/material/input'; +import { ButtonRowComponent } from '../../../widget-modules/components/button-row/button-row.component'; +import { ButtonComponent } from '../../../widget-modules/components/button/button.component'; +import { NgIf } from '@angular/common'; +import { AuthMessagePipe } from '../login/auth-message.pipe'; @Component({ - selector: 'app-password', - templateUrl: './password.component.html', - styleUrls: ['./password.component.less'], - standalone: false, + selector: 'app-password', + templateUrl: './password.component.html', + styleUrls: ['./password.component.less'], + imports: [ + CardComponent, + ReactiveFormsModule, + MatFormField, + MatLabel, + MatInput, + ButtonRowComponent, + ButtonComponent, + NgIf, + AuthMessagePipe, + ], }) export class PasswordComponent implements OnInit { public form: UntypedFormGroup = new UntypedFormGroup({ diff --git a/src/app/modules/user/user.module.ts b/src/app/modules/user/user.module.ts index aad94ed..28ee523 100644 --- a/src/app/modules/user/user.module.ts +++ b/src/app/modules/user/user.module.ts @@ -2,11 +2,11 @@ import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {LoginComponent} from './login/login.component'; import {UserRoutingModule} from './user-routing.module'; -import {CardModule} from '../../widget-modules/components/card/card.module'; + import {MatFormFieldModule} from '@angular/material/form-field'; import {FormsModule, ReactiveFormsModule} from '@angular/forms'; import {MatInputModule} from '@angular/material/input'; -import {ButtonRowModule} from '../../widget-modules/components/button-row/button-row.module'; + import {MatButtonModule} from '@angular/material/button'; import {AuthMessagePipe} from './login/auth-message.pipe'; import {InfoComponent} from './info/info.component'; @@ -16,32 +16,27 @@ import {MatSelectModule} from '@angular/material/select'; import {PasswordComponent} from './password/password.component'; import {PasswordSendComponent} from './password-send/password-send.component'; import {UsersComponent} from './info/users/users.component'; -import {RoleModule} from '../../services/user/role.module'; + import {UserComponent} from './info/users/user/user.component'; import {NewComponent} from './new/new.component'; -import {ButtonModule} from '../../widget-modules/components/button/button.module'; -import {LogoModule} from '../../widget-modules/components/logo/logo.module'; + + import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; import {SortByPipe} from '../../widget-modules/pipes/sort-by/sort-by.pipe'; @NgModule({ - declarations: [LoginComponent, AuthMessagePipe, InfoComponent, LogoutComponent, RolePipe, PasswordComponent, PasswordSendComponent, UsersComponent, UserComponent, NewComponent], - imports: [ + imports: [ CommonModule, UserRoutingModule, - CardModule, MatFormFieldModule, ReactiveFormsModule, MatInputModule, - ButtonRowModule, MatButtonModule, MatSelectModule, FormsModule, - RoleModule, - ButtonModule, - LogoModule, FontAwesomeModule, SortByPipe, - ], + LoginComponent, AuthMessagePipe, InfoComponent, LogoutComponent, RolePipe, PasswordComponent, PasswordSendComponent, UsersComponent, UserComponent, NewComponent, +], }) export class UserModule {} diff --git a/src/app/services/user/owner.directive.ts b/src/app/services/user/owner.directive.ts index 05ef657..696160d 100644 --- a/src/app/services/user/owner.directive.ts +++ b/src/app/services/user/owner.directive.ts @@ -1,10 +1,7 @@ import {Directive, ElementRef, Input, OnInit, TemplateRef, ViewContainerRef} from '@angular/core'; import {UserService} from './user.service'; -@Directive({ - selector: '[appOwner]', - standalone: false, -}) +@Directive({ selector: '[appOwner]', }) export class OwnerDirective implements OnInit { private currentUserId: string | null = null; private iAppOwner: string | null = null; diff --git a/src/app/services/user/owner.module.ts b/src/app/services/user/owner.module.ts deleted file mode 100644 index 680309d..0000000 --- a/src/app/services/user/owner.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {NgModule} from '@angular/core'; -import {OwnerDirective} from './owner.directive'; -import {CommonModule} from '@angular/common'; - -@NgModule({ - declarations: [OwnerDirective], - exports: [OwnerDirective], - imports: [CommonModule], -}) -export class OwnerModule { -} diff --git a/src/app/services/user/role.directive.ts b/src/app/services/user/role.directive.ts index 23e0cf1..14979d4 100644 --- a/src/app/services/user/role.directive.ts +++ b/src/app/services/user/role.directive.ts @@ -4,10 +4,7 @@ import {UserService} from './user.service'; import {User} from './user'; import {combineLatest} from 'rxjs'; -@Directive({ - selector: '[appRole]', - standalone: false, -}) +@Directive({ selector: '[appRole]', }) export class RoleDirective implements OnInit { @Input() public appRole: roles[] = []; private currentUser: User | null = null; diff --git a/src/app/services/user/role.module.ts b/src/app/services/user/role.module.ts deleted file mode 100644 index 85f889b..0000000 --- a/src/app/services/user/role.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {RoleDirective} from './role.directive'; - -@NgModule({ - declarations: [RoleDirective], - exports: [RoleDirective], - imports: [CommonModule], -}) -export class RoleModule { -} diff --git a/src/app/services/user/user-name/user-name.component.spec.ts b/src/app/services/user/user-name/user-name.component.spec.ts index 89f8804..fbdc14e 100644 --- a/src/app/services/user/user-name/user-name.component.spec.ts +++ b/src/app/services/user/user-name/user-name.component.spec.ts @@ -9,8 +9,8 @@ describe('UserNameComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [UserNameComponent], - }).compileComponents(); + imports: [UserNameComponent], +}).compileComponents(); }), ); diff --git a/src/app/services/user/user-name/user-name.component.ts b/src/app/services/user/user-name/user-name.component.ts index 61eee9c..70778c7 100644 --- a/src/app/services/user/user-name/user-name.component.ts +++ b/src/app/services/user/user-name/user-name.component.ts @@ -2,12 +2,13 @@ import {Component, Input} from '@angular/core'; import {UserService} from '../user.service'; import {map} from 'rxjs/operators'; import {Observable} from 'rxjs'; +import { AsyncPipe } from '@angular/common'; @Component({ - selector: 'app-user-name', - templateUrl: './user-name.component.html', - styleUrls: ['./user-name.component.less'], - standalone: false, + selector: 'app-user-name', + templateUrl: './user-name.component.html', + styleUrls: ['./user-name.component.less'], + imports: [AsyncPipe], }) export class UserNameComponent { public name$: Observable | null = null; diff --git a/src/app/services/user/user-name/user-name.module.ts b/src/app/services/user/user-name/user-name.module.ts deleted file mode 100644 index 00a38f5..0000000 --- a/src/app/services/user/user-name/user-name.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {UserNameComponent} from './user-name.component'; - -@NgModule({ - declarations: [UserNameComponent], - exports: [UserNameComponent], - imports: [CommonModule], -}) -export class UserNameModule { -} diff --git a/src/app/widget-modules/components/add-song/add-song.component.spec.ts b/src/app/widget-modules/components/add-song/add-song.component.spec.ts index 8afcd23..9b0977d 100644 --- a/src/app/widget-modules/components/add-song/add-song.component.spec.ts +++ b/src/app/widget-modules/components/add-song/add-song.component.spec.ts @@ -9,8 +9,8 @@ describe('AddSongComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [AddSongComponent], - }).compileComponents(); + imports: [AddSongComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/application-frame/application-frame.module.ts b/src/app/widget-modules/components/application-frame/application-frame.module.ts deleted file mode 100644 index 235e5ae..0000000 --- a/src/app/widget-modules/components/application-frame/application-frame.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {NavigationComponent} from './navigation/navigation.component'; -import {RouterModule} from '@angular/router'; -import {FilterComponent} from './navigation/filter/filter.component'; -import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; -import {LinkComponent} from './navigation/link/link.component'; -import {FormsModule} from '@angular/forms'; -import {RoleModule} from '../../../services/user/role.module'; -import {BrandComponent} from './navigation/brand/brand.component'; - -@NgModule({ - declarations: [NavigationComponent, FilterComponent, LinkComponent, BrandComponent], - imports: [CommonModule, RouterModule, FontAwesomeModule, FormsModule, RoleModule], - exports: [NavigationComponent], -}) -export class ApplicationFrameModule { -} diff --git a/src/app/widget-modules/components/application-frame/navigation/brand/brand.component.spec.ts b/src/app/widget-modules/components/application-frame/navigation/brand/brand.component.spec.ts index 1514bd4..f765998 100644 --- a/src/app/widget-modules/components/application-frame/navigation/brand/brand.component.spec.ts +++ b/src/app/widget-modules/components/application-frame/navigation/brand/brand.component.spec.ts @@ -9,8 +9,8 @@ describe('BrandComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [BrandComponent], - }).compileComponents(); + imports: [BrandComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/application-frame/navigation/brand/brand.component.ts b/src/app/widget-modules/components/application-frame/navigation/brand/brand.component.ts index 7764fed..c7e21a4 100644 --- a/src/app/widget-modules/components/application-frame/navigation/brand/brand.component.ts +++ b/src/app/widget-modules/components/application-frame/navigation/brand/brand.component.ts @@ -1,10 +1,9 @@ import {Component} from '@angular/core'; @Component({ - selector: 'app-brand', - templateUrl: './brand.component.html', - styleUrls: ['./brand.component.less'], - standalone: false, + selector: 'app-brand', + templateUrl: './brand.component.html', + styleUrls: ['./brand.component.less'], }) export class BrandComponent { } diff --git a/src/app/widget-modules/components/application-frame/navigation/filter/filter.component.spec.ts b/src/app/widget-modules/components/application-frame/navigation/filter/filter.component.spec.ts index a6958cb..a568676 100644 --- a/src/app/widget-modules/components/application-frame/navigation/filter/filter.component.spec.ts +++ b/src/app/widget-modules/components/application-frame/navigation/filter/filter.component.spec.ts @@ -9,8 +9,8 @@ describe('FilterComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [FilterComponent], - }).compileComponents(); + imports: [FilterComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/application-frame/navigation/filter/filter.component.ts b/src/app/widget-modules/components/application-frame/navigation/filter/filter.component.ts index 5d785b6..ed847ad 100644 --- a/src/app/widget-modules/components/application-frame/navigation/filter/filter.component.ts +++ b/src/app/widget-modules/components/application-frame/navigation/filter/filter.component.ts @@ -1,11 +1,12 @@ import {Component} from '@angular/core'; import {ActivatedRoute, Params, Router} from '@angular/router'; +import { ReactiveFormsModule, FormsModule } from '@angular/forms'; @Component({ - selector: 'app-filter', - templateUrl: './filter.component.html', - styleUrls: ['./filter.component.less'], - standalone: false, + selector: 'app-filter', + templateUrl: './filter.component.html', + styleUrls: ['./filter.component.less'], + imports: [ReactiveFormsModule, FormsModule], }) export class FilterComponent { public value = ''; diff --git a/src/app/widget-modules/components/application-frame/navigation/link/link.component.spec.ts b/src/app/widget-modules/components/application-frame/navigation/link/link.component.spec.ts index fba2008..2849fca 100644 --- a/src/app/widget-modules/components/application-frame/navigation/link/link.component.spec.ts +++ b/src/app/widget-modules/components/application-frame/navigation/link/link.component.spec.ts @@ -9,8 +9,8 @@ describe('LinkComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [LinkComponent], - }).compileComponents(); + imports: [LinkComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/application-frame/navigation/link/link.component.ts b/src/app/widget-modules/components/application-frame/navigation/link/link.component.ts index ea2bc8d..331872c 100644 --- a/src/app/widget-modules/components/application-frame/navigation/link/link.component.ts +++ b/src/app/widget-modules/components/application-frame/navigation/link/link.component.ts @@ -1,12 +1,18 @@ import {Component, Input} from '@angular/core'; import {IconProp} from '@fortawesome/fontawesome-svg-core'; import {faCross} from '@fortawesome/free-solid-svg-icons'; +import { RouterLinkActive, RouterLink } from '@angular/router'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; @Component({ - selector: 'app-link', - templateUrl: './link.component.html', - styleUrls: ['./link.component.less'], - standalone: false, + selector: 'app-link', + templateUrl: './link.component.html', + styleUrls: ['./link.component.less'], + imports: [ + RouterLinkActive, + RouterLink, + FaIconComponent, + ], }) export class LinkComponent { @Input() public text: string | null = null; diff --git a/src/app/widget-modules/components/application-frame/navigation/navigation.component.spec.ts b/src/app/widget-modules/components/application-frame/navigation/navigation.component.spec.ts index 5c8e82e..4d5f921 100644 --- a/src/app/widget-modules/components/application-frame/navigation/navigation.component.spec.ts +++ b/src/app/widget-modules/components/application-frame/navigation/navigation.component.spec.ts @@ -9,8 +9,8 @@ describe('NavigationComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [NavigationComponent], - }).compileComponents(); + imports: [NavigationComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/application-frame/navigation/navigation.component.ts b/src/app/widget-modules/components/application-frame/navigation/navigation.component.ts index c35008f..e3faf14 100644 --- a/src/app/widget-modules/components/application-frame/navigation/navigation.component.ts +++ b/src/app/widget-modules/components/application-frame/navigation/navigation.component.ts @@ -2,12 +2,25 @@ import {Component} from '@angular/core'; import {faChalkboard, faMusic, faPersonBooth, faUserCog} from '@fortawesome/free-solid-svg-icons'; import {fromEvent, Observable} from 'rxjs'; import {distinctUntilChanged, map, shareReplay, startWith} from 'rxjs/operators'; +import { BrandComponent } from './brand/brand.component'; +import { RouterLink } from '@angular/router'; +import { RoleDirective } from '../../../../services/user/role.directive'; +import { LinkComponent } from './link/link.component'; +import { FilterComponent } from './filter/filter.component'; +import { AsyncPipe } from '@angular/common'; @Component({ - selector: 'app-navigation', - templateUrl: './navigation.component.html', - styleUrls: ['./navigation.component.less'], - standalone: false, + selector: 'app-navigation', + templateUrl: './navigation.component.html', + styleUrls: ['./navigation.component.less'], + imports: [ + BrandComponent, + RouterLink, + RoleDirective, + LinkComponent, + FilterComponent, + AsyncPipe, + ], }) export class NavigationComponent { public faSongs = faMusic; diff --git a/src/app/widget-modules/components/button-row/button-row.component.spec.ts b/src/app/widget-modules/components/button-row/button-row.component.spec.ts index 9847d5d..a9e9761 100644 --- a/src/app/widget-modules/components/button-row/button-row.component.spec.ts +++ b/src/app/widget-modules/components/button-row/button-row.component.spec.ts @@ -9,8 +9,8 @@ describe('ButtonRowComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [ButtonRowComponent], - }).compileComponents(); + imports: [ButtonRowComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/button-row/button-row.component.ts b/src/app/widget-modules/components/button-row/button-row.component.ts index a790a37..6e86fdc 100644 --- a/src/app/widget-modules/components/button-row/button-row.component.ts +++ b/src/app/widget-modules/components/button-row/button-row.component.ts @@ -1,10 +1,9 @@ import {Component} from '@angular/core'; @Component({ - selector: 'app-button-row', - templateUrl: './button-row.component.html', - styleUrls: ['./button-row.component.less'], - standalone: false, + selector: 'app-button-row', + templateUrl: './button-row.component.html', + styleUrls: ['./button-row.component.less'], }) export class ButtonRowComponent { } diff --git a/src/app/widget-modules/components/button-row/button-row.module.ts b/src/app/widget-modules/components/button-row/button-row.module.ts deleted file mode 100644 index 0821a09..0000000 --- a/src/app/widget-modules/components/button-row/button-row.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {ButtonRowComponent} from './button-row.component'; - -@NgModule({ - declarations: [ButtonRowComponent], - exports: [ButtonRowComponent], - imports: [CommonModule], -}) -export class ButtonRowModule { -} diff --git a/src/app/widget-modules/components/button/button.component.spec.ts b/src/app/widget-modules/components/button/button.component.spec.ts index fdc9ee2..38b03a0 100644 --- a/src/app/widget-modules/components/button/button.component.spec.ts +++ b/src/app/widget-modules/components/button/button.component.spec.ts @@ -9,8 +9,8 @@ describe('ButtonComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [ButtonComponent], - }).compileComponents(); + imports: [ButtonComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/button/button.component.ts b/src/app/widget-modules/components/button/button.component.ts index eb80fa5..74ee1e4 100644 --- a/src/app/widget-modules/components/button/button.component.ts +++ b/src/app/widget-modules/components/button/button.component.ts @@ -1,11 +1,18 @@ import {Component, Input} from '@angular/core'; import {IconProp} from '@fortawesome/fontawesome-svg-core'; +import { MatButton } from '@angular/material/button'; +import { NgIf } from '@angular/common'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; @Component({ - selector: 'app-button', - templateUrl: './button.component.html', - styleUrls: ['./button.component.less'], - standalone: false, + selector: 'app-button', + templateUrl: './button.component.html', + styleUrls: ['./button.component.less'], + imports: [ + MatButton, + NgIf, + FaIconComponent, + ], }) export class ButtonComponent { @Input() public icon: IconProp | null = null; diff --git a/src/app/widget-modules/components/button/button.module.ts b/src/app/widget-modules/components/button/button.module.ts deleted file mode 100644 index 7e75465..0000000 --- a/src/app/widget-modules/components/button/button.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {ButtonComponent} from './button.component'; -import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; -import {MatButtonModule} from '@angular/material/button'; - -@NgModule({ - declarations: [ButtonComponent], - exports: [ButtonComponent], - imports: [CommonModule, FontAwesomeModule, MatButtonModule], -}) -export class ButtonModule { -} diff --git a/src/app/widget-modules/components/card/card.component.spec.ts b/src/app/widget-modules/components/card/card.component.spec.ts index ba6ae2f..0fef438 100644 --- a/src/app/widget-modules/components/card/card.component.spec.ts +++ b/src/app/widget-modules/components/card/card.component.spec.ts @@ -9,8 +9,8 @@ describe('CardComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [CardComponent], - }).compileComponents(); + imports: [CardComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/card/card.component.ts b/src/app/widget-modules/components/card/card.component.ts index 1044e57..f9f855f 100644 --- a/src/app/widget-modules/components/card/card.component.ts +++ b/src/app/widget-modules/components/card/card.component.ts @@ -1,11 +1,20 @@ import {Component, Input} from '@angular/core'; import {faTimes} from '@fortawesome/free-solid-svg-icons'; +import { NgIf } from '@angular/common'; +import { MatIconButton } from '@angular/material/button'; +import { RouterLink } from '@angular/router'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; @Component({ - selector: 'app-card', - templateUrl: './card.component.html', - styleUrls: ['./card.component.less'], - standalone: false, + selector: 'app-card', + templateUrl: './card.component.html', + styleUrls: ['./card.component.less'], + imports: [ + NgIf, + MatIconButton, + RouterLink, + FaIconComponent, + ], }) export class CardComponent { @Input() public padding = true; diff --git a/src/app/widget-modules/components/card/card.module.ts b/src/app/widget-modules/components/card/card.module.ts deleted file mode 100644 index fbe9e89..0000000 --- a/src/app/widget-modules/components/card/card.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {CardComponent} from './card.component'; -import {MatButtonModule} from '@angular/material/button'; -import {RouterModule} from '@angular/router'; -import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; - -@NgModule({ - declarations: [CardComponent], - exports: [CardComponent], - imports: [CommonModule, MatButtonModule, RouterModule, FontAwesomeModule], -}) -export class CardModule { -} diff --git a/src/app/widget-modules/components/list-header/list-header.component.spec.ts b/src/app/widget-modules/components/list-header/list-header.component.spec.ts index 6d98b85..a2f8e3d 100644 --- a/src/app/widget-modules/components/list-header/list-header.component.spec.ts +++ b/src/app/widget-modules/components/list-header/list-header.component.spec.ts @@ -9,8 +9,8 @@ describe('ListHeaderComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [ListHeaderComponent], - }).compileComponents(); + imports: [ListHeaderComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/list-header/list-header.component.ts b/src/app/widget-modules/components/list-header/list-header.component.ts index 11a46bb..b9b9bf6 100644 --- a/src/app/widget-modules/components/list-header/list-header.component.ts +++ b/src/app/widget-modules/components/list-header/list-header.component.ts @@ -1,13 +1,24 @@ import {Component, EventEmitter, Input, Output} from '@angular/core'; import {faFilter, faPlus} from '@fortawesome/free-solid-svg-icons'; import {fade} from '../../../animations'; +import { MatIconButton } from '@angular/material/button'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; +import { RouterLink } from '@angular/router'; +import { NgIf } from '@angular/common'; +import { CardComponent } from '../card/card.component'; @Component({ - selector: 'app-list-header', - templateUrl: './list-header.component.html', - styleUrls: ['./list-header.component.less'], - animations: [fade], - standalone: false, + selector: 'app-list-header', + templateUrl: './list-header.component.html', + styleUrls: ['./list-header.component.less'], + animations: [fade], + imports: [ + MatIconButton, + FaIconComponent, + RouterLink, + NgIf, + CardComponent, + ], }) export class ListHeaderComponent { public faNew = faPlus; diff --git a/src/app/widget-modules/components/list-header/list-header.module.ts b/src/app/widget-modules/components/list-header/list-header.module.ts deleted file mode 100644 index 613a09a..0000000 --- a/src/app/widget-modules/components/list-header/list-header.module.ts +++ /dev/null @@ -1,15 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {ListHeaderComponent} from './list-header.component'; -import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; -import {MatButtonModule} from '@angular/material/button'; -import {RouterModule} from '@angular/router'; -import {CardModule} from '../card/card.module'; - -@NgModule({ - declarations: [ListHeaderComponent], - exports: [ListHeaderComponent], - imports: [CommonModule, FontAwesomeModule, MatButtonModule, RouterModule, CardModule], -}) -export class ListHeaderModule { -} diff --git a/src/app/widget-modules/components/logo/logo.component.spec.ts b/src/app/widget-modules/components/logo/logo.component.spec.ts index fbbde5b..981b563 100644 --- a/src/app/widget-modules/components/logo/logo.component.spec.ts +++ b/src/app/widget-modules/components/logo/logo.component.spec.ts @@ -9,8 +9,8 @@ describe('LogoComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [LogoComponent], - }).compileComponents(); + imports: [LogoComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/logo/logo.component.ts b/src/app/widget-modules/components/logo/logo.component.ts index 84ebf60..9902d5c 100644 --- a/src/app/widget-modules/components/logo/logo.component.ts +++ b/src/app/widget-modules/components/logo/logo.component.ts @@ -1,10 +1,9 @@ import {Component} from '@angular/core'; @Component({ - selector: 'app-logo', - templateUrl: './logo.component.html', - styleUrls: ['./logo.component.less'], - standalone: false, + selector: 'app-logo', + templateUrl: './logo.component.html', + styleUrls: ['./logo.component.less'], }) export class LogoComponent { } diff --git a/src/app/widget-modules/components/logo/logo.module.ts b/src/app/widget-modules/components/logo/logo.module.ts deleted file mode 100644 index e6ff879..0000000 --- a/src/app/widget-modules/components/logo/logo.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {LogoComponent} from './logo.component'; - -@NgModule({ - declarations: [LogoComponent], - exports: [LogoComponent], - imports: [CommonModule], -}) -export class LogoModule { -} diff --git a/src/app/widget-modules/components/menu-button/menu-button.component.spec.ts b/src/app/widget-modules/components/menu-button/menu-button.component.spec.ts index f8a1ea1..2cf14a2 100644 --- a/src/app/widget-modules/components/menu-button/menu-button.component.spec.ts +++ b/src/app/widget-modules/components/menu-button/menu-button.component.spec.ts @@ -9,8 +9,8 @@ describe('MenuButtonComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [MenuButtonComponent], - }).compileComponents(); + imports: [MenuButtonComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/components/menu-button/menu-button.component.ts b/src/app/widget-modules/components/menu-button/menu-button.component.ts index 058d23c..e79efaf 100644 --- a/src/app/widget-modules/components/menu-button/menu-button.component.ts +++ b/src/app/widget-modules/components/menu-button/menu-button.component.ts @@ -1,12 +1,14 @@ import {Component, Input} from '@angular/core'; import {IconProp} from '@fortawesome/fontawesome-svg-core'; import {faCross} from '@fortawesome/free-solid-svg-icons'; +import { MatButton } from '@angular/material/button'; +import { FaIconComponent } from '@fortawesome/angular-fontawesome'; @Component({ - selector: 'app-menu-button', - templateUrl: './menu-button.component.html', - styleUrls: ['./menu-button.component.less'], - standalone: false, + selector: 'app-menu-button', + templateUrl: './menu-button.component.html', + styleUrls: ['./menu-button.component.less'], + imports: [MatButton, FaIconComponent], }) export class MenuButtonComponent { @Input() public icon: IconProp = faCross; diff --git a/src/app/widget-modules/components/menu-button/menu-button.module.ts b/src/app/widget-modules/components/menu-button/menu-button.module.ts deleted file mode 100644 index c36be6d..0000000 --- a/src/app/widget-modules/components/menu-button/menu-button.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {MenuButtonComponent} from './menu-button.component'; -import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; -import {MatButtonModule} from '@angular/material/button'; - -@NgModule({ - declarations: [MenuButtonComponent], - exports: [MenuButtonComponent], - imports: [CommonModule, FontAwesomeModule, MatButtonModule], -}) -export class MenuButtonModule { -} diff --git a/src/app/widget-modules/components/song-text/song-text.component.spec.ts b/src/app/widget-modules/components/song-text/song-text.component.spec.ts index a5942d1..5b13ae3 100644 --- a/src/app/widget-modules/components/song-text/song-text.component.spec.ts +++ b/src/app/widget-modules/components/song-text/song-text.component.spec.ts @@ -9,8 +9,8 @@ describe('SongTextComponent', () => { beforeEach( waitForAsync(() => { void TestBed.configureTestingModule({ - declarations: [SongTextComponent], - }).compileComponents(); + imports: [SongTextComponent], +}).compileComponents(); }), ); diff --git a/src/app/widget-modules/directives/autofocus/autofocus.directive.ts b/src/app/widget-modules/directives/autofocus/autofocus.directive.ts index e4aa02f..cce35c9 100644 --- a/src/app/widget-modules/directives/autofocus/autofocus.directive.ts +++ b/src/app/widget-modules/directives/autofocus/autofocus.directive.ts @@ -1,9 +1,6 @@ import {Directive, ElementRef, Input, OnInit} from '@angular/core'; -@Directive({ - selector: '[appAutofocus]', - standalone: false, -}) +@Directive({ selector: '[appAutofocus]', }) export class AutofocusDirective implements OnInit { private focus = true; diff --git a/src/app/widget-modules/directives/autofocus/autofocus.module.ts b/src/app/widget-modules/directives/autofocus/autofocus.module.ts deleted file mode 100644 index 01ff20f..0000000 --- a/src/app/widget-modules/directives/autofocus/autofocus.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {AutofocusDirective} from './autofocus.directive'; - -@NgModule({ - declarations: [AutofocusDirective], - exports: [AutofocusDirective], - imports: [CommonModule], -}) -export class AutofocusModule { -} diff --git a/src/main.ts b/src/main.ts index 947bb03..3aea78b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,13 +1,34 @@ -import {enableProdMode} from '@angular/core'; +import { enableProdMode, importProvidersFrom } from '@angular/core'; import {platformBrowserDynamic} from '@angular/platform-browser-dynamic'; -import {AppModule} from './app/app.module'; + import {environment} from './environments/environment'; +import { MAT_DATE_LOCALE } from '@angular/material/core'; +import { BrowserModule, bootstrapApplication } from '@angular/platform-browser'; +import { provideAnimations } from '@angular/platform-browser/animations'; +import { AppRoutingModule } from './app/app-routing.module'; +import { ServiceWorkerModule } from '@angular/service-worker'; +import { AngularFireModule } from '@angular/fire/compat'; +import { AngularFirestoreModule } from '@angular/fire/compat/firestore'; +import { AngularFireStorageModule } from '@angular/fire/compat/storage'; +import { AngularFireDatabaseModule } from '@angular/fire/compat/database'; +import { AngularFireAuthModule } from '@angular/fire/compat/auth'; +import { AngularFireAuthGuardModule } from '@angular/fire/compat/auth-guard'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; +import { AppComponent } from './app/app.component'; if (environment.production) { enableProdMode(); } -platformBrowserDynamic() - .bootstrapModule(AppModule) +bootstrapApplication(AppComponent, { + providers: [ + importProvidersFrom(BrowserModule, AppRoutingModule, ServiceWorkerModule.register('ngsw-worker.js', { + enabled: environment.production, + }), AngularFireModule.initializeApp(environment.firebase), AngularFirestoreModule.enablePersistence({ synchronizeTabs: true }), AngularFireStorageModule, AngularFireDatabaseModule, AngularFireAuthModule, AngularFireAuthGuardModule, FontAwesomeModule), + { provide: MAT_DATE_LOCALE, useValue: 'de-DE' }, + provideAnimations(), + provideAnimations(), + ] +}) .catch(err => console.error(err));