Ship the final German and English copy, compose every route from shared page primitives, and cover claims, parity and contact briefing in tests. Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
1.2 KiB
HTML
36 lines
1.2 KiB
HTML
@if (page(); as copy) {
|
|
<div class="content-container stack page">
|
|
<app-page-hero [hero]="copy.hero" [ctas]="copy.ctas" />
|
|
@for (section of copy.sections; track section.id) {
|
|
<app-content-section [section]="section" />
|
|
@if (section.id === 'profile') {
|
|
<ul class="stack">
|
|
@for (line of copy.profile; track $index) {
|
|
<li>{{ line }}</li>
|
|
}
|
|
</ul>
|
|
<app-metric-list [metrics]="copy.metrics" [labelledBy]="'section-profile'" />
|
|
}
|
|
@if (section.id === 'featured-cases') {
|
|
<div class="stack">
|
|
@for (caseStudy of featuredCases(); track caseStudy.id) {
|
|
<app-case-card [caseStudy]="caseStudy" />
|
|
}
|
|
</div>
|
|
}
|
|
}
|
|
@for (audience of copy.audiences; track audience.id) {
|
|
<section class="stack" [id]="audience.id" [attr.aria-labelledby]="'audience-' + audience.id">
|
|
<h2 [id]="'audience-' + audience.id">{{ audience.headline }}</h2>
|
|
<p>{{ audience.body }}</p>
|
|
<ul>
|
|
@for (bullet of audience.bullets; track $index) {
|
|
<li>{{ bullet }}</li>
|
|
}
|
|
</ul>
|
|
<app-cta-row [ctas]="audience.ctas" />
|
|
</section>
|
|
}
|
|
</div>
|
|
}
|