File size: 805 Bytes
5240c42
81969cf
5240c42
 
 
0891679
81969cf
 
 
 
 
 
 
 
0891679
81969cf
5240c42
 
 
848e268
 
5240c42
848e268
5240c42
 
81969cf
 
 
 
 
5240c42
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { useMemo, useState } from "react"
import { useQuery, useQueryClient } from "@tanstack/react-query"

import { Collection } from "@/utils/type"

export const useCollection = (id?: string) => {
  const { data: open } = useQuery(["modal"], () => {
    return null
  }, {
    refetchOnWindowFocus: false,
    refetchOnMount: false,
    refetchOnReconnect: false,
    initialData: null
  })
  const setOpen = (id: string | null) => client.setQueryData(["modal"], () => id)

  const client = useQueryClient()

  const collection = useMemo(() => {
    const collections = client.getQueryData<Collection>(["collections"])
    if (!collections?.images) return null

    return collections?.images?.find((collection) => collection.id === id)
  }, [id])

  return {
    collection,
    open,
    setOpen
  }
}