IsEmpty Filter and other small fixes (#3142)

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
This commit is contained in:
Joe Milazzo 2024-09-13 15:15:01 -07:00 committed by GitHub
parent e574caf7eb
commit 07a36176de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
96 changed files with 1361 additions and 1135 deletions

View file

@ -1,6 +1,7 @@
import { Pipe, PipeTransform } from '@angular/core';
import {translate} from "@jsverse/transloco";
import {BookPageLayoutMode} from "../_models/readers/book-page-layout-mode";
import {ScalingOption} from "../_models/preferences/scaling-option";
@Pipe({
name: 'bookPageLayoutMode',
@ -9,7 +10,8 @@ import {BookPageLayoutMode} from "../_models/readers/book-page-layout-mode";
export class BookPageLayoutModePipe implements PipeTransform {
transform(value: BookPageLayoutMode): string {
switch (value) {
const v = parseInt(value + '', 10) as BookPageLayoutMode;
switch (v) {
case BookPageLayoutMode.Column1: return translate('preferences.1-column');
case BookPageLayoutMode.Column2: return translate('preferences.2-column');
case BookPageLayoutMode.Default: return translate('preferences.scroll');

View file

@ -42,6 +42,8 @@ export class FilterComparisonPipe implements PipeTransform {
return translate('filter-comparison-pipe.is-not-in-last');
case FilterComparison.MustContains:
return translate('filter-comparison-pipe.must-contains');
case FilterComparison.IsEmpty:
return translate('filter-comparison-pipe.is-empty');
default:
throw new Error(`Invalid FilterComparison value: ${value}`);
}

View file

@ -1,6 +1,7 @@
import { Pipe, PipeTransform } from '@angular/core';
import {translate} from "@jsverse/transloco";
import {LayoutMode} from "../manga-reader/_models/layout-mode";
import {ScalingOption} from "../_models/preferences/scaling-option";
@Pipe({
name: 'layoutMode',
@ -9,7 +10,8 @@ import {LayoutMode} from "../manga-reader/_models/layout-mode";
export class LayoutModePipe implements PipeTransform {
transform(value: LayoutMode): string {
switch (value) {
const v = parseInt(value + '', 10) as LayoutMode;
switch (v) {
case LayoutMode.Single: return translate('preferences.single');
case LayoutMode.Double: return translate('preferences.double');
case LayoutMode.DoubleReversed: return translate('preferences.double-manga');

View file

@ -1,6 +1,7 @@
import { Pipe, PipeTransform } from '@angular/core';
import {translate} from "@jsverse/transloco";
import {PageSplitOption} from "../_models/preferences/page-split-option";
import {ScalingOption} from "../_models/preferences/scaling-option";
@Pipe({
name: 'pageSplitOption',
@ -9,7 +10,8 @@ import {PageSplitOption} from "../_models/preferences/page-split-option";
export class PageSplitOptionPipe implements PipeTransform {
transform(value: PageSplitOption): string {
switch (value) {
const v = parseInt(value + '', 10) as PageSplitOption;
switch (v) {
case PageSplitOption.FitSplit: return translate('preferences.fit-to-screen');
case PageSplitOption.NoSplit: return translate('preferences.no-split');
case PageSplitOption.SplitLeftToRight: return translate('preferences.split-left-to-right');

View file

@ -9,7 +9,8 @@ import {PdfScrollMode} from "../_models/preferences/pdf-scroll-mode";
export class PdfScrollModePipe implements PipeTransform {
transform(value: PdfScrollMode): string {
switch (value) {
const v = parseInt(value + '', 10) as PdfScrollMode;
switch (v) {
case PdfScrollMode.Wrapped: return translate('preferences.pdf-multiple');
case PdfScrollMode.Page: return translate('preferences.pdf-page');
case PdfScrollMode.Horizontal: return translate('preferences.pdf-horizontal');

View file

@ -1,6 +1,7 @@
import { Pipe, PipeTransform } from '@angular/core';
import {PdfSpreadMode} from "../_models/preferences/pdf-spread-mode";
import {translate} from "@jsverse/transloco";
import {ScalingOption} from "../_models/preferences/scaling-option";
@Pipe({
name: 'pdfSpreadMode',
@ -9,7 +10,8 @@ import {translate} from "@jsverse/transloco";
export class PdfSpreadModePipe implements PipeTransform {
transform(value: PdfSpreadMode): string {
switch (value) {
const v = parseInt(value + '', 10) as PdfSpreadMode;
switch (v) {
case PdfSpreadMode.None: return translate('preferences.pdf-none');
case PdfSpreadMode.Odd: return translate('preferences.pdf-odd');
case PdfSpreadMode.Even: return translate('preferences.pdf-even');

View file

@ -1,6 +1,7 @@
import { Pipe, PipeTransform } from '@angular/core';
import {PdfTheme} from "../_models/preferences/pdf-theme";
import {translate} from "@jsverse/transloco";
import {ScalingOption} from "../_models/preferences/scaling-option";
@Pipe({
name: 'pdfTheme',
@ -9,7 +10,8 @@ import {translate} from "@jsverse/transloco";
export class PdfThemePipe implements PipeTransform {
transform(value: PdfTheme): string {
switch (value) {
const v = parseInt(value + '', 10) as PdfTheme;
switch (v) {
case PdfTheme.Dark: return translate('preferences.pdf-dark');
case PdfTheme.Light: return translate('preferences.pdf-light');
}

View file

@ -9,7 +9,8 @@ import {translate} from "@jsverse/transloco";
export class ReadingDirectionPipe implements PipeTransform {
transform(value: ReadingDirection): string {
switch (value) {
const v = parseInt(value + '', 10) as ReadingDirection;
switch (v) {
case ReadingDirection.LeftToRight: return translate('preferences.left-to-right');
case ReadingDirection.RightToLeft: return translate('preferences.right-to-left');
}

View file

@ -1,6 +1,7 @@
import { Pipe, PipeTransform } from '@angular/core';
import {ReaderMode} from "../_models/preferences/reader-mode";
import {translate} from "@jsverse/transloco";
import {ScalingOption} from "../_models/preferences/scaling-option";
@Pipe({
name: 'readerMode',
@ -9,7 +10,8 @@ import {translate} from "@jsverse/transloco";
export class ReaderModePipe implements PipeTransform {
transform(value: ReaderMode): string {
switch (value) {
const v = parseInt(value + '', 10) as ReaderMode;
switch (v) {
case ReaderMode.UpDown: return translate('preferences.up-to-down');
case ReaderMode.Webtoon: return translate('preferences.webtoon');
case ReaderMode.LeftRight: return translate('preferences.left-to-right');

View file

@ -1,6 +1,7 @@
import { Pipe, PipeTransform } from '@angular/core';
import {translate} from "@jsverse/transloco";
import {ScalingOption} from "../_models/preferences/scaling-option";
import {ReadingDirection} from "../_models/preferences/reading-direction";
@Pipe({
name: 'scalingOption',
@ -9,7 +10,8 @@ import {ScalingOption} from "../_models/preferences/scaling-option";
export class ScalingOptionPipe implements PipeTransform {
transform(value: ScalingOption): string {
switch (value) {
const v = parseInt(value + '', 10) as ScalingOption;
switch (v) {
case ScalingOption.Automatic: return translate('preferences.automatic');
case ScalingOption.FitToHeight: return translate('preferences.fit-to-height');
case ScalingOption.FitToWidth: return translate('preferences.fit-to-width');

View file

@ -16,7 +16,10 @@ type UtcToLocalTimeFormat = 'full' | 'short' | 'shortDate' | 'shortTime';
export class UtcToLocalTimePipe implements PipeTransform {
transform(utcDate: string | undefined | null, format: UtcToLocalTimeFormat = 'short'): string {
if (utcDate === undefined || utcDate === null) return '';
if (utcDate === '' || utcDate === null || utcDate === undefined || utcDate.split('T')[0] === '0001-01-01') {
return '';
}
const browserLanguage = navigator.language;
const dateTime = DateTime.fromISO(utcDate, { zone: 'utc' }).toLocal().setLocale(browserLanguage);

View file

@ -1,6 +1,7 @@
import { Pipe, PipeTransform } from '@angular/core';
import {translate} from "@jsverse/transloco";
import {WritingStyle} from "../_models/preferences/writing-style";
import {ScalingOption} from "../_models/preferences/scaling-option";
@Pipe({
name: 'writingStyle',
@ -9,7 +10,8 @@ import {WritingStyle} from "../_models/preferences/writing-style";
export class WritingStylePipe implements PipeTransform {
transform(value: WritingStyle): string {
switch (value) {
const v = parseInt(value + '', 10) as WritingStyle;
switch (v) {
case WritingStyle.Horizontal: return translate('preferences.horizontal');
case WritingStyle.Vertical: return translate('preferences.vertical');
}