Trigger track progress on last page read of chapter (#690)
This commit is contained in:
@@ -227,11 +227,9 @@ export const FULL_TRACKER_FIELDS = gql`
|
|||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const FULL_TRACK_RECORD_FIELDS = gql`
|
export const BASE_TRACK_RECORD_FIELDS = gql`
|
||||||
${FULL_TRACKER_FIELDS}
|
fragment BASE_TRACK_RECORD_FIELDS on TrackRecordType {
|
||||||
fragment FULL_TRACK_RECORD_FIELDS on TrackRecordType {
|
|
||||||
id
|
id
|
||||||
title
|
|
||||||
status
|
status
|
||||||
lastChapterRead
|
lastChapterRead
|
||||||
totalChapters
|
totalChapters
|
||||||
@@ -239,8 +237,24 @@ export const FULL_TRACK_RECORD_FIELDS = gql`
|
|||||||
displayScore
|
displayScore
|
||||||
startDate
|
startDate
|
||||||
finishDate
|
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
|
remoteUrl
|
||||||
remoteId
|
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 {
|
tracker {
|
||||||
...FULL_TRACKER_FIELDS
|
...FULL_TRACKER_FIELDS
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import gql from 'graphql-tag';
|
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`
|
export const DELETE_CHAPTER_METADATA = gql`
|
||||||
mutation DELETE_CHAPTER_METADATA($input: DeleteChapterMetaInput!) {
|
mutation DELETE_CHAPTER_METADATA($input: DeleteChapterMetaInput!) {
|
||||||
@@ -88,6 +88,7 @@ export const SET_CHAPTER_METADATA = gql`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
export const UPDATE_CHAPTER = gql`
|
export const UPDATE_CHAPTER = gql`
|
||||||
|
${BASE_TRACK_RECORD_FIELDS}
|
||||||
mutation UPDATE_CHAPTER(
|
mutation UPDATE_CHAPTER(
|
||||||
$input: UpdateChapterInput!
|
$input: UpdateChapterInput!
|
||||||
$getBookmarked: Boolean!
|
$getBookmarked: Boolean!
|
||||||
@@ -95,6 +96,8 @@ export const UPDATE_CHAPTER = gql`
|
|||||||
$getLastPageRead: Boolean!
|
$getLastPageRead: Boolean!
|
||||||
$chapterIdToDelete: Int!
|
$chapterIdToDelete: Int!
|
||||||
$deleteChapter: Boolean!
|
$deleteChapter: Boolean!
|
||||||
|
$mangaId: Int!
|
||||||
|
$trackProgress: Boolean!
|
||||||
) {
|
) {
|
||||||
updateChapter(input: $input) {
|
updateChapter(input: $input) {
|
||||||
clientMutationId
|
clientMutationId
|
||||||
@@ -134,6 +137,11 @@ export const UPDATE_CHAPTER = gql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
trackProgress(input: { mangaId: $mangaId }) @include(if: $trackProgress) {
|
||||||
|
trackRecords {
|
||||||
|
...BASE_TRACK_RECORD_FIELDS
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import gql from 'graphql-tag';
|
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`
|
export const TRACKER_LOGIN_OAUTH = gql`
|
||||||
mutation TRACKER_LOGIN_OAUTH($input: LoginTrackerOAuthInput!) {
|
mutation TRACKER_LOGIN_OAUTH($input: LoginTrackerOAuthInput!) {
|
||||||
@@ -47,20 +48,11 @@ export const TRACKER_LOGOUT = gql`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
export const TRACKER_BIND = gql`
|
export const TRACKER_BIND = gql`
|
||||||
|
${QUERY_TRACK_RECORD_FIELDS}
|
||||||
mutation TRACKER_BIND($mangaId: Int!, $remoteId: LongString!, $trackerId: Int!) {
|
mutation TRACKER_BIND($mangaId: Int!, $remoteId: LongString!, $trackerId: Int!) {
|
||||||
bindTrack(input: { mangaId: $mangaId, remoteId: $remoteId, trackerId: $trackerId }) {
|
bindTrack(input: { mangaId: $mangaId, remoteId: $remoteId, trackerId: $trackerId }) {
|
||||||
trackRecord {
|
trackRecord {
|
||||||
id
|
...QUERY_TRACK_RECORD_FIELDS
|
||||||
title
|
|
||||||
status
|
|
||||||
lastChapterRead
|
|
||||||
totalChapters
|
|
||||||
score
|
|
||||||
displayScore
|
|
||||||
startDate
|
|
||||||
finishDate
|
|
||||||
remoteUrl
|
|
||||||
remoteId
|
|
||||||
tracker {
|
tracker {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
@@ -98,23 +90,11 @@ export const TRACKER_UNBIND = gql`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
export const TRACKER_UPDATE_BIND = gql`
|
export const TRACKER_UPDATE_BIND = gql`
|
||||||
|
${QUERY_TRACK_RECORD_FIELDS}
|
||||||
mutation TRACKER_UPDATE_BIND($input: UpdateTrackInput!) {
|
mutation TRACKER_UPDATE_BIND($input: UpdateTrackInput!) {
|
||||||
updateTrack(input: $input) {
|
updateTrack(input: $input) {
|
||||||
trackRecord {
|
trackRecord {
|
||||||
id
|
...QUERY_TRACK_RECORD_FIELDS
|
||||||
title
|
|
||||||
status
|
|
||||||
lastChapterRead
|
|
||||||
totalChapters
|
|
||||||
score
|
|
||||||
displayScore
|
|
||||||
startDate
|
|
||||||
finishDate
|
|
||||||
remoteUrl
|
|
||||||
remoteId
|
|
||||||
tracker {
|
|
||||||
id
|
|
||||||
}
|
|
||||||
manga {
|
manga {
|
||||||
id
|
id
|
||||||
trackRecords {
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|||||||
@@ -1887,10 +1887,11 @@ export class RequestManager {
|
|||||||
id: number,
|
id: number,
|
||||||
patch: UpdateChapterPatchInput & {
|
patch: UpdateChapterPatchInput & {
|
||||||
chapterIdToDelete?: number;
|
chapterIdToDelete?: number;
|
||||||
|
trackProgressMangaId?: number;
|
||||||
},
|
},
|
||||||
options?: MutationOptions<UpdateChapterMutation, UpdateChapterMutationVariables>,
|
options?: MutationOptions<UpdateChapterMutation, UpdateChapterMutationVariables>,
|
||||||
): AbortableApolloMutationResponse<UpdateChapterMutation> {
|
): AbortableApolloMutationResponse<UpdateChapterMutation> {
|
||||||
const { chapterIdToDelete = -1, ...updatePatch } = patch;
|
const { chapterIdToDelete = -1, trackProgressMangaId = -1, ...updatePatch } = patch;
|
||||||
|
|
||||||
return this.doRequest<UpdateChapterMutation, UpdateChapterMutationVariables>(
|
return this.doRequest<UpdateChapterMutation, UpdateChapterMutationVariables>(
|
||||||
GQLMethod.MUTATION,
|
GQLMethod.MUTATION,
|
||||||
@@ -1902,6 +1903,8 @@ export class RequestManager {
|
|||||||
getLastPageRead: patch.lastPageRead != null,
|
getLastPageRead: patch.lastPageRead != null,
|
||||||
chapterIdToDelete,
|
chapterIdToDelete,
|
||||||
deleteChapter: chapterIdToDelete >= 0,
|
deleteChapter: chapterIdToDelete >= 0,
|
||||||
|
mangaId: trackProgressMangaId,
|
||||||
|
trackProgress: trackProgressMangaId >= 0,
|
||||||
},
|
},
|
||||||
options,
|
options,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -253,6 +253,7 @@ export function Reader() {
|
|||||||
.updateChapter(chapter.id, {
|
.updateChapter(chapter.id, {
|
||||||
...patch,
|
...patch,
|
||||||
chapterIdToDelete: getChapterIdToDelete(),
|
chapterIdToDelete: getChapterIdToDelete(),
|
||||||
|
trackProgressMangaId: manga.trackRecords.totalCount ? manga.id : undefined,
|
||||||
})
|
})
|
||||||
.response.catch();
|
.response.catch();
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user