/** * @copyright 2026 NHCarrigan * @license Naomi's Public License * @author Naomi Carrigan */ import { Component, OnInit, inject, signal, computed } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { ShowsService } from '../../services/shows.service'; import { AuthService } from '../../services/auth.service'; import { CommentsService } from '../../services/comments.service'; import { SanitizeService } from '../../services/sanitize.service'; import { SuggestionService } from '../../services/suggestion.service'; import { PaginationComponent } from '../shared/pagination.component'; import { LikeButtonComponent } from '../shared/like-button.component'; import { Show, ShowStatus, ShowType, CreateShowDto, UpdateShowDto, Comment, SuggestionEntity, Link } from '@library/shared-types'; @Component({ selector: 'app-shows-list', standalone: true, imports: [CommonModule, FormsModule, PaginationComponent, LikeButtonComponent], template: `
No shows found in this category.
{{ getTypeLabel(show.type) }}
{{ getStatusLabel(show.status) }} @if (show.rating) { }{{ show.notes }}
} @if (show.tags && show.tags.length > 0) { } @if (show.links && show.links.length > 0) {Started: {{ formatDate(show.dateStarted) }}
} @if (show.dateFinished) {Finished: {{ formatDate(show.dateFinished) }}
} @if (show.createdAt) {Added: {{ formatDate(show.createdAt) }}
} @if (show.updatedAt) {Updated: {{ formatDate(show.updatedAt) }}
} @if (authService.isAdmin()) {