All files / app/layout/header header.component.ts

78.94% Statements 15/19
100% Branches 0/0
33.33% Functions 2/6
92.85% Lines 13/14

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 33 34 35 36 37 38 393x 3x 3x 3x 3x 3x 3x                             3x 30x 30x 30x 30x     1x                    
import { AccountDropdownComponent } from './account-dropdown/account-dropdown.component';
import { FontScaleControlComponent } from './font-scale-control/font-scale-control.component';
import { ThemeToggleComponent } from './theme-toggle/theme-toggle.component';
import { PageTitleStrategy } from '../../services/page-title.strategy';
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
import { DrawerService } from '@drevo-web/core';
import { IconButtonComponent, LineClampComponent, ModalService } from '@drevo-web/ui';
 
@Component({
    selector: 'app-header',
    imports: [
        AccountDropdownComponent,
        FontScaleControlComponent,
        LineClampComponent,
        ThemeToggleComponent,
        IconButtonComponent,
    ],
    templateUrl: './header.component.html',
    styleUrl: './header.component.scss',
    changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HeaderComponent {
    private readonly modalService = inject(ModalService);
    private readonly drawerService = inject(DrawerService);
    private readonly pageTitleStrategy = inject(PageTitleStrategy);
    readonly pageTitle = this.pageTitleStrategy.pageTitle;
 
    toggleDrawer(): void {
        this.drawerService.toggle();
    }
 
    openSearch(): void {
        this.modalService.open(() => import('../../features/search/search.component').then(m => m.SearchComponent), {
            width: '600px',
            minHeight: '90vh',
        });
    }
}