mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
- Replaced the existing favorites component HTML structure with a new app-favorites-layout component for better organization and maintainability. - Removed unused styles from favorites.component.scss. - Updated favorites.component.ts to utilize the new layout component and streamline imports. - Enhanced detail-view styles for improved responsiveness and layout consistency. - Adjusted navigation component to conditionally render elements based on playlist type. - Introduced a new NavigationItem interface for better type safety in navigation items. - Refactored search results component to utilize new search-form and search-result-item components for cleaner code and separation of concerns. - Updated vod-details component to handle portal ID retrieval more robustly. - Made various style adjustments across components for improved UI consistency.
83 lines
3.0 KiB
HTML
83 lines
3.0 KiB
HTML
<div class="sidebar">
|
|
<div class="sidebar-header">
|
|
<button mat-icon-button disabled>
|
|
<mat-icon>list</mat-icon>
|
|
</button>
|
|
<h2>{{ 'PORTALS.ALL_CATEGORIES' | translate }}</h2>
|
|
</div>
|
|
<app-category-view
|
|
[items]="categories()"
|
|
[selectedCategoryId]="selectedCategoryId()"
|
|
(categoryClicked)="setCategoryId($event.category_id)"
|
|
/>
|
|
</div>
|
|
|
|
<div class="main-content">
|
|
<div class="content-header">
|
|
<h2>
|
|
<button mat-icon-button disabled>
|
|
<mat-icon>movie</mat-icon>
|
|
</button>
|
|
{{
|
|
(titleTranslationString() | translate) +
|
|
' (' +
|
|
selectedCategoryId() +
|
|
')'
|
|
}}
|
|
</h2>
|
|
</div>
|
|
<div class="scrollable-content">
|
|
@if (favorites().length) {
|
|
<div class="items-grid">
|
|
@for (item of favorites(); track $index) {
|
|
<mat-card class="item-card" (click)="openFavorite(item)">
|
|
<img
|
|
[src]="
|
|
item.poster_url ||
|
|
item.cover ||
|
|
'assets/default-' +
|
|
selectedCategoryId() +
|
|
'.png'
|
|
"
|
|
(error)="
|
|
$event.target.src =
|
|
'./assets/images/default-poster.png'
|
|
"
|
|
[alt]="item.title"
|
|
class="item-image"
|
|
/>
|
|
<mat-card-content>
|
|
<h3>
|
|
{{ item?.title || item?.details?.info?.name }}
|
|
</h3>
|
|
<p class="added-date">
|
|
Added:
|
|
{{ item?.added_at | date: 'd MMMM, y, HH:MM' }}
|
|
</p>
|
|
</mat-card-content>
|
|
<button
|
|
mat-icon-button
|
|
color="warn"
|
|
class="favorite-button"
|
|
[matTooltip]="
|
|
'CHANNELS.REMOVE_FAVORITE' | translate
|
|
"
|
|
(click)="
|
|
$event.stopPropagation(); removeFavorite(item)
|
|
"
|
|
>
|
|
<mat-icon>delete</mat-icon>
|
|
</button>
|
|
</mat-card>
|
|
}
|
|
</div>
|
|
} @else {
|
|
<div class="no-items">
|
|
<mat-icon>favorite_border</mat-icon>
|
|
<p>No items in the selected category</p>
|
|
</div>
|
|
}
|
|
</div>
|
|
<app-mpv-player-bar />
|
|
</div>
|