{{ bio }}
} @if ((member().projects ?? []).length > 0) {import {
ChangeDetectionStrategy,
Component,
computed,
input,
} from '@angular/core';
import {
PiAvatarComponent,
PiChipComponent,
PiTextColorDirective,
PiTextLargeDirective,
PiTextWeightBoldDirective,
} from '@pi/ui';
import type { Locale } from '../core/api';
import type { PublicMember } from '../core/api.types';
import type { Copy } from '../core/copy';
import { ContactCta } from './contact-cta';
import { memberLinks } from './member-card';
import { ProjectCard } from './project-card';
import { TechnologyChip } from './technology-chip';
/**
* Someone in the collective, on their own address: who they are, what they
* work with, and what they have worked on.
*
* The bio is plain text from a textarea, not HTML, so it is printed as text
* with its line breaks kept rather than handed to `innerHTML`.
*/
@Component({
selector: 'app-member-detail',
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
ContactCta,
PiAvatarComponent,
PiChipComponent,
PiTextColorDirective,
PiTextLargeDirective,
PiTextWeightBoldDirective,
ProjectCard,
TechnologyChip,
],
styleUrl: './member-detail.scss',
template: `
{{ copy().nav.team }}
{{ headline }}
{{ member().name }}
@if (member().headline; as headline) {
@if (member().is_founder) {
}
{{ bio }}
} @if ((member().projects ?? []).length > 0) {