Merge pull request #4746 from mempool/nymkappa/subdomain-cache-buster

[enterprise] implement subdomain logo cache buster
This commit is contained in:
wiz
2024-03-09 13:49:17 +09:00
committed by GitHub
3 changed files with 20 additions and 7 deletions

View File

@@ -16,9 +16,9 @@
</ng-container>
<a class="navbar-brand" [ngClass]="{'dual-logos': subdomain}" [routerLink]="['/' | relativeUrl]" (click)="brandClick($event)">
<ng-template [ngIf]="subdomain">
<ng-template [ngIf]="subdomain && enterpriseInfo">
<div class="subdomain_container">
<img [src]="'/api/v1/services/enterprise/images/' + subdomain + '/logo'" class="subdomain_logo">
<img [src]="'/api/v1/services/enterprise/images/' + subdomain + '/logo?imageMd5=' + enterpriseInfo.imageMd5" class="subdomain_logo">
</div>
</ng-template>
<ng-container *ngIf="{ val: connectionState$ | async } as connectionState">

View File

@@ -1,7 +1,7 @@
import { Component, OnInit, Input, ViewChild } from '@angular/core';
import { Component, OnInit, OnDestroy, Input, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { Env, StateService } from '../../services/state.service';
import { Observable, merge, of } from 'rxjs';
import { Observable, merge, of, Subscription } from 'rxjs';
import { LanguageService } from '../../services/language.service';
import { EnterpriseService } from '../../services/enterprise.service';
import { NavigationService } from '../../services/navigation.service';
@@ -14,7 +14,7 @@ import { ApiService } from '../../services/api.service';
templateUrl: './master-page.component.html',
styleUrls: ['./master-page.component.scss'],
})
export class MasterPageComponent implements OnInit {
export class MasterPageComponent implements OnInit, OnDestroy {
@Input() headerVisible = true;
@Input() footerVisibleOverride: boolean | null = null;
@@ -32,6 +32,9 @@ export class MasterPageComponent implements OnInit {
user: any = undefined;
servicesEnabled = false;
menuOpen = false;
enterpriseInfo: any;
enterpriseInfo$: Subscription;
@ViewChild(MenuComponent)
public menuComponent!: MenuComponent;
@@ -64,6 +67,9 @@ export class MasterPageComponent implements OnInit {
this.footerVisible = this.footerVisibleOverride;
}
});
this.enterpriseInfo$ = this.enterpriseService.info$.subscribe(info => {
this.enterpriseInfo = info;
});
this.servicesEnabled = this.officialMempoolSpace && this.stateService.env.ACCELERATOR === true && this.stateService.network === '';
this.refreshAuth();
@@ -72,6 +78,12 @@ export class MasterPageComponent implements OnInit {
this.menuOpen = isServicesPage && !this.isSmallScreen();
}
ngOnDestroy() {
if (this.enterpriseInfo$) {
this.enterpriseInfo$.unsubscribe();
}
}
collapse(): void {
this.navCollapsed = !this.navCollapsed;
}