* Fixed bookmarks not being able to load due to missing [AllowAnonymous] * Downgraded Docnet to 2.4.0-alpha2 which is the version we added our patches to. This might fix reports of broken PDF reading on ARM * Updated all but one api in collections to admin only policy * Ensure all config folders are created or exist on first load * Ensure plugins can authenticate * Updated some headers we use on Kavita to tighten security. * Tightened up cover upload flow to restrict more APIs to only the admin * Enhanced the reset password flow to ensure that the user passes their existing password in (if already authenticated). Admins can still change other users without having existing password. * Removed an additional copy during build and copied over the prod appsettings and not Development. * Fixed up the caching mechanism for cover resets and migrated to profiles. Left an etag filter for reference. * Fixed up manual jump key calculation to include period in # * Added jumpbar to reading lists page * Fixed a double scrollbar on library detail page * Fixed weird scroll issues with want to read * Fixed a bug where remove from want to read list wasn't hooked up on series card * Cleaned up Clear bookmarks to use a dedicated api for bulk clearing. Converted Bookmark page to OnPush. * Fixed jump bar being offset when clicking a jump key * Ensure we don't overflow on add to reading list * Fixed a bad name format on reading list items
46 lines
2.6 KiB
HTML
46 lines
2.6 KiB
HTML
<app-side-nav-companion-bar [hasFilter]="true" [filterOpenByDefault]="filterSettings.openByDefault" (filterOpen)="filterOpen.emit($event)" [filterActive]="filterActive">
|
|
<h2 title>
|
|
<app-card-actionables [actions]="actions" (actionHandler)="performAction($event)"></app-card-actionables>
|
|
{{libraryName}}
|
|
</h2>
|
|
<h6 subtitle class="subtitle-with-actionables" *ngIf="active.fragment === ''">{{pagination.totalItems}} Series</h6>
|
|
<div main>
|
|
<ul ngbNav #nav="ngbNav" [(activeId)]="active" class="nav nav-pills" style="flex-wrap: nowrap;">
|
|
<li *ngFor="let tab of tabs" [ngbNavItem]="tab">
|
|
<a ngbNavLink>
|
|
<span class="d-none d-sm-flex align-items-center"><i class="fa {{tab.icon}} me-1" style="padding-right: 5px;" aria-hidden="true"></i> {{tab.title | sentenceCase}}</span>
|
|
<span class="d-flex d-sm-none">
|
|
<i class="fa {{tab.icon}}" aria-hidden="true"></i>
|
|
</span>
|
|
</a>
|
|
<ng-template ngbNavContent>
|
|
<ng-container *ngIf="tab.title === 'Recommended'">
|
|
<app-library-recommended [libraryId]="libraryId"></app-library-recommended>
|
|
</ng-container>
|
|
<ng-container *ngIf="tab.title === 'Library'">
|
|
<app-card-detail-layout
|
|
[isLoading]="loadingSeries"
|
|
[items]="series"
|
|
[pagination]="pagination"
|
|
[filterSettings]="filterSettings"
|
|
[trackByIdentity]="trackByIdentity"
|
|
[filterOpen]="filterOpen"
|
|
[jumpBarKeys]="jumpKeys"
|
|
(applyFilter)="updateFilter($event)"
|
|
>
|
|
<ng-template #cardItem let-item let-position="idx">
|
|
<app-series-card [data]="item" [libraryId]="libraryId" [suppressLibraryLink]="true" (reload)="loadPage()"
|
|
(selection)="bulkSelectionService.handleCardSelection('series', position, series.length, $event)"
|
|
[selected]="bulkSelectionService.isCardSelected('series', position)" [allowSelection]="true"></app-series-card>
|
|
</ng-template>
|
|
</app-card-detail-layout>
|
|
</ng-container>
|
|
</ng-template>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</app-side-nav-companion-bar>
|
|
<app-bulk-operations [actionCallback]="bulkActionCallback"></app-bulk-operations>
|
|
<div [ngbNavOutlet]="nav"></div>
|
|
|
|
|