Last Read Filter + A lot of bug fixes (#3312)
This commit is contained in:
parent
953d80de1a
commit
6b13db129e
42 changed files with 620 additions and 198 deletions
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
@if (count > 1) {
|
||||
<div class="count">
|
||||
<span class="badge bg-primary">{{count}}</span>
|
||||
<span class="badge bg-primary">{{count | compactNumber}}</span>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
<span class="card-format">
|
||||
@if (showFormat) {
|
||||
<app-series-format [format]="format"></app-series-format>
|
||||
}
|
||||
}
|
||||
</span>
|
||||
|
||||
<span class="card-title" placement="top" id="{{title}}_{{entity.id}}" [ngbTooltip]="tooltipTitle" (click)="handleClick($event)" tabindex="0">
|
||||
|
|
@ -84,16 +84,15 @@
|
|||
<span class="me-1"><app-promoted-icon [promoted]="isPromoted"></app-promoted-icon></span>
|
||||
}
|
||||
@if (linkUrl) {
|
||||
<a class="dark-exempt btn-icon" href="javascript:void(0);" [routerLink]="linkUrl">{{title}}</a>
|
||||
<a class="dark-exempt btn-icon" [routerLink]="linkUrl">{{title}}</a>
|
||||
} @else {
|
||||
{{title}}
|
||||
}
|
||||
</span>
|
||||
|
||||
<span class="card-actions">
|
||||
@if (actions && actions.length > 0) {
|
||||
|
||||
<app-card-actionables (actionHandler)="performAction($event)" [actions]="actions" [labelBy]="title"></app-card-actionables>
|
||||
|
||||
}
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ import {SafeHtmlPipe} from "../../_pipes/safe-html.pipe";
|
|||
import {PromotedIconComponent} from "../../shared/_components/promoted-icon/promoted-icon.component";
|
||||
import {SeriesFormatComponent} from "../../shared/series-format/series-format.component";
|
||||
import {BrowsePerson} from "../../_models/person/browse-person";
|
||||
import {CompactNumberPipe} from "../../_pipes/compact-number.pipe";
|
||||
|
||||
export type CardEntity = Series | Volume | Chapter | UserCollection | PageBookmark | RecentlyAddedItem | NextExpectedChapter | BrowsePerson;
|
||||
|
||||
|
|
@ -70,7 +71,8 @@ export type CardEntity = Series | Volume | Chapter | UserCollection | PageBookma
|
|||
PromotedIconComponent,
|
||||
SeriesFormatComponent,
|
||||
DecimalPipe,
|
||||
NgTemplateOutlet
|
||||
NgTemplateOutlet,
|
||||
CompactNumberPipe
|
||||
],
|
||||
templateUrl: './card-item.component.html',
|
||||
styleUrls: ['./card-item.component.scss'],
|
||||
|
|
@ -257,6 +259,8 @@ export class CardItemComponent implements OnInit {
|
|||
}
|
||||
|
||||
this.cdRef.markForCheck();
|
||||
} else {
|
||||
this.tooltipTitle = this.title;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,27 +1,28 @@
|
|||
<div class="card-item-container card">
|
||||
<div class="overlay">
|
||||
<app-image [styles]="{'border-radius': '.25rem .25rem 0 0'}" height="232.91px" width="160px" classes="extreme-blur"
|
||||
[imageUrl]="imageUrl"></app-image>
|
||||
<ng-container *transloco="let t; read: 'next-expected-card'">
|
||||
<div class="card-item-container card">
|
||||
<div class="overlay">
|
||||
<app-image [styles]="{'border-radius': '.25rem .25rem 0 0'}" height="232.91px" width="160px" classes="extreme-blur"
|
||||
[imageUrl]="imageUrl"></app-image>
|
||||
|
||||
<div class="card-overlay"></div>
|
||||
</div>
|
||||
<div class="card-overlay"></div>
|
||||
</div>
|
||||
|
||||
@if (entity.title | safeHtml; as info) {
|
||||
@if (info !== '') {
|
||||
<div class="card-body meta-title">
|
||||
<div class="card-content d-flex flex-column pt-2 pb-2 justify-content-center align-items-center text-center">
|
||||
|
||||
<div class="upcoming-header"><i class="fa-regular fa-clock me-1" aria-hidden="true"></i>Upcoming</div>
|
||||
<span [innerHTML]="info"></span>
|
||||
@if (entity.title | safeHtml; as info) {
|
||||
@if (info !== '') {
|
||||
<div class="card-body meta-title">
|
||||
<div class="card-content d-flex flex-column pt-2 pb-2 justify-content-center align-items-center text-center">
|
||||
<div class="upcoming-header"><i class="fa-regular fa-clock me-1" aria-hidden="true"></i>{{t('upcoming-title')}}</div>
|
||||
<span [innerHTML]="info"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<div class="card-title-container">
|
||||
<span class="card-title" tabindex="0">
|
||||
{{title}}
|
||||
</span>
|
||||
<div class="card-title-container">
|
||||
<span class="card-title" tabindex="0">
|
||||
{{title}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</ng-container>
|
||||
|
|
|
|||
|
|
@ -1,22 +1,10 @@
|
|||
@use '../../../card-item-common';
|
||||
|
||||
::ng-deep .extreme-blur {
|
||||
filter: brightness(50%) blur(4px)
|
||||
:host ::ng-deep .extreme-blur {
|
||||
filter: brightness(50%) blur(4px);
|
||||
}
|
||||
|
||||
.overlay-information {
|
||||
background-color: transparent;
|
||||
.card-title-container {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.upcoming-header {
|
||||
font-size: 0.8rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
width: 146px;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ import {ImageComponent} from "../../shared/image/image.component";
|
|||
import {NextExpectedChapter} from "../../_models/series-detail/next-expected-chapter";
|
||||
import {UtcToLocalTimePipe} from "../../_pipes/utc-to-local-time.pipe";
|
||||
import {SafeHtmlPipe} from "../../_pipes/safe-html.pipe";
|
||||
import {translate} from "@jsverse/transloco";
|
||||
import {translate, TranslocoDirective} from "@jsverse/transloco";
|
||||
|
||||
@Component({
|
||||
selector: 'app-next-expected-card',
|
||||
standalone: true,
|
||||
imports: [ImageComponent, SafeHtmlPipe],
|
||||
imports: [ImageComponent, SafeHtmlPipe, TranslocoDirective],
|
||||
templateUrl: './next-expected-card.component.html',
|
||||
styleUrl: './next-expected-card.component.scss',
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue