import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core'; import { CommonModule } from '@angular/common'; import { EventState, ledBackgroundColor } from '../../../core/services/event-status.store'; @Component({ selector: 'app-shell-header', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], styles: [` .led { display: inline-block; width: 10px; height: 10px; border-radius: 50%; border: 0; vertical-align: middle; } `], template: `
{{ activeSection() }}
{{ countdownText() }}
@if (userMenuOpen()) { }
`, }) export class ShellHeaderComponent { readonly pageTitle = input('HIPCTF'); readonly activeSection = input('Challenges'); readonly eventState = input('unconfigured'); readonly countdownText = input(''); readonly username = input(''); readonly rankText = input(''); readonly canAccessAdmin = input(false); readonly userMenuOpen = input(false); readonly titleClick = output(); readonly usernameMenuToggle = output(); readonly rankClick = output(); readonly changePasswordClick = output(); readonly adminClick = output(); readonly logoutClick = output(); readonly ledColor = computed(() => ledBackgroundColor(this.eventState())); }