about summary refs log tree commit diff
path: root/src/state/queries/starter-packs.ts
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-06-27 21:44:26 -0700
committerGitHub <noreply@github.com>2024-06-27 21:44:26 -0700
commit8ebf9cc4b10a620d7698c1b0d0b316729c02dc13 (patch)
tree29a0b7488e5f8a52ca8945885fe1f65ee2bf651b /src/state/queries/starter-packs.ts
parent91c4aa7c2dc598dd5e2c828e44c0d2c94cf0967d (diff)
downloadvoidsky-8ebf9cc4b10a620d7698c1b0d0b316729c02dc13.tar.zst
Handle pushing to starterpack screen when unauthed (#4692)
Diffstat (limited to 'src/state/queries/starter-packs.ts')
-rw-r--r--src/state/queries/starter-packs.ts20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/state/queries/starter-packs.ts b/src/state/queries/starter-packs.ts
index c279b6dc4..f441a8ed2 100644
--- a/src/state/queries/starter-packs.ts
+++ b/src/state/queries/starter-packs.ts
@@ -25,13 +25,22 @@ import {
   parseStarterPackUri,
 } from 'lib/strings/starter-pack'
 import {invalidateActorStarterPacksQuery} from 'state/queries/actor-starter-packs'
+import {STALE} from 'state/queries/index'
 import {invalidateListMembersQuery} from 'state/queries/list-members'
 import {useAgent} from 'state/session'
 
 const RQKEY_ROOT = 'starter-pack'
-const RQKEY = (did?: string, rkey?: string) => {
-  if (did?.startsWith('https://') || did?.startsWith('at://')) {
-    const parsed = parseStarterPackUri(did)
+const RQKEY = ({
+  uri,
+  did,
+  rkey,
+}: {
+  uri?: string
+  did?: string
+  rkey?: string
+}) => {
+  if (uri?.startsWith('https://') || uri?.startsWith('at://')) {
+    const parsed = parseStarterPackUri(uri)
     return [RQKEY_ROOT, parsed?.name, parsed?.rkey]
   } else {
     return [RQKEY_ROOT, did, rkey]
@@ -50,7 +59,7 @@ export function useStarterPackQuery({
   const agent = useAgent()
 
   return useQuery<StarterPackView>({
-    queryKey: RQKEY(did, rkey),
+    queryKey: RQKEY(uri ? {uri} : {did, rkey}),
     queryFn: async () => {
       if (!uri) {
         uri = `at://${did}/app.bsky.graph.starterpack/${rkey}`
@@ -64,6 +73,7 @@ export function useStarterPackQuery({
       return res.data.starterPack
     },
     enabled: Boolean(uri) || Boolean(did && rkey),
+    staleTime: STALE.MINUTES.FIVE,
   })
 }
 
@@ -76,7 +86,7 @@ export async function invalidateStarterPack({
   did: string
   rkey: string
 }) {
-  await queryClient.invalidateQueries({queryKey: RQKEY(did, rkey)})
+  await queryClient.invalidateQueries({queryKey: RQKEY({did, rkey})})
 }
 
 interface UseCreateStarterPackMutationParams {