fix(ui): app-prefix detail template directive selectors, build fixes

detailTags/detailMeta/detailActions → appDetailTags/appDetailMeta/
appDetailActions per @angular-eslint/directive-selector; type the
Escape host listener as Event; drop a redundant ?? in season tabs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Fable 5 committed 2026-07-04 18:49:37 +02:00
1 parent 81605d3ded
commit 6e2cc56e2c
11 files changed
+26 -26

No files matched your search

@@ -9,7 +9,7 @@ import { TranslateModule } from '@ngx-translate/core';
*
* Degradation rule: anything missing simply is not rendered — no "N/A"
* placeholders. Chips and credits are stamped from the host-provided
* *detailTags / *detailMeta templates, so the host's own @if guards apply.
* *appDetailTags / *appDetailMeta templates, so the host's own @if guards apply.
*/
@Component({
selector: 'app-content-about',
@@ -9,7 +9,7 @@ import { Directive, TemplateRef, inject } from '@angular/core';
* appear once, a TemplateRef can be stamped any number of times.
*/
@Directive({
selector: '[detailTags]',
selector: '[appDetailTags]',
standalone: true,
})
export class DetailTagsTemplateDirective {
@@ -17,7 +17,7 @@ export class DetailTagsTemplateDirective {
}
@Directive({
selector: '[detailMeta]',
selector: '[appDetailMeta]',
standalone: true,
})
export class DetailMetaTemplateDirective {
@@ -25,7 +25,7 @@ export class DetailMetaTemplateDirective {
}
@Directive({
selector: '[detailActions]',
selector: '[appDetailActions]',
standalone: true,
})
export class DetailActionsTemplateDirective {
@@ -24,13 +24,13 @@ import { PortalDetailShellComponent } from './portal-detail-shell.component';
[playbackActive]="playbackActive()"
(closePlayerRequested)="closeRequests = closeRequests + 1"
>
<ng-template detailTags>
<ng-template appDetailTags>
<span class="details__tag">2026</span>
</ng-template>
<ng-template detailMeta>
<ng-template appDetailMeta>
<div class="details__meta-item">Cast entry</div>
</ng-template>
<ng-template detailActions>
<ng-template appDetailActions>
<button class="play-btn">Play</button>
</ng-template>
@if (playbackActive()) {
@@ -76,7 +76,7 @@ export class PortalDetailShellComponent {
});
}
onEscape(event: KeyboardEvent): void {
onEscape(event: Event): void {
if (!this.playbackActive()) return;
if (event.defaultPrevented) return;
// Browser fullscreen owns Escape (exits fullscreen first).
@@ -30,7 +30,7 @@
}}
</span>
<span class="season-tabs__menu-count">
{{ episodeCounts()[seasonKey] ?? 0 }}
{{ episodeCounts()[seasonKey] }}
</span>
@if (isSeasonCompleted(seasonKey)) {
<mat-icon class="season-tabs__done">check</mat-icon>