From 4e4dd97af4d1a2439decce152c9c7f2b83587911 Mon Sep 17 00:00:00 2001 From: Joseph Milazzo Date: Fri, 19 Jan 2024 07:35:29 -0600 Subject: [PATCH 1/2] Setup the container for pushing to old repo --- .github/workflows/build-and-test.yml | 10 +++--- UI/Web/src/app/app.component.ts | 34 ++++++++++++++----- .../update-modal/update-modal.component.html | 20 +++++++++++ .../update-modal/update-modal.component.scss | 0 .../update-modal/update-modal.component.ts | 20 +++++++++++ 5 files changed, 70 insertions(+), 14 deletions(-) create mode 100644 UI/Web/src/app/update-modal/update-modal.component.html create mode 100644 UI/Web/src/app/update-modal/update-modal.component.scss create mode 100644 UI/Web/src/app/update-modal/update-modal.component.ts diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 77a768ae08..31ede1617e 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -257,7 +257,7 @@ jobs: body=${body//$'>'/'%3E'} echo $body echo "BODY=$body" >> $GITHUB_OUTPUT - + - name: Check Out Repo uses: actions/checkout@v3 @@ -415,15 +415,15 @@ jobs: - name: Login to Docker Hub uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + username: ${{ secrets.DOCKER_HUB_USERNAME_LEGACY }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN_LEGACY }} - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + password: ${{ secrets.GITHUB_TOKEN_LEGACY }} - name: Set up QEMU uses: docker/setup-qemu-action@v2 @@ -439,7 +439,7 @@ jobs: context: . platforms: linux/amd64,linux/arm/v7,linux/arm64 push: true - tags: kizaing/kavita:canary, kizaing/kavita:canary-${{ steps.parse-version.outputs.VERSION }}, ghcr.io/kareadita/kavita:canary, ghcr.io/kareadita/kavita:canary-${{ steps.parse-version.outputs.VERSION }} + tags: kizaing/kavita:canary, kizaing/kavita:canary-${{ steps.parse-version.outputs.VERSION }}, ghcr.io/kareadita/kavita:canary, ghcr.io/kareadita/kavita:canary-${{ steps.parse-version.outputs.VERSION }}, kizaing/kavita:latest, kizaing/kavita:${{ steps.parse-version.outputs.VERSION }}, ghcr.io/kareadita/kavita:latest, ghcr.io/kareadita/kavita:${{ steps.parse-version.outputs.VERSION }}, kizaing/kavita:nightly, kizaing/kavita:nightly-${{ steps.parse-version.outputs.VERSION }}, ghcr.io/kareadita/kavita:nightly, ghcr.io/kareadita/kavita:nightly-${{ steps.parse-version.outputs.VERSION }} - name: Image digest run: echo ${{ steps.docker_build.outputs.digest }} diff --git a/UI/Web/src/app/app.component.ts b/UI/Web/src/app/app.component.ts index c87d1773f5..e60e1fb0dc 100644 --- a/UI/Web/src/app/app.component.ts +++ b/UI/Web/src/app/app.component.ts @@ -1,18 +1,20 @@ import {Component, DestroyRef, HostListener, inject, Inject, OnInit} from '@angular/core'; import { NavigationStart, Router, RouterOutlet } from '@angular/router'; -import {map, pluck, shareReplay, take} from 'rxjs/operators'; +import {map, pluck, shareReplay, take, tap} from 'rxjs/operators'; import { AccountService } from './_services/account.service'; import { LibraryService } from './_services/library.service'; import { NavService } from './_services/nav.service'; import { filter } from 'rxjs/operators'; import { NgbModal, NgbRatingConfig } from '@ng-bootstrap/ng-bootstrap'; import { DOCUMENT, NgClass, NgIf, AsyncPipe } from '@angular/common'; -import { Observable } from 'rxjs'; +import {interval, Observable} from 'rxjs'; import {ThemeService} from "./_services/theme.service"; import { SideNavComponent } from './sidenav/_components/side-nav/side-nav.component'; import {NavHeaderComponent} from "./nav/_components/nav-header/nav-header.component"; import {takeUntilDestroyed} from "@angular/core/rxjs-interop"; import {translate, TranslocoService} from "@ngneat/transloco"; +import {ImportCblModalComponent} from "./reading-list/_modals/import-cbl-modal/import-cbl-modal.component"; +import {UpdateModalComponent} from "./update-modal/update-modal.component"; @Component({ selector: 'app-root', @@ -38,13 +40,13 @@ export class AppComponent implements OnInit { ratingConfig.resettable = true; // Close any open modals when a route change occurs - router.events - .pipe(filter(event => event instanceof NavigationStart), takeUntilDestroyed(this.destroyRef)) - .subscribe((event) => { - if (this.ngbModal.hasOpenModals()) { - this.ngbModal.dismissAll(); - } - }); + // router.events + // .pipe(filter(event => event instanceof NavigationStart), takeUntilDestroyed(this.destroyRef)) + // .subscribe((event) => { + // if (this.ngbModal.hasOpenModals()) { + // this.ngbModal.dismissAll(); + // } + // }); this.transitionState$ = this.accountService.currentUser$.pipe(map((user) => { if (!user) return false; @@ -62,6 +64,20 @@ export class AppComponent implements OnInit { ngOnInit(): void { this.setDocHeight(); + + // Pop an update notice that nags user to update to the new repo + this.ngbModal.open(UpdateModalComponent, {size: 'xl'}) + interval(30 * 60 * 1000) // 30 minutes in milliseconds + .pipe( + tap(() => { + if (!this.ngbModal.hasOpenModals()) { + this.ngbModal.open(UpdateModalComponent, {size: 'xl'}) + } + }) + ) + .subscribe(); + + this.setCurrentUser(); } diff --git a/UI/Web/src/app/update-modal/update-modal.component.html b/UI/Web/src/app/update-modal/update-modal.component.html new file mode 100644 index 0000000000..01c91d95f9 --- /dev/null +++ b/UI/Web/src/app/update-modal/update-modal.component.html @@ -0,0 +1,20 @@ + + + diff --git a/UI/Web/src/app/update-modal/update-modal.component.scss b/UI/Web/src/app/update-modal/update-modal.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/UI/Web/src/app/update-modal/update-modal.component.ts b/UI/Web/src/app/update-modal/update-modal.component.ts new file mode 100644 index 0000000000..a7c1b991b3 --- /dev/null +++ b/UI/Web/src/app/update-modal/update-modal.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import {NgbActiveModal} from "@ng-bootstrap/ng-bootstrap"; + +@Component({ + selector: 'app-update-modal', + standalone: true, + imports: [CommonModule], + templateUrl: './update-modal.component.html', + styleUrls: ['./update-modal.component.scss'] +}) +export class UpdateModalComponent { + + constructor(private ngbActiveModal: NgbActiveModal) { + console.log('hello') + } + close() { + this.ngbActiveModal.close(); + } +} From ecbad5f0e12c69dd70241fb18da74003eaf3a70f Mon Sep 17 00:00:00 2001 From: Joseph Milazzo Date: Sat, 20 Jan 2024 11:02:11 -0600 Subject: [PATCH 2/2] Ready to push to old repo --- .github/workflows/build-and-test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 31ede1617e..d15e3e1bb6 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -415,15 +415,15 @@ jobs: - name: Login to Docker Hub uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKER_HUB_USERNAME_LEGACY }} - password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN_LEGACY }} + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN_LEGACY }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v2