Use gql for "sources"
This commit is contained in:
@@ -29,7 +29,6 @@ import {
|
|||||||
IManga,
|
IManga,
|
||||||
IMangaChapter,
|
IMangaChapter,
|
||||||
IncludeInGlobalUpdate,
|
IncludeInGlobalUpdate,
|
||||||
ISource,
|
|
||||||
ISourceFilters,
|
ISourceFilters,
|
||||||
IUpdateStatus,
|
IUpdateStatus,
|
||||||
PaginatedList,
|
PaginatedList,
|
||||||
@@ -51,6 +50,10 @@ import {
|
|||||||
GetExtensionsQueryVariables,
|
GetExtensionsQueryVariables,
|
||||||
GetGlobalMetadatasQuery,
|
GetGlobalMetadatasQuery,
|
||||||
GetGlobalMetadatasQueryVariables,
|
GetGlobalMetadatasQueryVariables,
|
||||||
|
GetSourceQuery,
|
||||||
|
GetSourceQueryVariables,
|
||||||
|
GetSourcesQuery,
|
||||||
|
GetSourcesQueryVariables,
|
||||||
InstallExternalExtensionMutation,
|
InstallExternalExtensionMutation,
|
||||||
InstallExternalExtensionMutationVariables,
|
InstallExternalExtensionMutationVariables,
|
||||||
SetGlobalMetadataMutation,
|
SetGlobalMetadataMutation,
|
||||||
@@ -68,6 +71,7 @@ import {
|
|||||||
INSTALL_EXTERNAL_EXTENSION,
|
INSTALL_EXTERNAL_EXTENSION,
|
||||||
UPDATE_EXTENSION,
|
UPDATE_EXTENSION,
|
||||||
} from '@/lib/graphql/mutations/ExtensionMutation.ts';
|
} from '@/lib/graphql/mutations/ExtensionMutation.ts';
|
||||||
|
import { GET_SOURCE, GET_SOURCES } from '@/lib/graphql/queries/SourceQuery.ts';
|
||||||
|
|
||||||
enum SWRHttpMethod {
|
enum SWRHttpMethod {
|
||||||
SWR_GET,
|
SWR_GET,
|
||||||
@@ -513,12 +517,17 @@ export class RequestManager {
|
|||||||
return this.getValidImgUrlFor(`extension/icon/${extension}`);
|
return this.getValidImgUrlFor(`extension/icon/${extension}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
public useGetSourceList(swrOptions?: SWROptions<ISource[]>): AbortableSWRResponse<ISource[]> {
|
public useGetSourceList(
|
||||||
return this.doRequest(HttpMethod.SWR_GET, 'source/list', { swrOptions });
|
options?: QueryHookOptions<GetSourcesQuery, GetSourcesQueryVariables>,
|
||||||
|
): AbortableApolloUseQueryResponse<GetSourcesQuery, GetSourcesQueryVariables> {
|
||||||
|
return this.doRequestNew(GQLMethod.USE_QUERY, GET_SOURCES, {}, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public useGetSource(sourceId: string, swrOptions?: SWROptions<ISource>): AbortableSWRResponse<ISource> {
|
public useGetSource(
|
||||||
return this.doRequest(HttpMethod.SWR_GET, `source/${sourceId}`, { swrOptions });
|
id: string,
|
||||||
|
options?: QueryHookOptions<GetSourceQuery, GetSourceQueryVariables>,
|
||||||
|
): AbortableApolloUseQueryResponse<GetSourceQuery, GetSourceQueryVariables> {
|
||||||
|
return this.doRequestNew(GQLMethod.USE_QUERY, GET_SOURCE, { id }, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public useGetSourcePopularMangas(
|
public useGetSourcePopularMangas(
|
||||||
|
|||||||
@@ -169,7 +169,8 @@ const SearchAll: React.FC = () => {
|
|||||||
const [shownLangs, setShownLangs] = useLocalStorage<string[]>('shownSourceLangs', sourceDefualtLangs());
|
const [shownLangs, setShownLangs] = useLocalStorage<string[]>('shownSourceLangs', sourceDefualtLangs());
|
||||||
const [showNsfw] = useLocalStorage<boolean>('showNsfw', true);
|
const [showNsfw] = useLocalStorage<boolean>('showNsfw', true);
|
||||||
|
|
||||||
const { data: sources = [] } = requestManager.useGetSourceList();
|
const { data } = requestManager.useGetSourceList();
|
||||||
|
const sources = data?.sources.nodes ?? [];
|
||||||
const [sourceToLoadingStateMap, setSourceToLoadingStateMap] = useState<SourceToLoadingStateMap>(new Map());
|
const [sourceToLoadingStateMap, setSourceToLoadingStateMap] = useState<SourceToLoadingStateMap>(new Map());
|
||||||
const debouncedSourceToLoadingStateMap = useDebounce(sourceToLoadingStateMap, 500);
|
const debouncedSourceToLoadingStateMap = useDebounce(sourceToLoadingStateMap, 500);
|
||||||
|
|
||||||
|
|||||||
@@ -188,7 +188,8 @@ export default function SourceMangas() {
|
|||||||
abortRequest,
|
abortRequest,
|
||||||
} = useSourceManga(sourceId, contentType, searchTerm, filtersToApply, isLargeScreen ? 2 : 1);
|
} = useSourceManga(sourceId, contentType, searchTerm, filtersToApply, isLargeScreen ? 2 : 1);
|
||||||
const { data: filters = [], mutate: mutateFilters } = requestManager.useGetSourceFilters(sourceId);
|
const { data: filters = [], mutate: mutateFilters } = requestManager.useGetSourceFilters(sourceId);
|
||||||
const { data: source } = requestManager.useGetSource(sourceId);
|
const { data } = requestManager.useGetSource(sourceId);
|
||||||
|
const source = data?.source;
|
||||||
const [triggerDataRefresh, setTriggerDataRefresh] = useState(false);
|
const [triggerDataRefresh, setTriggerDataRefresh] = useState(false);
|
||||||
|
|
||||||
const message = !isLoading ? t(SOURCE_CONTENT_TYPE_TO_ERROR_MSG_KEY[contentType]) : undefined;
|
const message = !isLoading ? t(SOURCE_CONTENT_TYPE_TO_ERROR_MSG_KEY[contentType]) : undefined;
|
||||||
|
|||||||
@@ -53,7 +53,8 @@ export default function Sources() {
|
|||||||
const [shownLangs, setShownLangs] = useLocalStorage<string[]>('shownSourceLangs', sourceDefualtLangs());
|
const [shownLangs, setShownLangs] = useLocalStorage<string[]>('shownSourceLangs', sourceDefualtLangs());
|
||||||
const [showNsfw] = useLocalStorage<boolean>('showNsfw', true);
|
const [showNsfw] = useLocalStorage<boolean>('showNsfw', true);
|
||||||
|
|
||||||
const { data: sources, isLoading } = requestManager.useGetSourceList();
|
const { data, loading: isLoading } = requestManager.useGetSourceList();
|
||||||
|
const sources = data?.sources.nodes;
|
||||||
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user