diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index a5018293b..23b39dfd1 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,7 +1,5 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; -import { PageNotFoundComponent } from './shared/components'; -import { VideoPlayerComponent } from './video-player/video-player.component'; const routes: Routes = [ { @@ -11,7 +9,8 @@ const routes: Routes = [ }, { path: 'iptv', - component: VideoPlayerComponent, + loadChildren: () => + import('./player/player.module').then((m) => m.PlayerModule), }, { path: 'settings', @@ -20,7 +19,7 @@ const routes: Routes = [ }, { path: '**', - component: PageNotFoundComponent, + redirectTo: '', }, ]; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b8bba4f41..ef19f0413 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -5,7 +5,6 @@ import { AppRoutingModule } from './app-routing.module'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { BrowserModule } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; -import { FilterPipeModule } from 'ngx-filter-pipe'; import { HttpClientModule, HttpClient } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { SharedModule } from './shared/shared.module'; @@ -15,10 +14,6 @@ import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { AppComponent } from './app.component'; -import { VideoPlayerComponent } from './video-player/video-player.component'; -import { ChannelListContainerComponent } from './channel-list-container/channel-list-container.component'; -import { VjsPlayerComponent } from './vjs-player/vjs-player.component'; -import { HtmlVideoPlayerComponent } from './html-video-player/html-video-player.component'; // AoT requires an exported function for factories export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { @@ -26,19 +21,12 @@ export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { } @NgModule({ - declarations: [ - AppComponent, - ChannelListContainerComponent, - VideoPlayerComponent, - VjsPlayerComponent, - HtmlVideoPlayerComponent, - ], + declarations: [AppComponent], imports: [ AppRoutingModule, BrowserAnimationsModule, BrowserModule, CommonModule, - FilterPipeModule, HttpClientModule, SharedModule, TranslateModule.forRoot({ diff --git a/src/app/channel-list-container/channel-list-container.component.html b/src/app/player/components/channel-list-container/channel-list-container.component.html similarity index 100% rename from src/app/channel-list-container/channel-list-container.component.html rename to src/app/player/components/channel-list-container/channel-list-container.component.html diff --git a/src/app/channel-list-container/channel-list-container.component.scss b/src/app/player/components/channel-list-container/channel-list-container.component.scss similarity index 100% rename from src/app/channel-list-container/channel-list-container.component.scss rename to src/app/player/components/channel-list-container/channel-list-container.component.scss diff --git a/src/app/channel-list-container/channel-list-container.component.spec.ts b/src/app/player/components/channel-list-container/channel-list-container.component.spec.ts similarity index 95% rename from src/app/channel-list-container/channel-list-container.component.spec.ts rename to src/app/player/components/channel-list-container/channel-list-container.component.spec.ts index 4f855eca5..2418f2ece 100644 --- a/src/app/channel-list-container/channel-list-container.component.spec.ts +++ b/src/app/player/components/channel-list-container/channel-list-container.component.spec.ts @@ -1,8 +1,8 @@ /* eslint-disable @typescript-eslint/unbound-method */ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ChannelListContainerComponent } from './channel-list-container.component'; -import { ChannelQuery } from '../state/channel.query'; -import { ChannelStore } from '../state/channel.store'; +import { ChannelQuery } from '../../../state/channel.query'; +import { ChannelStore } from '../../../state/channel.store'; import { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar'; import { MatInputModule } from '@angular/material/input'; import { MatIconModule } from '@angular/material/icon'; @@ -14,8 +14,8 @@ import { FormsModule } from '@angular/forms'; import { RouterTestingModule } from '@angular/router/testing'; import { FilterPipeModule } from 'ngx-filter-pipe'; import { By } from '@angular/platform-browser'; -import { createChannel } from '../state'; -import * as MOCKED_PLAYLIST from '../../mocks/playlist.json'; +import { createChannel } from '../../../state'; +import * as MOCKED_PLAYLIST from '../../../../mocks/playlist.json'; class MatSnackBarStub { open(): void {} diff --git a/src/app/channel-list-container/channel-list-container.component.ts b/src/app/player/components/channel-list-container/channel-list-container.component.ts similarity index 95% rename from src/app/channel-list-container/channel-list-container.component.ts rename to src/app/player/components/channel-list-container/channel-list-container.component.ts index 5c32a936a..4ff587d1a 100644 --- a/src/app/channel-list-container/channel-list-container.component.ts +++ b/src/app/player/components/channel-list-container/channel-list-container.component.ts @@ -1,5 +1,5 @@ -import { Component, Input, Output, EventEmitter } from '@angular/core'; -import { Channel, ChannelStore, ChannelQuery } from '../state'; +import { Component, Input } from '@angular/core'; +import { Channel, ChannelStore, ChannelQuery } from '../../../state'; import * as _ from 'lodash'; import { MatSnackBar } from '@angular/material/snack-bar'; diff --git a/src/app/html-video-player/html-video-player.component.html b/src/app/player/components/html-video-player/html-video-player.component.html similarity index 100% rename from src/app/html-video-player/html-video-player.component.html rename to src/app/player/components/html-video-player/html-video-player.component.html diff --git a/src/app/html-video-player/html-video-player.component.scss b/src/app/player/components/html-video-player/html-video-player.component.scss similarity index 100% rename from src/app/html-video-player/html-video-player.component.scss rename to src/app/player/components/html-video-player/html-video-player.component.scss diff --git a/src/app/html-video-player/html-video-player.component.spec.ts b/src/app/player/components/html-video-player/html-video-player.component.spec.ts similarity index 100% rename from src/app/html-video-player/html-video-player.component.spec.ts rename to src/app/player/components/html-video-player/html-video-player.component.spec.ts diff --git a/src/app/html-video-player/html-video-player.component.ts b/src/app/player/components/html-video-player/html-video-player.component.ts similarity index 97% rename from src/app/html-video-player/html-video-player.component.ts rename to src/app/player/components/html-video-player/html-video-player.component.ts index e35f3a03e..15b96433d 100644 --- a/src/app/html-video-player/html-video-player.component.ts +++ b/src/app/player/components/html-video-player/html-video-player.component.ts @@ -6,7 +6,7 @@ import { SimpleChanges, ViewChild, } from '@angular/core'; -import { Channel } from '../state'; +import { Channel } from '../../../state'; import * as Hls from 'hls.js'; @Component({ diff --git a/src/app/video-player/video-player.component.css b/src/app/player/components/video-player/video-player.component.css similarity index 100% rename from src/app/video-player/video-player.component.css rename to src/app/player/components/video-player/video-player.component.css diff --git a/src/app/video-player/video-player.component.html b/src/app/player/components/video-player/video-player.component.html similarity index 100% rename from src/app/video-player/video-player.component.html rename to src/app/player/components/video-player/video-player.component.html diff --git a/src/app/video-player/video-player.component.spec.ts b/src/app/player/components/video-player/video-player.component.spec.ts similarity index 90% rename from src/app/video-player/video-player.component.spec.ts rename to src/app/player/components/video-player/video-player.component.spec.ts index 799aaa3b7..2daf6fc4f 100644 --- a/src/app/video-player/video-player.component.spec.ts +++ b/src/app/player/components/video-player/video-player.component.spec.ts @@ -2,15 +2,15 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { VideoPlayerComponent } from './video-player.component'; import { MockComponent, MockModule } from 'ng-mocks'; -import { ChannelListContainerComponent } from '../channel-list-container/channel-list-container.component'; +import { ChannelListContainerComponent } from '../../../channel-list-container/channel-list-container.component'; import { VjsPlayerComponent } from '../vjs-player/vjs-player.component'; import { MatSidenavModule } from '@angular/material/sidenav'; import { MatIconModule } from '@angular/material/icon'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatSnackBar } from '@angular/material/snack-bar'; -import { ChannelStore } from '../state/channel.store'; -import * as MOCKED_PLAYLIST from '../../mocks/playlist.json'; -import { createChannel } from '../state'; +import { ChannelStore } from '../../../state/channel.store'; +import * as MOCKED_PLAYLIST from '../../../../mocks/playlist.json'; +import { createChannel } from '../../../state'; import { HtmlVideoPlayerComponent } from '../html-video-player/html-video-player.component'; class MatSnackBarStub { diff --git a/src/app/video-player/video-player.component.ts b/src/app/player/components/video-player/video-player.component.ts similarity index 92% rename from src/app/video-player/video-player.component.ts rename to src/app/player/components/video-player/video-player.component.ts index d3a6a5544..d0c19bfb5 100644 --- a/src/app/video-player/video-player.component.ts +++ b/src/app/player/components/video-player/video-player.component.ts @@ -1,11 +1,14 @@ import { Component, OnInit, ViewChild } from '@angular/core'; -import { ChannelQuery, Channel, ChannelStore } from '../state'; +import { ChannelQuery, Channel, ChannelStore } from '../../../state'; import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { MatSidenav } from '@angular/material/sidenav'; -import { ElectronService } from '../services/electron.service'; +import { ElectronService } from '../../../services/electron.service'; import { StorageMap } from '@ngx-pwa/local-storage'; -import { Settings, VideoPlayerType } from '../settings/settings.interface'; +import { + Settings, + VideoPlayerType, +} from '../../../settings/settings.interface'; import { MatSnackBar } from '@angular/material/snack-bar'; /** Settings key in storage */ diff --git a/src/app/vjs-player/vjs-player.component.html b/src/app/player/components/vjs-player/vjs-player.component.html similarity index 100% rename from src/app/vjs-player/vjs-player.component.html rename to src/app/player/components/vjs-player/vjs-player.component.html diff --git a/src/app/vjs-player/vjs-player.component.scss b/src/app/player/components/vjs-player/vjs-player.component.scss similarity index 100% rename from src/app/vjs-player/vjs-player.component.scss rename to src/app/player/components/vjs-player/vjs-player.component.scss diff --git a/src/app/vjs-player/vjs-player.component.ts b/src/app/player/components/vjs-player/vjs-player.component.ts similarity index 100% rename from src/app/vjs-player/vjs-player.component.ts rename to src/app/player/components/vjs-player/vjs-player.component.ts diff --git a/src/app/player/player.module.ts b/src/app/player/player.module.ts new file mode 100644 index 000000000..07edb41a5 --- /dev/null +++ b/src/app/player/player.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { ChannelListContainerComponent } from './components/channel-list-container/channel-list-container.component'; +import { HtmlVideoPlayerComponent } from './components/html-video-player/html-video-player.component'; +import { VideoPlayerComponent } from './components/video-player/video-player.component'; +import { VjsPlayerComponent } from './components/vjs-player/vjs-player.component'; +import { RouterModule, Routes } from '@angular/router'; +import { SharedModule } from 'app/shared/shared.module'; + +const routes: Routes = [{ path: '', component: VideoPlayerComponent }]; + +@NgModule({ + imports: [CommonModule, RouterModule.forChild(routes), SharedModule], + declarations: [ + ChannelListContainerComponent, + HtmlVideoPlayerComponent, + VideoPlayerComponent, + VjsPlayerComponent, + ], +}) +export class PlayerModule {} diff --git a/src/app/shared/components/index.ts b/src/app/shared/components/index.ts index 0e5ff575a..abd4bb244 100644 --- a/src/app/shared/components/index.ts +++ b/src/app/shared/components/index.ts @@ -1,2 +1 @@ -export * from './page-not-found/page-not-found.component'; export * from './header/header.component'; diff --git a/src/app/shared/components/page-not-found/page-not-found.component.html b/src/app/shared/components/page-not-found/page-not-found.component.html deleted file mode 100644 index 330fbc2d0..000000000 --- a/src/app/shared/components/page-not-found/page-not-found.component.html +++ /dev/null @@ -1,3 +0,0 @@ -
- page-not-found works! -
diff --git a/src/app/shared/components/page-not-found/page-not-found.component.scss b/src/app/shared/components/page-not-found/page-not-found.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/app/shared/components/page-not-found/page-not-found.component.spec.ts b/src/app/shared/components/page-not-found/page-not-found.component.spec.ts deleted file mode 100644 index fe3d6df1c..000000000 --- a/src/app/shared/components/page-not-found/page-not-found.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PageNotFoundComponent } from './page-not-found.component'; - -describe('PageNotFoundComponent', () => { - let component: PageNotFoundComponent; - let fixture: ComponentFixture