diff --git a/backend/src/managers/image/image.module.ts b/backend/src/managers/image/image.module.ts
index e8d0df2..0afb5a6 100644
--- a/backend/src/managers/image/image.module.ts
+++ b/backend/src/managers/image/image.module.ts
@@ -64,7 +64,7 @@ export class ImageManagerModule implements OnModuleInit, OnModuleDestroy {
this.logger.warn(result.print());
}
- this.logger.log(`Cleaned up ${result} derivatives`);
+ if (result > 0) this.logger.log(`Cleaned up ${result} derivatives`);
}
private async cleanupExpired() {
@@ -74,7 +74,8 @@ export class ImageManagerModule implements OnModuleInit, OnModuleDestroy {
this.logger.warn(cleanedUp.print());
}
- this.logger.log(`Cleaned up ${cleanedUp} expired images`);
+ if (cleanedUp > 0)
+ this.logger.log(`Cleaned up ${cleanedUp} expired images`);
}
onModuleDestroy() {
diff --git a/frontend/src/app/app.component.html b/frontend/src/app/app.component.html
index c2a1feb..bbf38e5 100644
--- a/frontend/src/app/app.component.html
+++ b/frontend/src/app/app.component.html
@@ -1,6 +1,7 @@
diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts
index 5cd9b22..f761b31 100644
--- a/frontend/src/app/app.component.ts
+++ b/frontend/src/app/app.component.ts
@@ -5,7 +5,8 @@ import {
ActivatedRoute,
NavigationEnd,
NavigationError,
- Router,
+ NavigationStart,
+ Router
} from '@angular/router';
import { AutoUnsubscribe } from 'ngx-auto-unsubscribe-decorator';
import { RouteTransitionAnimations } from './app.animation';
@@ -24,6 +25,9 @@ export class AppComponent implements OnInit {
@ViewChild(MatSidenav) sidebar: MatSidenav;
+ loading: boolean = false;
+ private loadingTimeout: number | null = null;
+
wrapContentWithContainer: boolean = true;
sidebarPortal: Portal | undefined = undefined;
@@ -54,6 +58,12 @@ export class AppComponent implements OnInit {
@AutoUnsubscribe()
private subscribeRouter() {
return this.router.events.subscribe((event) => {
+ if (event instanceof NavigationStart) {
+ this.loadingStart();
+ }
+ if (event instanceof NavigationEnd) {
+ this.loadingEnd();
+ }
if (event instanceof NavigationEnd) this.onNavigationEnd(event);
if (event instanceof NavigationError) this.onNavigationError(event);
});
@@ -87,6 +97,21 @@ export class AppComponent implements OnInit {
this.updateSidebar();
}
+ private loadingStart() {
+ if (this.loadingTimeout !== null) clearTimeout(this.loadingTimeout);
+
+ this.loadingTimeout = window.setTimeout(() => {
+ this.loading = true;
+ }, 500);
+ }
+
+ private loadingEnd() {
+ if (this.loadingTimeout !== null) clearTimeout(this.loadingTimeout);
+ this.loadingTimeout = null;
+
+ this.loading = false;
+ }
+
private updateSidebar() {
if (!this.sidebar) return;
diff --git a/frontend/src/app/components/header/header.component.html b/frontend/src/app/components/header/header.component.html
index df89143..ef0e0a9 100644
--- a/frontend/src/app/components/header/header.component.html
+++ b/frontend/src/app/components/header/header.component.html
@@ -1,4 +1,11 @@
+
+