Implement showing/updating/removing tracker bindings

This commit is contained in:
schroda
2024-03-17 18:42:48 +01:00
parent 66c57a542b
commit 5dbf1ce30c
10 changed files with 556 additions and 17 deletions

View File

@@ -14,6 +14,8 @@ import {
TrackRecordType,
} from '@/lib/graphql/generated/graphql.ts';
export const UNSET_DATE = '0';
export type TTrackRecord = GetMangaQuery['manga']['trackRecords']['nodes'][number];
export type TrackerManga = TrackerSearchQuery['searchTracker']['trackSearches'][number];
@@ -29,6 +31,14 @@ export class Trackers {
return trackers.map((tracker) => tracker.id);
}
static isUnsetDate(date: string): boolean {
return date === UNSET_DATE;
}
static getDateString(date: string): string | undefined {
return this.isUnsetDate(date) ? undefined : date;
}
static getLoggedIn<Tracker extends LoggedInInfo>(trackers: Tracker[]): Tracker[] {
return trackers.filter((tracker) => tracker.isLoggedIn);
}