From 46c6e7e9252688a5af13a748b90f4ec55ceb3e0f Mon Sep 17 00:00:00 2001 From: n8detar Date: Sun, 17 Apr 2022 16:32:10 -0700 Subject: [PATCH] Use filter API for download queue --- tubearchivist/www/src/lib/getDownloads.ts | 4 ++-- tubearchivist/www/src/pages/download.tsx | 19 ++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/tubearchivist/www/src/lib/getDownloads.ts b/tubearchivist/www/src/lib/getDownloads.ts index 560185d..04dde39 100755 --- a/tubearchivist/www/src/lib/getDownloads.ts +++ b/tubearchivist/www/src/lib/getDownloads.ts @@ -4,8 +4,8 @@ import { getTAUrl } from "./constants"; const TA_BASE_URL = getTAUrl(); -export const getDownloads = async (token: string, ignoredStatus: boolean): Promise => { - const response = await fetch(`${TA_BASE_URL.server}/api/download/?filter=${ignoredStatus ? 'ignore' : 'pending'}`, { +export const getDownloads = async (token: string, filter: boolean): Promise => { + const response = await fetch(`${TA_BASE_URL.server}/api/download/?filter=${filter ? 'ignore' : 'pending'}`, { headers: { Accept: "application/json", "Content-Type": "application/json", diff --git a/tubearchivist/www/src/pages/download.tsx b/tubearchivist/www/src/pages/download.tsx index 2776fe7..dfe87d1 100755 --- a/tubearchivist/www/src/pages/download.tsx +++ b/tubearchivist/www/src/pages/download.tsx @@ -34,7 +34,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => { }; } - await queryClient.prefetchQuery(["downloads", session.ta_token.token], () => + await queryClient.prefetchQuery(["downloads", session.ta_token.token, false], () => getDownloads(session.ta_token.token, false) ); @@ -48,33 +48,38 @@ export const getServerSideProps: GetServerSideProps = async (context) => { const Download: NextPage = () => { const { data: session } = useSession(); + + const [ignoredStatus, setIgnoredStatus] = useState(false); + const [formHidden, setFormHidden] = useState(true); + const { data: downloads, error, isLoading, refetch, } = useQuery( - ["downloads", session.ta_token.token], + ["downloads", session.ta_token.token, ignoredStatus], () => getDownloads(session.ta_token.token, ignoredStatus), { enabled: !!session?.ta_token?.token, - refetchInterval: 1500, - refetchIntervalInBackground: false, + // refetchInterval: 1500, + // refetchIntervalInBackground: false, } ); const [viewStyle, setViewStyle] = useState(downloads?.config?.default_view?.downloads); - const [ignoredStatus, setIgnoredStatus] = useState(false); - const [formHidden, setFormHidden] = useState(true); + const handleSetViewstyle = (selectedViewStyle: ViewStyle) => { setViewStyle(selectedViewStyle); }; - + const handleSetIgnoredStatus = (selectedIgnoredStatus: IgnoredStatus) => { + // ignoredStatus = !ignoredStatus; setIgnoredStatus(selectedIgnoredStatus); refetch(); }; + const handleSetFormHidden = (selectedFormHidden: FormHidden) => { setFormHidden(selectedFormHidden);