Trigger track progress on last page read of chapter (#690)

This commit is contained in:
schroda
2024-04-01 01:22:49 +02:00
committed by GitHub
parent 4f7a05f6fe
commit 5a2f77d124
6 changed files with 76 additions and 46 deletions

View File

@@ -227,11 +227,9 @@ export const FULL_TRACKER_FIELDS = gql`
}
`;
export const FULL_TRACK_RECORD_FIELDS = gql`
${FULL_TRACKER_FIELDS}
fragment FULL_TRACK_RECORD_FIELDS on TrackRecordType {
export const BASE_TRACK_RECORD_FIELDS = gql`
fragment BASE_TRACK_RECORD_FIELDS on TrackRecordType {
id
title
status
lastChapterRead
totalChapters
@@ -239,8 +237,24 @@ export const FULL_TRACK_RECORD_FIELDS = gql`
displayScore
startDate
finishDate
}
`;
export const QUERY_TRACK_RECORD_FIELDS = gql`
${BASE_TRACK_RECORD_FIELDS}
fragment QUERY_TRACK_RECORD_FIELDS on TrackRecordType {
...BASE_TRACK_RECORD_FIELDS
title
remoteUrl
remoteId
}
`;
export const FULL_TRACK_RECORD_FIELDS = gql`
${QUERY_TRACK_RECORD_FIELDS}
${FULL_TRACKER_FIELDS}
fragment FULL_TRACK_RECORD_FIELDS on TrackRecordType {
...QUERY_TRACK_RECORD_FIELDS
tracker {
...FULL_TRACKER_FIELDS
}

File diff suppressed because one or more lines are too long

View File

@@ -7,7 +7,7 @@
*/
import gql from 'graphql-tag';
import { FULL_CHAPTER_FIELDS } from '@/lib/graphql/Fragments';
import { BASE_TRACK_RECORD_FIELDS, FULL_CHAPTER_FIELDS } from '@/lib/graphql/Fragments';
export const DELETE_CHAPTER_METADATA = gql`
mutation DELETE_CHAPTER_METADATA($input: DeleteChapterMetaInput!) {
@@ -88,6 +88,7 @@ export const SET_CHAPTER_METADATA = gql`
`;
export const UPDATE_CHAPTER = gql`
${BASE_TRACK_RECORD_FIELDS}
mutation UPDATE_CHAPTER(
$input: UpdateChapterInput!
$getBookmarked: Boolean!
@@ -95,6 +96,8 @@ export const UPDATE_CHAPTER = gql`
$getLastPageRead: Boolean!
$chapterIdToDelete: Int!
$deleteChapter: Boolean!
$mangaId: Int!
$trackProgress: Boolean!
) {
updateChapter(input: $input) {
clientMutationId
@@ -134,6 +137,11 @@ export const UPDATE_CHAPTER = gql`
}
}
}
trackProgress(input: { mangaId: $mangaId }) @include(if: $trackProgress) {
trackRecords {
...BASE_TRACK_RECORD_FIELDS
}
}
}
`;

View File

@@ -7,6 +7,7 @@
*/
import gql from 'graphql-tag';
import { BASE_TRACK_RECORD_FIELDS, QUERY_TRACK_RECORD_FIELDS } from '@/lib/graphql/Fragments.ts';
export const TRACKER_LOGIN_OAUTH = gql`
mutation TRACKER_LOGIN_OAUTH($input: LoginTrackerOAuthInput!) {
@@ -47,20 +48,11 @@ export const TRACKER_LOGOUT = gql`
`;
export const TRACKER_BIND = gql`
${QUERY_TRACK_RECORD_FIELDS}
mutation TRACKER_BIND($mangaId: Int!, $remoteId: LongString!, $trackerId: Int!) {
bindTrack(input: { mangaId: $mangaId, remoteId: $remoteId, trackerId: $trackerId }) {
trackRecord {
id
title
status
lastChapterRead
totalChapters
score
displayScore
startDate
finishDate
remoteUrl
remoteId
...QUERY_TRACK_RECORD_FIELDS
tracker {
id
}
@@ -98,23 +90,11 @@ export const TRACKER_UNBIND = gql`
`;
export const TRACKER_UPDATE_BIND = gql`
${QUERY_TRACK_RECORD_FIELDS}
mutation TRACKER_UPDATE_BIND($input: UpdateTrackInput!) {
updateTrack(input: $input) {
trackRecord {
id
title
status
lastChapterRead
totalChapters
score
displayScore
startDate
finishDate
remoteUrl
remoteId
tracker {
id
}
...QUERY_TRACK_RECORD_FIELDS
manga {
id
trackRecords {
@@ -128,3 +108,14 @@ export const TRACKER_UPDATE_BIND = gql`
}
}
`;
export const TRACKER_TRACK_PROGRESS = gql`
${BASE_TRACK_RECORD_FIELDS}
mutation TRACKER_TRACK_PROGRESS($mangaId: Int!) {
trackProgress(input: { mangaId: $mangaId }) {
trackRecords {
...BASE_TRACK_RECORD_FIELDS
}
}
}
`;