diff --git a/src/src/app/app.component.html b/src/src/app/app.component.html index 53089ad..d33e82b 100644 --- a/src/src/app/app.component.html +++ b/src/src/app/app.component.html @@ -1,3 +1,3 @@
- +
diff --git a/src/src/app/app.component.spec.ts b/src/src/app/app.component.spec.ts index 661c43b..2815953 100644 --- a/src/src/app/app.component.spec.ts +++ b/src/src/app/app.component.spec.ts @@ -1,5 +1,5 @@ -import { TestBed } from '@angular/core/testing'; -import { AppComponent } from './app.component'; +import {TestBed} from '@angular/core/testing'; +import {AppComponent} from './app.component'; describe('AppComponent', () => { beforeEach(async () => { diff --git a/src/src/app/app.component.ts b/src/src/app/app.component.ts index 3c34985..15e52ce 100644 --- a/src/src/app/app.component.ts +++ b/src/src/app/app.component.ts @@ -1,11 +1,11 @@ -import { Component } from '@angular/core'; -import { RouterOutlet } from '@angular/router'; +import {Component} from '@angular/core'; +import {RouterOutlet} from '@angular/router'; -@Component({ - selector: 'app-root', - imports: [RouterOutlet], - templateUrl: './app.component.html', - styleUrl: './app.component.scss' +@Component({ + selector: 'app-root', + imports: [RouterOutlet], + templateUrl: './app.component.html', + styleUrl: './app.component.scss' }) export class AppComponent { title = 'nullinside'; diff --git a/src/src/app/app.config.ts b/src/src/app/app.config.ts index dee9a4b..7bf404b 100644 --- a/src/src/app/app.config.ts +++ b/src/src/app/app.config.ts @@ -1,10 +1,10 @@ -import { ApplicationConfig, Provider } from '@angular/core'; -import { provideRouter } from '@angular/router'; +import {ApplicationConfig, Provider} from '@angular/core'; +import {provideRouter} from '@angular/router'; -import { routes } from './app.routes'; -import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; -import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from "@angular/common/http"; -import { BearerTokenInterceptor } from "./middleware/bearer-token-interceptor"; +import {routes} from './app.routes'; +import {provideAnimationsAsync} from '@angular/platform-browser/animations/async'; +import {HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi} from "@angular/common/http"; +import {BearerTokenInterceptor} from "./middleware/bearer-token-interceptor"; import {MAT_SNACK_BAR_DEFAULT_OPTIONS} from "@angular/material/snack-bar"; export const noopInterceptorProvider: Provider = diff --git a/src/src/app/app.routes.ts b/src/src/app/app.routes.ts index 2f22d9c..fb87976 100644 --- a/src/src/app/app.routes.ts +++ b/src/src/app/app.routes.ts @@ -9,12 +9,14 @@ import {TwitchBotIndexComponent} from './view/twitch/twitch-bot-index/twitch-bot import {TwitchBotConfigComponent} from './view/twitch/twitch-bot-config/twitch-bot-config.component'; import {ImdbSearchComponent} from './view/imdb-search/imdb-search.component'; import {BackgroundWebglExampleComponent} from "./view/background-webgl-example/background-webgl-example.component"; +import {LoginLandingDesktopComponent} from "./view/login-landing-desktop/login-landing-desktop.component"; export const routes: Routes = [ {path: '', component: HomeComponent}, {path: 'background', component: BackgroundWebglExampleComponent}, {path: 'user/auth', component: LoginComponent}, {path: 'user/login', component: LoginLandingComponent}, + {path: 'user/login/desktop', component: LoginLandingDesktopComponent}, {path: 'home', component: HomeComponent}, {path: 'vm-admin', component: VmManagerComponent, canActivate: [authGuard]}, {path: 'twitch-bot', component: TwitchBotIndexComponent}, diff --git a/src/src/app/common/components/loading-icon/loading-icon.component.html b/src/src/app/common/components/loading-icon/loading-icon.component.html index 55c3db7..33de29f 100644 --- a/src/src/app/common/components/loading-icon/loading-icon.component.html +++ b/src/src/app/common/components/loading-icon/loading-icon.component.html @@ -8,7 +8,7 @@ from="0 67 67" to="-360 67 67" dur="2.5s" - repeatCount="indefinite" /> + repeatCount="indefinite"/> @@ -18,7 +18,7 @@ from="0 67 67" to="360 67 67" dur="8s" - repeatCount="indefinite" /> + repeatCount="indefinite"/>
diff --git a/src/src/app/common/components/loading-icon/loading-icon.component.spec.ts b/src/src/app/common/components/loading-icon/loading-icon.component.spec.ts index 162f752..6666cdb 100644 --- a/src/src/app/common/components/loading-icon/loading-icon.component.spec.ts +++ b/src/src/app/common/components/loading-icon/loading-icon.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { LoadingIconComponent } from './loading-icon.component'; +import {LoadingIconComponent} from './loading-icon.component'; describe('LoadingIconComponent', () => { let component: LoadingIconComponent; diff --git a/src/src/app/common/components/loading-icon/loading-icon.component.ts b/src/src/app/common/components/loading-icon/loading-icon.component.ts index cc241ab..78e69eb 100644 --- a/src/src/app/common/components/loading-icon/loading-icon.component.ts +++ b/src/src/app/common/components/loading-icon/loading-icon.component.ts @@ -1,10 +1,10 @@ -import { Component, Input } from '@angular/core'; +import {Component, Input} from '@angular/core'; -@Component({ - selector: 'app-loading-icon', - imports: [], - templateUrl: './loading-icon.component.html', - styleUrl: './loading-icon.component.scss' +@Component({ + selector: 'app-loading-icon', + imports: [], + templateUrl: './loading-icon.component.html', + styleUrl: './loading-icon.component.scss' }) export class LoadingIconComponent { @Input() width = '100%'; diff --git a/src/src/app/common/components/logo/logo.component.spec.ts b/src/src/app/common/components/logo/logo.component.spec.ts index fd3433f..925938c 100644 --- a/src/src/app/common/components/logo/logo.component.spec.ts +++ b/src/src/app/common/components/logo/logo.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { LogoComponent } from './logo.component'; +import {LogoComponent} from './logo.component'; describe('LogoComponent', () => { let component: LogoComponent; diff --git a/src/src/app/common/components/logo/logo.component.ts b/src/src/app/common/components/logo/logo.component.ts index ca4dbb2..f85915e 100644 --- a/src/src/app/common/components/logo/logo.component.ts +++ b/src/src/app/common/components/logo/logo.component.ts @@ -1,11 +1,11 @@ import {Component, Input} from '@angular/core'; import {Router} from '@angular/router'; -@Component({ - selector: 'app-logo', - imports: [], - templateUrl: './logo.component.html', - styleUrl: './logo.component.scss' +@Component({ + selector: 'app-logo', + imports: [], + templateUrl: './logo.component.html', + styleUrl: './logo.component.scss' }) export class LogoComponent { @Input() height: number = 50; diff --git a/src/src/app/common/components/standard-banner/standard-banner.component.html b/src/src/app/common/components/standard-banner/standard-banner.component.html index cb90466..1b6ba3d 100644 --- a/src/src/app/common/components/standard-banner/standard-banner.component.html +++ b/src/src/app/common/components/standard-banner/standard-banner.component.html @@ -1,5 +1,5 @@
- + @if (userIsLoggedIn) {
diff --git a/src/src/app/common/components/standard-banner/standard-banner.component.spec.ts b/src/src/app/common/components/standard-banner/standard-banner.component.spec.ts index b4263c7..1aaf469 100644 --- a/src/src/app/common/components/standard-banner/standard-banner.component.spec.ts +++ b/src/src/app/common/components/standard-banner/standard-banner.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { StandardBannerComponent } from './standard-banner.component'; +import {StandardBannerComponent} from './standard-banner.component'; describe('StandardBannerComponent', () => { let component: StandardBannerComponent; diff --git a/src/src/app/common/components/standard-banner/standard-banner.component.ts b/src/src/app/common/components/standard-banner/standard-banner.component.ts index 16d21ae..7b7effa 100644 --- a/src/src/app/common/components/standard-banner/standard-banner.component.ts +++ b/src/src/app/common/components/standard-banner/standard-banner.component.ts @@ -1,16 +1,16 @@ -import { Component, OnInit } from '@angular/core'; -import { LogoComponent } from '../logo/logo.component'; -import { environment } from '../../../../environments/environment'; -import { MatButton } from '@angular/material/button'; +import {Component, OnInit} from '@angular/core'; +import {LogoComponent} from '../logo/logo.component'; +import {environment} from '../../../../environments/environment'; +import {MatButton} from '@angular/material/button'; -@Component({ - selector: 'app-standard-banner', - imports: [ - LogoComponent, - MatButton - ], - templateUrl: './standard-banner.component.html', - styleUrl: './standard-banner.component.scss' +@Component({ + selector: 'app-standard-banner', + imports: [ + LogoComponent, + MatButton + ], + templateUrl: './standard-banner.component.html', + styleUrl: './standard-banner.component.scss' }) export class StandardBannerComponent implements OnInit { public userIsLoggedIn: boolean = false; diff --git a/src/src/app/common/components/twitch-login/twitch-login.component.html b/src/src/app/common/components/twitch-login/twitch-login.component.html index 292433c..9be0621 100644 --- a/src/src/app/common/components/twitch-login/twitch-login.component.html +++ b/src/src/app/common/components/twitch-login/twitch-login.component.html @@ -1,4 +1,4 @@ diff --git a/src/src/app/common/components/twitch-login/twitch-login.component.spec.ts b/src/src/app/common/components/twitch-login/twitch-login.component.spec.ts index d65330e..1dacbf0 100644 --- a/src/src/app/common/components/twitch-login/twitch-login.component.spec.ts +++ b/src/src/app/common/components/twitch-login/twitch-login.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { TwitchLoginComponent } from './twitch-login.component'; +import {TwitchLoginComponent} from './twitch-login.component'; describe('TwitchLoginComponent', () => { let component: TwitchLoginComponent; diff --git a/src/src/app/common/components/twitch-login/twitch-login.component.ts b/src/src/app/common/components/twitch-login/twitch-login.component.ts index 5a02801..8e99ee7 100644 --- a/src/src/app/common/components/twitch-login/twitch-login.component.ts +++ b/src/src/app/common/components/twitch-login/twitch-login.component.ts @@ -1,14 +1,14 @@ -import { Component, Input } from '@angular/core'; -import { environment } from '../../../../environments/environment'; -import { NgOptimizedImage } from '@angular/common'; +import {Component, Input} from '@angular/core'; +import {environment} from '../../../../environments/environment'; +import {NgOptimizedImage} from '@angular/common'; -@Component({ - selector: 'app-twitch-login', - imports: [ - NgOptimizedImage - ], - templateUrl: './twitch-login.component.html', - styleUrl: './twitch-login.component.scss' +@Component({ + selector: 'app-twitch-login', + imports: [ + NgOptimizedImage + ], + templateUrl: './twitch-login.component.html', + styleUrl: './twitch-login.component.scss' }) export class TwitchLoginComponent { /** diff --git a/src/src/app/common/interface/oauth.ts b/src/src/app/common/interface/oauth.ts new file mode 100644 index 0000000..0a602a0 --- /dev/null +++ b/src/src/app/common/interface/oauth.ts @@ -0,0 +1,5 @@ +export interface OAuth { + bearer: string, + refresh: string, + expiresUtc: string +} diff --git a/src/src/app/middleware/auth.guard.spec.ts b/src/src/app/middleware/auth.guard.spec.ts index 245d5cc..25625b4 100644 --- a/src/src/app/middleware/auth.guard.spec.ts +++ b/src/src/app/middleware/auth.guard.spec.ts @@ -1,7 +1,7 @@ -import { TestBed } from '@angular/core/testing'; -import { CanActivateFn } from '@angular/router'; +import {TestBed} from '@angular/core/testing'; +import {CanActivateFn} from '@angular/router'; -import { authGuard } from './auth.guard'; +import {authGuard} from './auth.guard'; describe('authGuardGuard', () => { const executeGuard: CanActivateFn = (...guardParameters) => diff --git a/src/src/app/middleware/auth.guard.ts b/src/src/app/middleware/auth.guard.ts index da2f1e4..d4bbfe0 100644 --- a/src/src/app/middleware/auth.guard.ts +++ b/src/src/app/middleware/auth.guard.ts @@ -1,8 +1,8 @@ -import { CanActivateFn } from '@angular/router'; -import { environment } from "../../environments/environment"; -import { inject } from "@angular/core"; -import { NullinsideService } from "../service/nullinside.service"; -import { of, tap } from "rxjs"; +import {CanActivateFn} from '@angular/router'; +import {environment} from "../../environments/environment"; +import {inject} from "@angular/core"; +import {NullinsideService} from "../service/nullinside.service"; +import {of, tap} from "rxjs"; export const authGuard: CanActivateFn = (_, __) => { // TODO: Hook up the "returnUrl" in the rest of the application. GitHub issue # diff --git a/src/src/app/service/nullinside-null.service.ts b/src/src/app/service/nullinside-null.service.ts index 76f3efd..5369407 100644 --- a/src/src/app/service/nullinside-null.service.ts +++ b/src/src/app/service/nullinside-null.service.ts @@ -1,8 +1,8 @@ -import { Injectable } from '@angular/core'; -import { Observable } from 'rxjs'; -import { environment } from '../../environments/environment'; -import { HttpClient } from '@angular/common/http'; -import { ImdbSearch } from '../common/interface/imdb-search'; +import {Injectable} from '@angular/core'; +import {Observable} from 'rxjs'; +import {environment} from '../../environments/environment'; +import {HttpClient} from '@angular/common/http'; +import {ImdbSearch} from '../common/interface/imdb-search'; @Injectable({ providedIn: 'root' diff --git a/src/src/app/service/nullinside.service.ts b/src/src/app/service/nullinside.service.ts index a468546..b098de3 100644 --- a/src/src/app/service/nullinside.service.ts +++ b/src/src/app/service/nullinside.service.ts @@ -1,10 +1,10 @@ -import { Injectable } from '@angular/core'; -import { HttpClient } from "@angular/common/http"; -import { Observable } from "rxjs"; -import { environment } from "../../environments/environment"; -import { UserRolesResponse } from "../common/interface/user-roles-response"; -import { DockerResource } from '../common/interface/docker-resource'; -import { FeatureToggleResponse } from "../common/interface/feature-toggle-response"; +import {Injectable} from '@angular/core'; +import {HttpClient} from "@angular/common/http"; +import {Observable} from "rxjs"; +import {environment} from "../../environments/environment"; +import {UserRolesResponse} from "../common/interface/user-roles-response"; +import {DockerResource} from '../common/interface/docker-resource'; +import {FeatureToggleResponse} from "../common/interface/feature-toggle-response"; @Injectable({ providedIn: 'root' diff --git a/src/src/app/view/background-webgl-example/background-webgl-example.component.html b/src/src/app/view/background-webgl-example/background-webgl-example.component.html index 273ba5f..2b2b3a1 100644 --- a/src/src/app/view/background-webgl-example/background-webgl-example.component.html +++ b/src/src/app/view/background-webgl-example/background-webgl-example.component.html @@ -1,10 +1,10 @@ -@if(enum === OpenGlBackgrounds.BOX) { +@if (enum === OpenGlBackgrounds.BOX) { } @else { } - +
diff --git a/src/src/app/view/background-webgl-example/background-webgl-example.component.spec.ts b/src/src/app/view/background-webgl-example/background-webgl-example.component.spec.ts index 668bb25..0fa150d 100644 --- a/src/src/app/view/background-webgl-example/background-webgl-example.component.spec.ts +++ b/src/src/app/view/background-webgl-example/background-webgl-example.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { BackgroundWebglExampleComponent } from './background-webgl-example.component'; +import {BackgroundWebglExampleComponent} from './background-webgl-example.component'; describe('BackgroundWebglExampleComponent', () => { let component: BackgroundWebglExampleComponent; @@ -10,7 +10,7 @@ describe('BackgroundWebglExampleComponent', () => { await TestBed.configureTestingModule({ imports: [BackgroundWebglExampleComponent] }) - .compileComponents(); + .compileComponents(); fixture = TestBed.createComponent(BackgroundWebglExampleComponent); component = fixture.componentInstance; diff --git a/src/src/app/view/background-webgl-example/background-webgl-example.component.ts b/src/src/app/view/background-webgl-example/background-webgl-example.component.ts index 4f3bd43..7d7f8fd 100644 --- a/src/src/app/view/background-webgl-example/background-webgl-example.component.ts +++ b/src/src/app/view/background-webgl-example/background-webgl-example.component.ts @@ -1,24 +1,24 @@ -import { Component } from '@angular/core'; -import {BackgroundWebglComponent} from "../background-webgl/background-webgl.component"; -import {StandardBannerComponent} from "../../common/components/standard-banner/standard-banner.component"; -import {MatButton} from "@angular/material/button"; -import {MatMenu, MatMenuItem, MatMenuTrigger} from "@angular/material/menu"; -import {OpenGlBackgrounds} from "./backgrounds"; - +import {Component} from '@angular/core'; +import {BackgroundWebglComponent} from "../background-webgl/background-webgl.component"; +import {StandardBannerComponent} from "../../common/components/standard-banner/standard-banner.component"; +import {MatButton} from "@angular/material/button"; +import {MatMenu, MatMenuItem, MatMenuTrigger} from "@angular/material/menu"; +import {OpenGlBackgrounds} from "./backgrounds"; + @Component({ - selector: 'app-background-webgl-example', - imports: [ - BackgroundWebglComponent, - StandardBannerComponent, - MatButton, - MatMenu, - MatMenuItem, - MatMenuTrigger - ], - templateUrl: './background-webgl-example.component.html', - styleUrl: './background-webgl-example.component.scss' -}) -export class BackgroundWebglExampleComponent { - public enum: OpenGlBackgrounds = OpenGlBackgrounds.BOX; - protected readonly OpenGlBackgrounds = OpenGlBackgrounds; -} + selector: 'app-background-webgl-example', + imports: [ + BackgroundWebglComponent, + StandardBannerComponent, + MatButton, + MatMenu, + MatMenuItem, + MatMenuTrigger + ], + templateUrl: './background-webgl-example.component.html', + styleUrl: './background-webgl-example.component.scss' +}) +export class BackgroundWebglExampleComponent { + public enum: OpenGlBackgrounds = OpenGlBackgrounds.BOX; + protected readonly OpenGlBackgrounds = OpenGlBackgrounds; +} diff --git a/src/src/app/view/background-webgl/background-webgl.component.spec.ts b/src/src/app/view/background-webgl/background-webgl.component.spec.ts index 9084628..180aae5 100644 --- a/src/src/app/view/background-webgl/background-webgl.component.spec.ts +++ b/src/src/app/view/background-webgl/background-webgl.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { BackgroundWebglComponent } from './background-webgl.component'; +import {BackgroundWebglComponent} from './background-webgl.component'; describe('BackgroundWebglComponent', () => { let component: BackgroundWebglComponent; @@ -10,7 +10,7 @@ describe('BackgroundWebglComponent', () => { await TestBed.configureTestingModule({ imports: [BackgroundWebglComponent] }) - .compileComponents(); + .compileComponents(); fixture = TestBed.createComponent(BackgroundWebglComponent); component = fixture.componentInstance; diff --git a/src/src/app/view/background-webgl/background-webgl.component.ts b/src/src/app/view/background-webgl/background-webgl.component.ts index f41ac2b..6950f46 100644 --- a/src/src/app/view/background-webgl/background-webgl.component.ts +++ b/src/src/app/view/background-webgl/background-webgl.component.ts @@ -1,9 +1,9 @@ import {AfterViewInit, Component, ElementRef, OnDestroy, OnInit, ViewChild} from '@angular/core'; @Component({ - selector: 'app-background-webgl', - templateUrl: './background-webgl.component.html', - styleUrl: './background-webgl.component.scss' + selector: 'app-background-webgl', + templateUrl: './background-webgl.component.html', + styleUrl: './background-webgl.component.scss' }) export class BackgroundWebglComponent implements OnInit, OnDestroy, AfterViewInit { @ViewChild("canvas") @@ -29,7 +29,8 @@ void main() { gl_Position = vec4(aPos, 1.0); // we give a vec3 to vec4’s constructor vertexColor = vec4(0.5, 0.0, 0.0, 1.0); // output variable to dark-red }`; - animate: () => void = () => {}; + animate: () => void = () => { + }; dispose = false; private buffers: WebGLBuffer[] = []; private vertexArrays: WebGLVertexArrayObject[] = []; diff --git a/src/src/app/view/home/home.component.html b/src/src/app/view/home/home.component.html index e0aa5bf..4daddf4 100644 --- a/src/src/app/view/home/home.component.html +++ b/src/src/app/view/home/home.component.html @@ -1,4 +1,4 @@ - + @if (!loading) { @if (!error) { diff --git a/src/src/app/view/home/home.component.spec.ts b/src/src/app/view/home/home.component.spec.ts index 489be02..d760108 100644 --- a/src/src/app/view/home/home.component.spec.ts +++ b/src/src/app/view/home/home.component.spec.ts @@ -1,18 +1,18 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { HomeComponent } from './home.component'; -import { provideHttpClientTesting } from '@angular/common/http/testing'; -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; +import {HomeComponent} from './home.component'; +import {provideHttpClientTesting} from '@angular/common/http/testing'; +import {provideHttpClient, withInterceptorsFromDi} from '@angular/common/http'; describe('HomeComponent', () => { let component: HomeComponent; let fixture: ComponentFixture; beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [HomeComponent], - providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] -}) + await TestBed.configureTestingModule({ + imports: [HomeComponent], + providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] + }) .compileComponents(); fixture = TestBed.createComponent(HomeComponent); diff --git a/src/src/app/view/home/home.component.ts b/src/src/app/view/home/home.component.ts index cb44378..3a5d8f7 100644 --- a/src/src/app/view/home/home.component.ts +++ b/src/src/app/view/home/home.component.ts @@ -9,13 +9,13 @@ import {catchError, forkJoin, Observable, of} from "rxjs"; import {UserRolesResponse} from "../../common/interface/user-roles-response"; @Component({ - selector: 'app-home', - imports: [ - StandardBannerComponent, - LoadingIconComponent - ], - templateUrl: './home.component.html', - styleUrl: './home.component.scss' + selector: 'app-home', + imports: [ + StandardBannerComponent, + LoadingIconComponent + ], + templateUrl: './home.component.html', + styleUrl: './home.component.scss' }) export class HomeComponent implements OnInit { public roles: string[] | null = null; diff --git a/src/src/app/view/imdb-search/imdb-search.component.html b/src/src/app/view/imdb-search/imdb-search.component.html index a85a63b..56e2047 100644 --- a/src/src/app/view/imdb-search/imdb-search.component.html +++ b/src/src/app/view/imdb-search/imdb-search.component.html @@ -1,5 +1,5 @@
- +
@@ -18,7 +18,8 @@
@for (row of rows; track row.id) {
- {{ row.imdbId }}: {{ row.primaryTitle }} ({{ row.startYear }}) + {{ row.imdbId }}: {{ row.primaryTitle }} + ({{ row.startYear }})
}
diff --git a/src/src/app/view/imdb-search/imdb-search.component.spec.ts b/src/src/app/view/imdb-search/imdb-search.component.spec.ts index a3c1e9a..6901278 100644 --- a/src/src/app/view/imdb-search/imdb-search.component.spec.ts +++ b/src/src/app/view/imdb-search/imdb-search.component.spec.ts @@ -1,19 +1,19 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { ImdbSearchComponent } from './imdb-search.component'; -import { provideHttpClientTesting } from "@angular/common/http/testing"; -import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; +import {ImdbSearchComponent} from './imdb-search.component'; +import {provideHttpClientTesting} from "@angular/common/http/testing"; +import {BrowserAnimationsModule} from "@angular/platform-browser/animations"; +import {provideHttpClient, withInterceptorsFromDi} from '@angular/common/http'; describe('ImdbSearchComponent', () => { let component: ImdbSearchComponent; let fixture: ComponentFixture; beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ImdbSearchComponent, BrowserAnimationsModule], - providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] -}) + await TestBed.configureTestingModule({ + imports: [ImdbSearchComponent, BrowserAnimationsModule], + providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] + }) .compileComponents(); fixture = TestBed.createComponent(ImdbSearchComponent); diff --git a/src/src/app/view/imdb-search/imdb-search.component.ts b/src/src/app/view/imdb-search/imdb-search.component.ts index d190481..92854d4 100644 --- a/src/src/app/view/imdb-search/imdb-search.component.ts +++ b/src/src/app/view/imdb-search/imdb-search.component.ts @@ -1,24 +1,24 @@ -import { Component, OnDestroy } from '@angular/core'; -import { LogoComponent } from '../../common/components/logo/logo.component'; -import { NullinsideNullService } from '../../service/nullinside-null.service'; -import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatInput } from '@angular/material/input'; -import { MatButton } from '@angular/material/button'; -import { LoadingIconComponent } from '../../common/components/loading-icon/loading-icon.component'; -import { Subscription } from 'rxjs'; -import { ImdbSearchItems } from '../../common/interface/imdb-search'; +import {Component, OnDestroy} from '@angular/core'; +import {LogoComponent} from '../../common/components/logo/logo.component'; +import {NullinsideNullService} from '../../service/nullinside-null.service'; +import {MatFormFieldModule} from '@angular/material/form-field'; +import {MatInput} from '@angular/material/input'; +import {MatButton} from '@angular/material/button'; +import {LoadingIconComponent} from '../../common/components/loading-icon/loading-icon.component'; +import {Subscription} from 'rxjs'; +import {ImdbSearchItems} from '../../common/interface/imdb-search'; -@Component({ - selector: 'app-imdb-search', - imports: [ - LogoComponent, - MatFormFieldModule, - MatInput, - MatButton, - LoadingIconComponent - ], - templateUrl: './imdb-search.component.html', - styleUrl: './imdb-search.component.scss' +@Component({ + selector: 'app-imdb-search', + imports: [ + LogoComponent, + MatFormFieldModule, + MatInput, + MatButton, + LoadingIconComponent + ], + templateUrl: './imdb-search.component.html', + styleUrl: './imdb-search.component.scss' }) export class ImdbSearchComponent implements OnDestroy { searching: boolean = false; diff --git a/src/src/app/view/login-landing-desktop/login-landing-desktop.component.html b/src/src/app/view/login-landing-desktop/login-landing-desktop.component.html new file mode 100644 index 0000000..e548212 --- /dev/null +++ b/src/src/app/view/login-landing-desktop/login-landing-desktop.component.html @@ -0,0 +1,23 @@ +
+
+ +
+
+ @if (loading) { + Logging in + } @else { + @if (error !== '') { +
{{ error }}
+ } @else { + @if (null !== oAuth) { +

DO NOT SHOW ON STREAM

+ + } @else { +
Failed to get you authenticated, please try again
+ } + } + } +
+
diff --git a/src/src/app/view/login-landing-desktop/login-landing-desktop.component.scss b/src/src/app/view/login-landing-desktop/login-landing-desktop.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/src/app/view/login-landing-desktop/login-landing-desktop.component.spec.ts b/src/src/app/view/login-landing-desktop/login-landing-desktop.component.spec.ts new file mode 100644 index 0000000..11835f5 --- /dev/null +++ b/src/src/app/view/login-landing-desktop/login-landing-desktop.component.spec.ts @@ -0,0 +1,27 @@ +import {ComponentFixture, TestBed} from '@angular/core/testing'; + +import {LoginLandingDesktopComponent} from './login-landing-desktop.component'; +import {provideHttpClient, withInterceptorsFromDi} from "@angular/common/http"; +import {provideHttpClientTesting} from "@angular/common/http/testing"; +import {RouterModule} from "@angular/router"; + +describe('LoginLandingDesktopComponent', () => { + let component: LoginLandingDesktopComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [LoginLandingDesktopComponent, RouterModule.forRoot([])], + providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] + }) + .compileComponents(); + + fixture = TestBed.createComponent(LoginLandingDesktopComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/src/app/view/login-landing-desktop/login-landing-desktop.component.ts b/src/src/app/view/login-landing-desktop/login-landing-desktop.component.ts new file mode 100644 index 0000000..59b8332 --- /dev/null +++ b/src/src/app/view/login-landing-desktop/login-landing-desktop.component.ts @@ -0,0 +1,80 @@ +import {Component, OnInit} from '@angular/core'; +import {NullinsideService} from "../../service/nullinside.service"; +import {ActivatedRoute, ParamMap} from "@angular/router"; +import {Errors} from "../login-landing/errors"; +import {HttpErrorResponse} from "@angular/common/http"; +import {LoadingIconComponent} from "../../common/components/loading-icon/loading-icon.component"; +import {LogoComponent} from "../../common/components/logo/logo.component"; +import {OAuth} from "../../common/interface/oauth"; +import {MatButton} from "@angular/material/button"; +import {CdkCopyToClipboard} from "@angular/cdk/clipboard"; + +@Component({ + selector: 'app-login-landing-desktop', + imports: [ + LoadingIconComponent, + LogoComponent, + MatButton, + CdkCopyToClipboard + ], + templateUrl: './login-landing-desktop.component.html', + styleUrl: './login-landing-desktop.component.scss' +}) +export class LoginLandingDesktopComponent implements OnInit { + error: string = ''; + oAuth: OAuth | null = null; + loading: boolean = true; + + constructor(private api: NullinsideService, private route: ActivatedRoute) { + } + + ngOnInit(): void { + this.route.queryParamMap.subscribe({ + next: (params: ParamMap) => { + const error = params.get('error'); + if (null !== error) { + const errorNum = +error; + if (Errors.TwitchAccountHasNoEmail === errorNum) { + this.onLoginFailed('Your Twitch account must have a valid e-mail address, please add one and try again') + } else if (Errors.TwitchErrorWithToken === errorNum) { + this.onLoginFailed('Twitch failed to give us a valid token, please try again') + } else { + this.onLoginFailed('Sorry we did something wrong trying to log you in, please try again') + } + + return; + } + + const oAuth = { + bearer: params.get('bearer'), + refresh: params.get('refresh'), + expiresUtc: params.get('expiresUtc'), + }; + + if (null === oAuth.bearer || null === oAuth.refresh || null === oAuth.expiresUtc) { + this.onLoginFailed(); + return; + } + + this.oAuth = { + bearer: oAuth.bearer, + refresh: oAuth.refresh, + expiresUtc: oAuth.expiresUtc + }; + + navigator.clipboard.writeText(JSON.stringify(oAuth)); + this.loading = false; + }, + error: (_: HttpErrorResponse) => { + this.onLoginFailed(); + } + }); + } + + onLoginFailed(message = ':( Failed to login, please try again'): void { + this.error = message; + this.loading = false; + } + + protected readonly JSON = JSON; +} diff --git a/src/src/app/view/login-landing/login-landing.component.html b/src/src/app/view/login-landing/login-landing.component.html index 416c2ed..be06731 100644 --- a/src/src/app/view/login-landing/login-landing.component.html +++ b/src/src/app/view/login-landing/login-landing.component.html @@ -1,6 +1,6 @@
- +
@if (error === '') { diff --git a/src/src/app/view/login-landing/login-landing.component.spec.ts b/src/src/app/view/login-landing/login-landing.component.spec.ts index 22e6fe4..3aea48a 100644 --- a/src/src/app/view/login-landing/login-landing.component.spec.ts +++ b/src/src/app/view/login-landing/login-landing.component.spec.ts @@ -1,19 +1,19 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { LoginLandingComponent } from './login-landing.component'; -import { provideHttpClientTesting } from '@angular/common/http/testing'; -import { RouterModule } from '@angular/router'; -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; +import {LoginLandingComponent} from './login-landing.component'; +import {provideHttpClientTesting} from '@angular/common/http/testing'; +import {RouterModule} from '@angular/router'; +import {provideHttpClient, withInterceptorsFromDi} from '@angular/common/http'; describe('GoogleSigninLandingComponent', () => { let component: LoginLandingComponent; let fixture: ComponentFixture; beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [LoginLandingComponent, RouterModule.forRoot([])], - providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] -}) + await TestBed.configureTestingModule({ + imports: [LoginLandingComponent, RouterModule.forRoot([])], + providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] + }) .compileComponents(); fixture = TestBed.createComponent(LoginLandingComponent); diff --git a/src/src/app/view/login-landing/login-landing.component.ts b/src/src/app/view/login-landing/login-landing.component.ts index f3e8092..3004ed2 100644 --- a/src/src/app/view/login-landing/login-landing.component.ts +++ b/src/src/app/view/login-landing/login-landing.component.ts @@ -1,20 +1,20 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { NullinsideService } from "../../service/nullinside.service"; -import { LogoComponent } from "../../common/components/logo/logo.component"; -import { LoadingIconComponent } from "../../common/components/loading-icon/loading-icon.component"; -import { ActivatedRoute, ParamMap, Router } from "@angular/router"; -import { environment } from "../../../environments/environment"; -import { HttpErrorResponse } from "@angular/common/http"; -import { Errors } from "./errors"; +import {Component, OnDestroy, OnInit} from '@angular/core'; +import {NullinsideService} from "../../service/nullinside.service"; +import {LogoComponent} from "../../common/components/logo/logo.component"; +import {LoadingIconComponent} from "../../common/components/loading-icon/loading-icon.component"; +import {ActivatedRoute, ParamMap, Router} from "@angular/router"; +import {environment} from "../../../environments/environment"; +import {HttpErrorResponse} from "@angular/common/http"; +import {Errors} from "./errors"; -@Component({ - selector: 'app-login-landing', - imports: [ - LogoComponent, - LoadingIconComponent - ], - templateUrl: './login-landing.component.html', - styleUrl: './login-landing.component.scss' +@Component({ + selector: 'app-login-landing', + imports: [ + LogoComponent, + LoadingIconComponent + ], + templateUrl: './login-landing.component.html', + styleUrl: './login-landing.component.scss' }) export class LoginLandingComponent implements OnInit, OnDestroy { timerId: number = -1; @@ -38,9 +38,9 @@ export class LoginLandingComponent implements OnInit, OnDestroy { if (Errors.TwitchAccountHasNoEmail === errorNum) { this.onLoginFailed('Your Twitch account must have a valid e-mail address, please add one and try again', false) } else if (Errors.TwitchErrorWithToken === errorNum) { - this.onLoginFailed('Twitch failed to give us a valid token, please add one and try again', false) + this.onLoginFailed('Twitch failed to give us a valid token, please try again', false) } else { - this.onLoginFailed('Sorry we did something wrong trying to log you in, please add one and try again', false) + this.onLoginFailed('Sorry we did something wrong trying to log you in, please try again', false) } return; diff --git a/src/src/app/view/login/login.component.html b/src/src/app/view/login/login.component.html index 74f4ab5..c71437d 100644 --- a/src/src/app/view/login/login.component.html +++ b/src/src/app/view/login/login.component.html @@ -1,6 +1,6 @@
- +
- +
diff --git a/src/src/app/view/login/login.component.spec.ts b/src/src/app/view/login/login.component.spec.ts index 0fdd4b1..76cd259 100644 --- a/src/src/app/view/login/login.component.spec.ts +++ b/src/src/app/view/login/login.component.spec.ts @@ -1,19 +1,19 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { LoginComponent } from './login.component'; -import { provideHttpClientTesting } from '@angular/common/http/testing'; -import { RouterModule } from '@angular/router'; -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; +import {LoginComponent} from './login.component'; +import {provideHttpClientTesting} from '@angular/common/http/testing'; +import {RouterModule} from '@angular/router'; +import {provideHttpClient, withInterceptorsFromDi} from '@angular/common/http'; describe('IndexComponent', () => { let component: LoginComponent; let fixture: ComponentFixture; beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [LoginComponent, RouterModule.forRoot([])], - providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] -}) + await TestBed.configureTestingModule({ + imports: [LoginComponent, RouterModule.forRoot([])], + providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] + }) .compileComponents(); fixture = TestBed.createComponent(LoginComponent); diff --git a/src/src/app/view/login/login.component.ts b/src/src/app/view/login/login.component.ts index 44d6224..29a143b 100644 --- a/src/src/app/view/login/login.component.ts +++ b/src/src/app/view/login/login.component.ts @@ -1,21 +1,21 @@ -import { Component, OnInit } from '@angular/core'; -import { LogoComponent } from "../../common/components/logo/logo.component"; -import { environment } from "../../../environments/environment"; -import { NullinsideService } from "../../service/nullinside.service"; -import { ActivatedRoute, ParamMap, Router } from "@angular/router"; -import { LoadingIconComponent } from "../../common/components/loading-icon/loading-icon.component"; -import { HttpErrorResponse } from '@angular/common/http'; -import { TwitchLoginComponent } from '../../common/components/twitch-login/twitch-login.component'; +import {Component, OnInit} from '@angular/core'; +import {LogoComponent} from "../../common/components/logo/logo.component"; +import {environment} from "../../../environments/environment"; +import {NullinsideService} from "../../service/nullinside.service"; +import {ActivatedRoute, ParamMap, Router} from "@angular/router"; +import {LoadingIconComponent} from "../../common/components/loading-icon/loading-icon.component"; +import {HttpErrorResponse} from '@angular/common/http'; +import {TwitchLoginComponent} from '../../common/components/twitch-login/twitch-login.component'; @Component({ - selector: 'app-login', - imports: [ - LogoComponent, - LoadingIconComponent, - TwitchLoginComponent - ], - templateUrl: './login.component.html', - styleUrl: './login.component.scss' + selector: 'app-login', + imports: [ + LogoComponent, + LoadingIconComponent, + TwitchLoginComponent + ], + templateUrl: './login.component.html', + styleUrl: './login.component.scss' }) export class LoginComponent implements OnInit { loginUrl: string; diff --git a/src/src/app/view/not-found/not-found.component.html b/src/src/app/view/not-found/not-found.component.html index a0ebe66..52e215b 100644 --- a/src/src/app/view/not-found/not-found.component.html +++ b/src/src/app/view/not-found/not-found.component.html @@ -1,6 +1,6 @@
- +
diff --git a/src/src/app/view/not-found/not-found.component.spec.ts b/src/src/app/view/not-found/not-found.component.spec.ts index 69e6f26..97b1e3a 100644 --- a/src/src/app/view/not-found/not-found.component.spec.ts +++ b/src/src/app/view/not-found/not-found.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { NotFoundComponent } from './not-found.component'; +import {NotFoundComponent} from './not-found.component'; describe('NotFoundComponent', () => { let component: NotFoundComponent; diff --git a/src/src/app/view/not-found/not-found.component.ts b/src/src/app/view/not-found/not-found.component.ts index 36a32e2..d4600d3 100644 --- a/src/src/app/view/not-found/not-found.component.ts +++ b/src/src/app/view/not-found/not-found.component.ts @@ -1,11 +1,11 @@ -import { Component } from '@angular/core'; -import { LogoComponent } from "../../common/components/logo/logo.component"; +import {Component} from '@angular/core'; +import {LogoComponent} from "../../common/components/logo/logo.component"; -@Component({ - selector: 'app-not-found', - imports: [LogoComponent], - templateUrl: './not-found.component.html', - styleUrl: './not-found.component.scss' +@Component({ + selector: 'app-not-found', + imports: [LogoComponent], + templateUrl: './not-found.component.html', + styleUrl: './not-found.component.scss' }) export class NotFoundComponent { diff --git a/src/src/app/view/twitch/twitch-bot-config/twitch-bot-config.component.ts b/src/src/app/view/twitch/twitch-bot-config/twitch-bot-config.component.ts index 8b3fbfa..fe69767 100644 --- a/src/src/app/view/twitch/twitch-bot-config/twitch-bot-config.component.ts +++ b/src/src/app/view/twitch/twitch-bot-config/twitch-bot-config.component.ts @@ -15,19 +15,19 @@ import {MatSnackBar} from "@angular/material/snack-bar"; import {FormsModule} from "@angular/forms"; import {Location} from "@angular/common"; -@Component({ - selector: 'app-twitch-bot-config', - imports: [ - LogoComponent, - MatButton, - LoadingIconComponent, - MatSlideToggle, - MatCheckbox, - TwitchBotFaqComponent, - FormsModule - ], - templateUrl: './twitch-bot-config.component.html', - styleUrl: './twitch-bot-config.component.scss' +@Component({ + selector: 'app-twitch-bot-config', + imports: [ + LogoComponent, + MatButton, + LoadingIconComponent, + MatSlideToggle, + MatCheckbox, + TwitchBotFaqComponent, + FormsModule + ], + templateUrl: './twitch-bot-config.component.html', + styleUrl: './twitch-bot-config.component.scss' }) export class TwitchBotConfigComponent implements OnInit, OnDestroy { public botIsMod: boolean | null = null; diff --git a/src/src/app/view/twitch/twitch-bot-faq/twitch-bot-faq.component.spec.ts b/src/src/app/view/twitch/twitch-bot-faq/twitch-bot-faq.component.spec.ts index da3169d..02e87fe 100644 --- a/src/src/app/view/twitch/twitch-bot-faq/twitch-bot-faq.component.spec.ts +++ b/src/src/app/view/twitch/twitch-bot-faq/twitch-bot-faq.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { TwitchBotFaqComponent } from './twitch-bot-faq.component'; +import {TwitchBotFaqComponent} from './twitch-bot-faq.component'; describe('TwitchBotFaqComponent', () => { let component: TwitchBotFaqComponent; @@ -10,8 +10,8 @@ describe('TwitchBotFaqComponent', () => { await TestBed.configureTestingModule({ imports: [TwitchBotFaqComponent] }) - .compileComponents(); - + .compileComponents(); + fixture = TestBed.createComponent(TwitchBotFaqComponent); component = fixture.componentInstance; fixture.detectChanges(); diff --git a/src/src/app/view/twitch/twitch-bot-faq/twitch-bot-faq.component.ts b/src/src/app/view/twitch/twitch-bot-faq/twitch-bot-faq.component.ts index 163d10b..abf0bf8 100644 --- a/src/src/app/view/twitch/twitch-bot-faq/twitch-bot-faq.component.ts +++ b/src/src/app/view/twitch/twitch-bot-faq/twitch-bot-faq.component.ts @@ -1,10 +1,10 @@ -import { Component } from '@angular/core'; +import {Component} from '@angular/core'; -@Component({ - selector: 'app-twitch-bot-faq', - imports: [], - templateUrl: './twitch-bot-faq.component.html', - styleUrl: './twitch-bot-faq.component.scss' +@Component({ + selector: 'app-twitch-bot-faq', + imports: [], + templateUrl: './twitch-bot-faq.component.html', + styleUrl: './twitch-bot-faq.component.scss' }) export class TwitchBotFaqComponent { diff --git a/src/src/app/view/twitch/twitch-bot-index/twitch-bot-index.component.spec.ts b/src/src/app/view/twitch/twitch-bot-index/twitch-bot-index.component.spec.ts index 718c84e..3281975 100644 --- a/src/src/app/view/twitch/twitch-bot-index/twitch-bot-index.component.spec.ts +++ b/src/src/app/view/twitch/twitch-bot-index/twitch-bot-index.component.spec.ts @@ -1,6 +1,6 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { TwitchBotIndexComponent } from './twitch-bot-index.component'; +import {TwitchBotIndexComponent} from './twitch-bot-index.component'; describe('TwitchBotIndexComponent', () => { let component: TwitchBotIndexComponent; diff --git a/src/src/app/view/twitch/twitch-bot-index/twitch-bot-index.component.ts b/src/src/app/view/twitch/twitch-bot-index/twitch-bot-index.component.ts index 044c1ae..c9d9e3d 100644 --- a/src/src/app/view/twitch/twitch-bot-index/twitch-bot-index.component.ts +++ b/src/src/app/view/twitch/twitch-bot-index/twitch-bot-index.component.ts @@ -5,14 +5,14 @@ import {TwitchBotFaqComponent} from "../twitch-bot-faq/twitch-bot-faq.component" import {environment} from "../../../../environments/environment"; @Component({ - selector: 'app-twitch-bot-index', - imports: [ - StandardBannerComponent, - TwitchLoginComponent, - TwitchBotFaqComponent - ], - templateUrl: './twitch-bot-index.component.html', - styleUrl: './twitch-bot-index.component.scss' + selector: 'app-twitch-bot-index', + imports: [ + StandardBannerComponent, + TwitchLoginComponent, + TwitchBotFaqComponent + ], + templateUrl: './twitch-bot-index.component.html', + styleUrl: './twitch-bot-index.component.scss' }) export class TwitchBotIndexComponent { protected readonly environment = environment; diff --git a/src/src/app/view/vm-manager/interface/ActionableDockerResource.ts b/src/src/app/view/vm-manager/interface/ActionableDockerResource.ts index 8c5079f..7e4e93b 100644 --- a/src/src/app/view/vm-manager/interface/ActionableDockerResource.ts +++ b/src/src/app/view/vm-manager/interface/ActionableDockerResource.ts @@ -1,4 +1,4 @@ -import { DockerResource } from '../../../common/interface/docker-resource'; +import {DockerResource} from '../../../common/interface/docker-resource'; export interface ActionableDockerResource extends DockerResource { isRunning: boolean; diff --git a/src/src/app/view/vm-manager/vm-manager.component.html b/src/src/app/view/vm-manager/vm-manager.component.html index 8e1e8c8..310ee53 100644 --- a/src/src/app/view/vm-manager/vm-manager.component.html +++ b/src/src/app/view/vm-manager/vm-manager.component.html @@ -1,5 +1,5 @@
- +
@if (error) { @@ -21,7 +21,7 @@

aria-label="status" [style.color]="vm.isOnline ? 'green' : 'grey'" [fontIcon]="vm.isOnline ? 'radio_button_checked' : 'radio_button_unchecked'" - [matTooltip]="vm.isOnline ? 'Online' : 'Offline'" /> + [matTooltip]="vm.isOnline ? 'Online' : 'Offline'"/> tabindex="0" [style.cursor]="'pointer'" [fontIcon]="vm.isOnline ? 'power_off' : 'power_settings_new'" - [matTooltip]="vm.isOnline ? 'Turn Off' : 'Turn On'" /> + [matTooltip]="vm.isOnline ? 'Turn Off' : 'Turn On'"/> } @else { - + }

{{ vm.notes }}

diff --git a/src/src/app/view/vm-manager/vm-manager.component.spec.ts b/src/src/app/view/vm-manager/vm-manager.component.spec.ts index 400b11c..b35a38f 100644 --- a/src/src/app/view/vm-manager/vm-manager.component.spec.ts +++ b/src/src/app/view/vm-manager/vm-manager.component.spec.ts @@ -1,18 +1,18 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; -import { VmManagerComponent } from './vm-manager.component'; -import { provideHttpClientTesting } from '@angular/common/http/testing'; -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; +import {VmManagerComponent} from './vm-manager.component'; +import {provideHttpClientTesting} from '@angular/common/http/testing'; +import {provideHttpClient, withInterceptorsFromDi} from '@angular/common/http'; describe('VmManagerComponent', () => { let component: VmManagerComponent; let fixture: ComponentFixture; beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [VmManagerComponent], - providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] -}) + await TestBed.configureTestingModule({ + imports: [VmManagerComponent], + providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()] + }) .compileComponents(); fixture = TestBed.createComponent(VmManagerComponent); diff --git a/src/src/app/view/vm-manager/vm-manager.component.ts b/src/src/app/view/vm-manager/vm-manager.component.ts index a66f5d1..5a2ef41 100644 --- a/src/src/app/view/vm-manager/vm-manager.component.ts +++ b/src/src/app/view/vm-manager/vm-manager.component.ts @@ -1,22 +1,22 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { LogoComponent } from '../../common/components/logo/logo.component'; -import { NullinsideService } from '../../service/nullinside.service'; -import { MatIcon } from '@angular/material/icon'; -import { MatTooltip } from '@angular/material/tooltip'; -import { LoadingIconComponent } from '../../common/components/loading-icon/loading-icon.component'; -import { interval, Subscription } from 'rxjs'; -import { ActionableDockerResource } from './interface/ActionableDockerResource'; +import {Component, OnDestroy, OnInit} from '@angular/core'; +import {LogoComponent} from '../../common/components/logo/logo.component'; +import {NullinsideService} from '../../service/nullinside.service'; +import {MatIcon} from '@angular/material/icon'; +import {MatTooltip} from '@angular/material/tooltip'; +import {LoadingIconComponent} from '../../common/components/loading-icon/loading-icon.component'; +import {interval, Subscription} from 'rxjs'; +import {ActionableDockerResource} from './interface/ActionableDockerResource'; -@Component({ - selector: 'app-vm-manager', - imports: [ - LogoComponent, - MatIcon, - MatTooltip, - LoadingIconComponent - ], - templateUrl: './vm-manager.component.html', - styleUrl: './vm-manager.component.scss' +@Component({ + selector: 'app-vm-manager', + imports: [ + LogoComponent, + MatIcon, + MatTooltip, + LoadingIconComponent + ], + templateUrl: './vm-manager.component.html', + styleUrl: './vm-manager.component.scss' }) export class VmManagerComponent implements OnInit, OnDestroy { public vms: ActionableDockerResource[] | null = null; diff --git a/src/src/index.html b/src/src/index.html index df29202..69684a3 100644 --- a/src/src/index.html +++ b/src/src/index.html @@ -4,9 +4,9 @@ nullinside - - - + + + diff --git a/src/src/main.ts b/src/src/main.ts index 89ca567..29523bb 100644 --- a/src/src/main.ts +++ b/src/src/main.ts @@ -1,6 +1,6 @@ -import { bootstrapApplication } from '@angular/platform-browser'; -import { appConfig } from './app/app.config'; -import { AppComponent } from './app/app.component'; +import {bootstrapApplication} from '@angular/platform-browser'; +import {appConfig} from './app/app.config'; +import {AppComponent} from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch((err) => console.error(err));