File

src/app/core/home/home.component.ts

Metadata

selector app-home
templateUrl home.component.html

Properties

filter
filter: ModelSignal<string>
loading
loading: InputSignal<boolean>
select
select: any
sessions
sessions: InputSignal<{ id: string; startedAt: string; durationMs: number; }[]>
totalMinutes
totalMinutes: any
import { DatePipe, DecimalPipe } from '@angular/common';
import { Component, computed, input, output, model } from '@angular/core';

@Component({
  selector: 'app-home',
  imports: [DatePipe, DecimalPipe],
  templateUrl: './home.component.html',

})
export class HomeComponent {
 // signal inputs (immutable from parent)
 sessions = input.required<{ id: string; startedAt: string; durationMs: number }[]>();
 loading = input(false);

 // two-way example (if editing filters in child)
 filter = model<string>('all');

 // outputs as signal-backed emitters
 select = output<string>();

 totalMinutes = computed(
   () => Math.round((this.sessions()?.reduce((a, s) => a + s.durationMs, 0) ?? 0) / 60000)
 );
}

results matching ""

    No results matching ""