Library Recomendations (#1236)
* Updated cover regex for finding cover images in archives to ignore back_cover or back-cover * Fixed an issue where Tags wouldn't save due to not pulling them from the DB. * Refactored All series to it's own lazy loaded module * Modularized Dashboard and library detail. Had to change main dashboard page to be libraries. Subject to change. * Refactored login component into registration module * Series Detail module created * Refactored nav stuff into it's own module, not lazy loaded, but self contained. * Refactored theme component into a dev only module so we don't incur load for temp testing modules * Finished off modularization code. Only missing thing is to re-introduce some dashboard functionality for library view. * Implemented a basic recommendation page for library detail
This commit is contained in:
parent
743a3ba935
commit
f237aa7ab7
77 changed files with 1077 additions and 501 deletions
|
@ -1,8 +1,10 @@
|
|||
import { HttpParams } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { ActivatedRouteSnapshot } from '@angular/router';
|
||||
import { Chapter } from 'src/app/_models/chapter';
|
||||
import { LibraryType } from 'src/app/_models/library';
|
||||
import { MangaFormat } from 'src/app/_models/manga-format';
|
||||
import { PaginatedResult } from 'src/app/_models/pagination';
|
||||
import { Series } from 'src/app/_models/series';
|
||||
import { SeriesFilter, SortField } from 'src/app/_models/series-filter';
|
||||
import { Volume } from 'src/app/_models/volume';
|
||||
|
@ -201,4 +203,30 @@ export class UtilityService {
|
|||
private isObject(object: any) {
|
||||
return object != null && typeof object === 'object';
|
||||
}
|
||||
|
||||
addPaginationIfExists(params: HttpParams, pageNum?: number, itemsPerPage?: number) {
|
||||
if (pageNum !== null && pageNum !== undefined && itemsPerPage !== null && itemsPerPage !== undefined) {
|
||||
params = params.append('pageNumber', pageNum + '');
|
||||
params = params.append('pageSize', itemsPerPage + '');
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
||||
createPaginatedResult(response: any, paginatedVariable: PaginatedResult<any[]> | undefined = undefined) {
|
||||
if (paginatedVariable === undefined) {
|
||||
paginatedVariable = new PaginatedResult();
|
||||
}
|
||||
if (response.body === null) {
|
||||
paginatedVariable.result = [];
|
||||
} else {
|
||||
paginatedVariable.result = response.body;
|
||||
}
|
||||
|
||||
const pageHeader = response.headers?.get('Pagination');
|
||||
if (pageHeader !== null) {
|
||||
paginatedVariable.pagination = JSON.parse(pageHeader);
|
||||
}
|
||||
|
||||
return paginatedVariable;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,21 +38,24 @@ import { PipeModule } from '../pipe/pipe.module';
|
|||
RouterModule,
|
||||
ReactiveFormsModule,
|
||||
NgbCollapseModule,
|
||||
NgbTooltipModule, // RegisterMemberComponent
|
||||
NgbTooltipModule, // TODO: Validate if we still need this
|
||||
PipeModule,
|
||||
NgCircleProgressModule.forRoot(),
|
||||
],
|
||||
exports: [
|
||||
ReadMoreComponent, // Used globably
|
||||
DrawerComponent, // Can be replaced with boostrap offscreen canvas (v5)
|
||||
ShowIfScrollbarDirective, // Used book reader only?
|
||||
DrawerComponent, // Can be replaced with boostrap offscreen canvas (v5) (also used in book reader and series metadata filter)
|
||||
A11yClickDirective, // Used globally
|
||||
SeriesFormatComponent, // Used globally
|
||||
TagBadgeComponent, // Used globally
|
||||
CircularLoaderComponent, // Used in Cards only
|
||||
ImageComponent, // Used globally
|
||||
|
||||
ShowIfScrollbarDirective, // Used book reader only?
|
||||
|
||||
PersonBadgeComponent, // Used Series Detail
|
||||
BadgeExpanderComponent, // Used globally
|
||||
ImageComponent // Used globally
|
||||
BadgeExpanderComponent, // Used Series Detail/Metadata
|
||||
|
||||
],
|
||||
})
|
||||
export class SharedModule { }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue