
* 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
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { Component, Input, OnInit } from '@angular/core';
|
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
import { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
|
import { Series } from 'src/app/_models/series';
|
|
import { SeriesService } from 'src/app/_services/series.service';
|
|
|
|
@Component({
|
|
selector: 'app-review-series-modal',
|
|
templateUrl: './review-series-modal.component.html',
|
|
styleUrls: ['./review-series-modal.component.scss']
|
|
})
|
|
export class ReviewSeriesModalComponent implements OnInit {
|
|
|
|
@Input() series!: Series;
|
|
reviewGroup!: FormGroup;
|
|
|
|
constructor(public modal: NgbActiveModal, private seriesService: SeriesService) {}
|
|
|
|
ngOnInit(): void {
|
|
this.reviewGroup = new FormGroup({
|
|
review: new FormControl(this.series.userReview, []),
|
|
rating: new FormControl(this.series.userRating, [])
|
|
});
|
|
}
|
|
|
|
close() {
|
|
this.modal.close({success: false, review: null});
|
|
}
|
|
|
|
clearRating() {
|
|
this.reviewGroup.get('rating')?.setValue(0);
|
|
}
|
|
|
|
save() {
|
|
const model = this.reviewGroup.value;
|
|
this.seriesService.updateRating(this.series?.id, model.rating, model.review).subscribe(() => {
|
|
this.modal.close({success: true, review: model.review, rating: model.rating});
|
|
});
|
|
}
|
|
|
|
}
|