From 7cce65eda94e94221835b15a125fd12cc2e73cb7 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 10 Jun 2024 18:15:10 +0800 Subject: [PATCH] Update SWR usage, move highlights temporarily --- packages/web/lib/networking/networkHelpers.ts | 6 ++-- .../useGetArticleOriginalHtmlQuery.tsx | 3 +- .../networking/queries/useGetArticleQuery.tsx | 5 +-- .../queries/useGetArticleSavingStatus.tsx | 2 +- .../queries/useGetDiscoverFeeds.tsx | 31 ++++++++++--------- .../web/lib/networking/queries/useGetHome.tsx | 3 +- .../queries/useGetIntegrationQuery.tsx | 8 +++-- .../queries/useGetSubscriptionsQuery.tsx | 3 +- .../networking/queries/useGetWebhookQuery.tsx | 7 +++-- .../{highlights => highlightsbak}/index.tsx | 0 10 files changed, 41 insertions(+), 27 deletions(-) rename packages/web/pages/{highlights => highlightsbak}/index.tsx (100%) diff --git a/packages/web/lib/networking/networkHelpers.ts b/packages/web/lib/networking/networkHelpers.ts index d8b290073..461e4f4b7 100644 --- a/packages/web/lib/networking/networkHelpers.ts +++ b/packages/web/lib/networking/networkHelpers.ts @@ -54,6 +54,8 @@ export function gqlFetcher( credentials: 'include', mode: 'cors', }) + graphQLClient.request(query, variables, requestHeaders()).then((result) => {}) + return graphQLClient.request(query, variables, requestHeaders()) } @@ -64,7 +66,6 @@ export function apiFetcher(path: string): Promise { credentials: 'include', mode: 'cors', }).then((result) => { - console.log('api fetcher result: ', result) return result.json() }) } @@ -96,9 +97,10 @@ export function makePublicGqlFetcher( // Partially apply gql variables to the request // This avoids using an object for the swr cache key export function makeGqlFetcher( + gql: string, variables?: unknown ): (query: string) => Promise { - return (query: string) => gqlFetcher(query, variables, true) + return (query: string) => gqlFetcher(gql, variables, true) } export function ssrFetcher( diff --git a/packages/web/lib/networking/queries/useGetArticleOriginalHtmlQuery.tsx b/packages/web/lib/networking/queries/useGetArticleOriginalHtmlQuery.tsx index edee9e662..94870fd94 100644 --- a/packages/web/lib/networking/queries/useGetArticleOriginalHtmlQuery.tsx +++ b/packages/web/lib/networking/queries/useGetArticleOriginalHtmlQuery.tsx @@ -49,7 +49,8 @@ export function useGetArticleOriginalHtmlQuery({ const { data } = useSWRImmutable( slug ? [query, username, slug] : null, - makeGqlFetcher(variables) + makeGqlFetcher(query, variables), + {} ) const resultData: ArticleData | undefined = data as ArticleData diff --git a/packages/web/lib/networking/queries/useGetArticleQuery.tsx b/packages/web/lib/networking/queries/useGetArticleQuery.tsx index f62cc3530..282cff9e1 100644 --- a/packages/web/lib/networking/queries/useGetArticleQuery.tsx +++ b/packages/web/lib/networking/queries/useGetArticleQuery.tsx @@ -7,7 +7,7 @@ import { State, } from '../fragments/articleFragment' import { Highlight, highlightFragment } from '../fragments/highlightFragment' -import { ScopedMutator } from 'swr/dist/types' +import { ScopedMutator } from 'swr/dist/_internal' import { Label, labelFragment } from '../fragments/labelFragment' import { LibraryItems, @@ -116,7 +116,8 @@ export function useGetArticleQuery({ const { data, error, mutate } = useSWR( slug ? [query, username, slug, includeFriendsHighlights] : null, - makeGqlFetcher(variables) + makeGqlFetcher(query, variables), + {} ) let resultData: ArticleData | undefined = data as ArticleData diff --git a/packages/web/lib/networking/queries/useGetArticleSavingStatus.tsx b/packages/web/lib/networking/queries/useGetArticleSavingStatus.tsx index f75101914..8a87f10ac 100644 --- a/packages/web/lib/networking/queries/useGetArticleSavingStatus.tsx +++ b/packages/web/lib/networking/queries/useGetArticleSavingStatus.tsx @@ -87,7 +87,7 @@ export function useGetArticleSavingStatus({ ` const key = id ? [query, id] : [query, url] // poll twice a second - const { data, error } = useSWR(key, makeGqlFetcher({ id, url }), { + const { data, error } = useSWR(key, makeGqlFetcher(query, { id, url }), { refreshInterval: 500, }) diff --git a/packages/web/lib/networking/queries/useGetDiscoverFeeds.tsx b/packages/web/lib/networking/queries/useGetDiscoverFeeds.tsx index 517de97e6..3423847b3 100644 --- a/packages/web/lib/networking/queries/useGetDiscoverFeeds.tsx +++ b/packages/web/lib/networking/queries/useGetDiscoverFeeds.tsx @@ -1,6 +1,6 @@ -import { gql } from "graphql-request" -import useSWR from "swr" -import { makeGqlFetcher } from "../networkHelpers" +import { gql } from 'graphql-request' +import useSWR from 'swr' +import { makeGqlFetcher } from '../networkHelpers' type DiscoverFeedsQueryResponse = { error: any @@ -15,9 +15,9 @@ export type DiscoverFeed = { visibleName: string title: string link: string - description?: string, - image? : string, - type: "rss" | "atom" + description?: string + image?: string + type: 'rss' | 'atom' } export function useGetDiscoverFeeds(): DiscoverFeedsQueryResponse { @@ -26,16 +26,16 @@ export function useGetDiscoverFeeds(): DiscoverFeedsQueryResponse { discoverFeeds { ... on DiscoverFeedSuccess { feeds { - visibleName, - id, - title, - link, - description, - image, + visibleName + id + title + link + description + image type } } - ... on DiscoverFeedError{ + ... on DiscoverFeedError { errorCodes } } @@ -44,12 +44,13 @@ export function useGetDiscoverFeeds(): DiscoverFeedsQueryResponse { const { data, error, mutate, isValidating } = useSWR( [query], - makeGqlFetcher() + makeGqlFetcher(query), + {} ) try { if (data) { - const result = data as { discoverFeeds: { feeds: DiscoverFeed[] }} + const result = data as { discoverFeeds: { feeds: DiscoverFeed[] } } const feeds = result.discoverFeeds.feeds as DiscoverFeed[] return { error, diff --git a/packages/web/lib/networking/queries/useGetHome.tsx b/packages/web/lib/networking/queries/useGetHome.tsx index 05f0bf51e..1c4d32839 100644 --- a/packages/web/lib/networking/queries/useGetHome.tsx +++ b/packages/web/lib/networking/queries/useGetHome.tsx @@ -134,7 +134,8 @@ export function useGetHomeItems(): HomeItemResponse { const { data, error, isValidating, mutate } = useSWR( [query, variables.first, variables.after], - makeGqlFetcher(variables) + makeGqlFetcher(query, variables), + {} ) if (error) { diff --git a/packages/web/lib/networking/queries/useGetIntegrationQuery.tsx b/packages/web/lib/networking/queries/useGetIntegrationQuery.tsx index e1a8f2e7e..07cfc0c7c 100644 --- a/packages/web/lib/networking/queries/useGetIntegrationQuery.tsx +++ b/packages/web/lib/networking/queries/useGetIntegrationQuery.tsx @@ -40,7 +40,11 @@ export function useGetIntegrationQuery(name: string): IntegrationQueryResponse { } ` - const { data, mutate, isValidating } = useSWR(query, makeGqlFetcher({ name })) + const { data, mutate, isValidating } = useSWR( + query, + makeGqlFetcher(query, { name }), + {} + ) if (!data) { return { isValidating, @@ -50,7 +54,7 @@ export function useGetIntegrationQuery(name: string): IntegrationQueryResponse { }, } } - + const result = data as IntegrationQueryResponseData const error = result.integration.errorCodes?.find(() => true) if (error) { diff --git a/packages/web/lib/networking/queries/useGetSubscriptionsQuery.tsx b/packages/web/lib/networking/queries/useGetSubscriptionsQuery.tsx index 58ec302dd..d4afc71aa 100644 --- a/packages/web/lib/networking/queries/useGetSubscriptionsQuery.tsx +++ b/packages/web/lib/networking/queries/useGetSubscriptionsQuery.tsx @@ -93,7 +93,8 @@ export function useGetSubscriptionsQuery( } const { data, error, mutate, isValidating } = useSWR( [query, variables], - makeGqlFetcher(variables) + makeGqlFetcher(query, variables), + {} ) try { diff --git a/packages/web/lib/networking/queries/useGetWebhookQuery.tsx b/packages/web/lib/networking/queries/useGetWebhookQuery.tsx index e5e05a6d2..bdd29d4c6 100644 --- a/packages/web/lib/networking/queries/useGetWebhookQuery.tsx +++ b/packages/web/lib/networking/queries/useGetWebhookQuery.tsx @@ -40,8 +40,11 @@ export function useGetWebhookQuery(id: string): WebhookQueryResponse { } ` - const { data, mutate, isValidating } = useSWR(query, makeGqlFetcher({ id })) - console.log('webhook data', data) + const { data, mutate, isValidating } = useSWR( + query, + makeGqlFetcher(query, { id }), + {} + ) try { if (data) { diff --git a/packages/web/pages/highlights/index.tsx b/packages/web/pages/highlightsbak/index.tsx similarity index 100% rename from packages/web/pages/highlights/index.tsx rename to packages/web/pages/highlightsbak/index.tsx