* Fixed a bug which didn't take sort direction when not changing sort field * Added foundation for Bookmark refactor * Code broken, need to take a break. Issue is Getting bookmark image needs authentication but UI doesn't send. * Implemented the ability to send bookmarked files to the web. Implemented ability to clear bookmarks on disk on a re-occuring basis. * Updated the bookmark design to have it's own card that is self contained. View bookmarks modal has been updated to better lay out the cards. * Refactored download bookmark codes to select files from bookmark directory directly rather than open underlying files. * Wrote the basic logic to kick start the bookmark migration. Added Installed Version into the DB to allow us to know more accurately when to run migrations * Implemented the ability to change the bookmarks directory * Updated all references to BookmarkDirectory to use setting from the DB. Updated Server Settings page to use 2 col for some rows. * Refactored some code to DirectoryService (hasWriteAccess) and fixed up some unit tests from a previous PR. * Treat folders that start with ._ as blacklisted. * Implemented Reset User preferences. Some extra code to prep for the migration. * Implemented a migration for existing bookmarks to using new filesystem based bookmarks
28 lines
No EOL
1.6 KiB
HTML
28 lines
No EOL
1.6 KiB
HTML
<div class="card" *ngIf="bookmark != undefined">
|
|
<img class="img-top lazyload" [src]="imageService.placeholderImage" [attr.data-src]="imageService.getBookmarkedImage(bookmark.chapterId, bookmark.page)"
|
|
(error)="imageService.updateErroredImage($event)" aria-hidden="true" height="230px" width="170px">
|
|
|
|
<div class="card-body" *ngIf="bookmark.page >= 0">
|
|
<div class="header-row">
|
|
<span class="card-title" tabindex="0">
|
|
Page {{bookmark.page + 1}}
|
|
</span>
|
|
<span class="card-actions float-right" *ngIf="series != undefined">
|
|
<button attr.aria-labelledby="series--{{series.name}}" class="btn btn-danger btn-sm" (click)="removeBookmark()"
|
|
[disabled]="isClearing" placement="top" ngbTooltip="Remove Bookmark" attr.aria-label="Remove Bookmark">
|
|
<ng-container *ngIf="isClearing; else notClearing">
|
|
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
|
|
<span class="sr-only">Loading...</span>
|
|
</ng-container>
|
|
<ng-template #notClearing>
|
|
<i class="fa fa-trash-alt" aria-hidden="true"></i>
|
|
</ng-template>
|
|
</button>
|
|
</span>
|
|
</div>
|
|
<div>
|
|
<a *ngIf="series != undefined" class="title-overflow library" href="/library/{{series.libraryId}}/series/{{series.id}}"
|
|
placement="top" id="bookmark_card_{{series.name}}_{{bookmark.id}}" [ngbTooltip]="series.name | titlecase">{{series.name | titlecase}}</a>
|
|
</div>
|
|
</div>
|
|
</div> |