All files / app/layout/reload-prompt reload-prompt.component.ts

100% Statements 9/9
100% Branches 0/0
100% Functions 3/3
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 332x 2x 2x                                   2x 5x 5x     1x       2x      
import { A11yModule } from '@angular/cdk/a11y';
import { ChangeDetectionStrategy, Component, output } from '@angular/core';
import { ButtonComponent } from '@drevo-web/ui';
 
// Intentionally does NOT use ModalService: shown after a chunk load failure,
// when further lazy imports (including dialog infrastructure) are unreliable.
// A self-contained overlay keeps the fallback independent of the broken state.
@Component({
    selector: 'app-reload-prompt',
    imports: [A11yModule, ButtonComponent],
    templateUrl: './reload-prompt.component.html',
    styleUrl: './reload-prompt.component.scss',
    changeDetection: ChangeDetectionStrategy.OnPush,
    host: {
        role: 'alertdialog',
        'aria-modal': 'true',
        'aria-labelledby': 'reload-prompt-title',
        'aria-describedby': 'reload-prompt-body',
    },
})
export class ReloadPromptComponent {
    readonly reload = output<void>();
    readonly dismiss = output<void>();
 
    protected onReloadClick(): void {
        this.reload.emit();
    }
 
    protected onDismissClick(): void {
        this.dismiss.emit();
    }
}