File

src/lib/layout/layout.component.ts

Metadata

Index

Properties

Properties

Public Readonly logoHeight
Type : Signal<number>
Default value : computed(() => this.logoService.height())
Protected Readonly logoService
Default value : inject(LogoService)
Public Readonly logoSrc
Type : Signal<string>
Default value : computed(() => this.logoService.src())
Public Readonly logoWidth
Type : Signal<number>
Default value : computed(() => this.logoService.width())
import {
  AsyncPipe,
  NgClass,
  NgIf,
  NgOptimizedImage,
  NgStyle,
} from '@angular/common';
import {
  ChangeDetectionStrategy,
  Component,
  computed,
  inject,
  Signal,
} from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatMenuModule } from '@angular/material/menu';
import { MatSidenavModule } from '@angular/material/sidenav';
import {
  RouterLink,
  RouterOutlet,
} from '@angular/router';
import { FooterComponent } from '../footer/footer.component';
import { HeaderComponent } from '../header/header.component';
import { LogoService } from '../logo.service';
import { NavigationProgressBarComponent } from '../navigation-progress-bar/navigation-progress-bar.component';
import { NavigationComponent } from '../navigation/navigation.component';
import { ReleaseInfoComponent } from '../release-info/release-info.component';
import { SidenavFooterDirective } from '../sidenav/sidenav-footer.directive';
import { SidenavComponent } from '../sidenav/sidenav.component';


@Component({
    selector: 'rxap-layout',
    templateUrl: './layout.component.html',
    styleUrls: ['./layout.component.scss'],
    changeDetection: ChangeDetectionStrategy.OnPush,
    imports: [
        HeaderComponent,
        MatSidenavModule,
        AsyncPipe,
        MatIconModule,
        MatButtonModule,
        RouterLink,
        NgIf,
        FooterComponent,
        MatMenuModule,
        NgOptimizedImage,
        NavigationComponent,
        RouterOutlet,
        NgStyle,
        NgClass,
        SidenavComponent,
        ReleaseInfoComponent,
        SidenavFooterDirective,
        NavigationProgressBarComponent,
    ]
})
export class LayoutComponent {

  protected readonly logoService = inject(LogoService);
  public readonly logoSrc: Signal<string> = computed(() => this.logoService.src());
  public readonly logoWidth: Signal<number> = computed(() => this.logoService.width());
  public readonly logoHeight: Signal<number> = computed(() => this.logoService.height());

}
<rxap-header class="z-10 w-full fixed top-0"></rxap-header>
<rxap-navigation-progress-bar></rxap-navigation-progress-bar>
<rxap-sidenav>
  <router-outlet></router-outlet>
  <ng-template rxapSidenavFooter>
    <img
      [src]="logoSrc()"
      [routerLink]="['/']"
      [width]="logoWidth()"
      [height]="logoHeight()"
      alt="logo"
      class="grow-0 mx-16 cursor-pointer"
    />
    <div class="grow-0 px-16 mt-4">
      <rxap-release-info></rxap-release-info>
    </div>
  </ng-template>
</rxap-sidenav>
<rxap-footer class="z-10 w-full fixed bottom-0"></rxap-footer>

./layout.component.scss

Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""